@charset "UTF-8";
/* =======================================

    style_seo.css

========================================== */

/* common
========================================== */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display:block;
}
/* change colours to suit your needs */
mark {
  background-color:#ff9;
  color:#000;
  font-style:italic;
   font-weight:bold;
}
table {
  border-collapse:collapse;
  border-spacing:0;
}
input, select {
  vertical-align:middle;
}
html,body {
	width: 100%;
    margin: 0;
}
html {
  visibility:hidden;
}
html.wf-active {
  visibility:visible;
}
body {
	overflow-x: hidden;
	line-height: 1;
	font-family: "Noto Sans JP", sans-serif;
}
main,img,p,div,ul,li,a,p,dl,dt,dd {
    box-sizing: border-box;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #000;
}
body#cooria main {
    font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;	
	font-style: normal;
    color: #5C5A5B;
    padding-bottom: 0;
    font-size: 16px;
}
main {
    color: #424242;
    /* padding-bottom: 100px; */
}
main strong {
    font-weight: normal;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
h1 {
    margin: 0;
    font-size: 15px;
    text-align: center;
    color: white;
    padding: 0.5em;
    display: block;
    background: #002251;
}
img,h1,h2,h3,p,li,a,span {
    transition: all .6s;
}
a:hover {
    opacity: 0.8;
}
section {
	padding-left: 0;
	padding-right: 0;
    padding-bottom: 4em;
    position: relative;
}
section img {
  opacity: 0;
  -webkit-transition: opacity 3s;
  transition: opacity 3s;
}
section img.lazyloaded {
  opacity: 1;
}
p {
    font-size: clamp(15px, calc(0.1333vw + 14.4800px), 16px);
	margin-block-start: 0;
    margin-block-end: 0;
	font-weight: 500;
}
.inner {
    max-width: 1140px;
    margin: 0 auto;
    position: relative;
}
.flex {
    display: flex;
}
figure, picture {
    display: table;
}
figure img, picture img {
    max-width: 100%;
}
h2 strong {
    color: #00ADA9;
}
ul,li {
	list-style: none;
}

/* cvbtn
========================================== */

.cvbtn {
    display: table;
    margin: 0 auto;
    background: linear-gradient(95deg, #00ADA9, #1385DD, #9526DE);
    border-radius: 3em;
	transition: all 0.8s;
	position: relative;
    left: 1em;
}
.cvbtn:hover {
	background: linear-gradient(95deg, #9526DE, #1385DD, #00ADA9);	
}
.cvbtn a:hover {
	opacity: 1;
}
.cvbtn a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: clamp(22px, calc(0.2479vw + 21.0331px), 25px);
	color: white;
	text-align: center;
	line-height: 1;
	text-decoration: none;
    padding: 1em 2em;	
}
.cvbtn a:after {
	content: "";
	width: 34px;
	height: 100%;
	aspect-ratio: 17 / 9;
	margin-left: 0.5em;
	position: relative;
	left: 0;
	transition: all 0.25s;
	background: url("../images/cvbtn_arrow.png") center / contain no-repeat;
}
.cvbtn a:hover:after {
	left: 0.5em;
}
.cvbtn a span {
    border: 1px solid;
    font-size: 80%;
    padding: 0.25em;
    margin-right: 0.35em;
}

/* fv
========================================== */

.fv {
	width: 100%;
	padding: 4em 2% 4em 2%;
	margin: 0 0 0 0;
	background: #FAFCF4 url("../images/fv_bg.webp") center / cover no-repeat;
}
.fv .catch {
	max-width: 1600px;
	margin: 0 auto;
	justify-content: center;
	align-items: flex-start;
}
.fv figure {
    margin: 0 0 2.5em 0;
}

/* title
========================================== */

section .title {
	text-align: center;
	margin: 0 auto 1.5em auto;
}
section .title span {
	font-size: clamp(16px, calc(0.5333vw + 13.9200px), 20px);
    line-height: 1;
}
section .title h2 {
	font-size: clamp(26px, calc(2.1333vw + 17.6800px), 42px);
	line-height: 1.5;
	margin: 0.15em 0 1em 0;
}
section .title p {
    margin: 0 auto 3.5em auto;
}

/* about
========================================== */

section.about {
    position: relative;
}
section.about .inner {
    padding-top: 4em;
}
section.about picture {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}
section.about p {
	text-align: center;
	margin: 2em auto 0 auto;
}

/* problem
========================================== */

section.problem {
	background: #C6E5E6;
	padding-top: 4em;
}
section.problem picture {
	margin: 0 auto 2em auto;
}
section.problem ul li {
    margin-bottom: 4em;
}
section.problem ul li:last-child {
	margin-bottom: 0;
}

/* reason
========================================== */

section.reason {
	background: url(../images/reason_bg.webp) center / cover no-repeat;
	padding-top: 4em;
}
section.reason .title h2 {
    margin: 0.15em 0 0.5em 0;
}
section.reason ul {
    margin-bottom: 3em;
}
section.reason ul li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 5em;
	background: #EBDA63;
	padding: 2em;
	position: relative;
}
section.reason ul li:last-child {
	margin-bottom: 0;
}
section.reason ul li dl {
    width: 70%;
}
section.reason ul li dt {
	padding-bottom: 1em;
	margin-bottom: 1em;
	font-size: clamp(18px, calc(0.6667vw + 15.4000px), 23px);
	font-weight: 600;
	font-feature-settings: "palt";
	border-bottom: 6px solid rgba(256, 256, 256, 0.6);
}
section.reason ul li dd {
	font-size: clamp(15px, calc(0.1333vw + 14.4800px), 16px);
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.08em;
}
section.reason ul li p.num {
	color: white;
	text-align: center;
	background: linear-gradient(95deg, #00ADA9, #1385DD, #9526DE);
	line-height: 1;
	padding: 0.5em 1em;
	position: absolute;
	left: 1em;
	top: -1em;
	font-size: clamp(14px, calc(0.2667vw + 12.9600px), 16px);
	font-weight: 500;
}
section.reason ul li picture {
	flex-shrink: 0;
}

/* service
========================================== */

section.service {
	padding-top: 4em;
	background: #1C6B9F url(../images/service_bg.webp) center / 100% auto no-repeat;
}
section.service .title,
section.price .title {
    color: white;
}
section.service ul {
    margin-bottom: 3.5em;
	margin-left: 3em;	
}
section.service ul.first {
    margin-bottom: 1em;
}
section.service ul li,
section.service p.lead {
	color: white;
	font-weight: 500;
	font-size: clamp(16px, calc(0.5333vw + 13.9200px), 20px);
}
section.service ul li {	
	line-height: 2.35;
	list-style-type: disc;
	padding-right: 2em;
}
section.service ul li:first-letter {
	color: #DECD53;
}
section.service p.lead {
	margin-bottom: 1em;
}
section.service h3,
section.service h3 span {
	font-weight: 700;
	color: #2675AA;
}
section.service h3 {
	display: block;
	background: rgba(254, 254, 254, 0.85);
	border-bottom: 7px solid #C1B248;
	padding: 0.5em 1.5em;
	margin-bottom: 1.5em;
	font-feature-settings: "palt";
	line-height: 1.5;
	font-size: clamp(18px, calc(1.0667vw + 13.8400px), 26px);
}
section.service h3 span {
	font-size: clamp(13px, calc(0.3371vw + 11.6854px), 16px);
}
section.service .white-grayline {
	border: 6px solid #D8D8D8;
	background: white;
	padding: 2em;
    margin: 0 auto 4em auto;
}
section.service .white-grayline .flex {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
section.service .white-grayline .text {
    color: #565656;
}
section.service .white-grayline figure {
	position: absolute;
    top: -6em;
    right: -1em;
	z-index: 1;
	color: #565656;
}
section.service .white-grayline h4 {
	font-size: clamp(26px, calc(1.2360vw + 21.1798px), 37px);
    line-height: 1;
    margin-bottom: 0.55em;
}
section.service .white-grayline h5 {
	font-size: clamp(18px, calc(0.8989vw + 14.4944px), 26px);
	margin-bottom: 1em;
	line-height: 1.5;
}
section.service .white-grayline p {
	font-weight: 500;
	line-height: 1.5;
	font-size: clamp(16px, calc(0.5333vw + 13.9200px), 20px);
}
section.service .white-grayline p:first-of-type {
	margin-bottom: 1.25em;
}
section.service .btns {
	display: flex;
	justify-content: center;
    margin: 2em auto 0 auto;
}
section.service .btns a {
	display: table;
	line-height: 1;
	font-size: 20px;
	text-align: center;
	font-weight: 600;
	padding: 0.55em 2.5em 0.55em 2em;
	border-radius: 2em;
	position: relative;
	margin: 0 0.5em;
	text-decoration: none;
}
section.service .btns a::before,
section.service .btns a:after {
    content: "";
    position: absolute;
    top: calc(50% - 2px);
    right: 0.5em;
    width: 14px;
    height: 2px;
    border-radius: 9999px;
    transform-origin: calc(100% - 2px) 50%;
}
section.service .btns a::before {
	transform: rotate(54deg);
}
section.service .btns a:after {
	transform: rotate(-54deg);
}
section.service .btns a:first-of-type {
	color: #D9AC38;
	background: white;
	border: 4px solid #D9AC38;
}
section.service .btns a:first-of-type::before,
section.service .btns a:first-of-type::after {
	background: #D9AC38;
}
section.service .btns a:last-of-type {
	color: white;
	background: #D9AC38;
	border: 4px solid white;
}
section.service .btns a:last-of-type::before,
section.service .btns a:last-of-type::after {
	background: white;
}
section.service .note {
	font-size: clamp(13px, calc(0.1124vw + 12.5618px), 14px);
	color: white;
    margin: 0 auto 5em auto;
    width: 95%;
}
section.service span.small {
    font-size: clamp(18px, calc(1.0667vw + 13.8400px), 26px);
	margin-left: 1em;
}

/* flow
========================================== */

section.flow {
	padding-top: 4em;
	background: url(../images/flow_bg.webp) center / cover no-repeat;
	z-index: -1;
}
section.flow ul {
	margin-bottom: 4em;
}
section.flow ul:last-of-type {
	margin-bottom: 0;
}
section.flow ul li {
    background: #38D1CD;
    padding: 2em;
    position: relative;
    margin-bottom: 55px;
}
section.flow ul li p.step {
	padding: 0.5em 2em 0.5em 1em;
	background: url(../images/flow_step.png) center / cover no-repeat;
	color: white;
	line-height: 1;
	position: absolute;
	left: 1em;
	top: -1em;
	font-weight: 600;
	font-size: clamp(14px, calc(0.5333vw + 11.9200px), 18px);
}
section.flow dt {
	display: table;
	padding-bottom: 0.5em;
	margin: 0 auto 1em auto;
	text-align: center;
	line-height: 1.5;
	color: white;
	font-weight: 600;
	font-size: clamp(18px, calc(0.2667vw + 16.9600px), 20px);
	border-bottom: 6px solid rgba(256, 256, 256, 0.36);
}
section.flow dd {
	font-size: clamp(15px, calc(0.1333vw + 14.4800px), 16px);
	font-weight: 500;
}
section.flow ul li:before {
    content: '';
    position: absolute;
    top: 15px;
    left: 15px;
    width: 100%;
    height: 100%;
    background: repeating-linear-gradient(
        120deg,
        rgba(194, 217, 224, 1),
        rgb(194, 217, 224, 1) 1px,
        rgba(255, 255, 255, 0) 2px,
        rgba(255, 255, 255, 0) 4px
    );
	z-index: -1;
}
section.flow li:after {
    content: "";
    display: table;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 24px 30px 0 30px;
    border-color: #036E75 transparent transparent transparent;
    position: absolute;
    transform: translate(-50%, 0px);
    -webkit-transform: translate(-50%, 0px);
    -ms-transform: translate(-50%, 0px);
    left: 50%;
    right: 0;
	bottom: -40px;
}
section.flow li:last-child:after {
	content: none;
}

/* price
========================================== */

section.price {
	padding-top: 4em;
	background: #0A98C5;
}
section.price ul {
    margin-bottom: 3em;
}
section.price ul li {
	background: white;
	background-image: linear-gradient(123deg, rgba(255, 255, 255, 1) 50%, rgba(244, 244, 244, 1) 50%);
	padding: 1.5em;
	position: relative;
	margin-bottom: 3em;
}
section.price ul li ul {
	display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto;
}
section.price ul li ul li {
    margin-bottom: 0.5em;
    padding: 1em;
    width: 100%;
    border-radius: 10px;
    position: relative;
    width: calc(100% / 3 - 10px);
    height: 6em;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 5px 10px 5px;
}
section.price ul li ul li:nth-child(odd) {
	background: #003A8B;
}
section.price ul li ul li:nth-child(even) {
	background: #1250A7;
}
section.price ul li ul li:last-child {
}
section.price h3 {
	font-size: clamp(20px, calc(0.6667vw + 17.4000px), 25px);
	color: #003A8B;
	font-weight: 700;
	text-align: center;
	margin: 0 auto 0.8em;
	line-height: 1.35;
	font-feature-settings: "palt";
}
section.price ul li:first-child ul {
    justify-content: center;
}
section.price ul li ul li p {
	color: white;
	font-weight: 500;
	text-align: center;
    line-height: 1.5;
	font-size: clamp(16px, calc(0.2667vw + 14.9600px), 18px);
}
section.price p.price {
    position: absolute;
    bottom: 1em;
    transform: translate(-50%, 0px);
    -webkit-transform: translate(-50%, 0px);
    -ms-transform: translate(-50%, 0px);
    left: 50%;
    right: 0;
    width: 100%;
    text-align: center;
	font-weight: 700;
    color: #de5346;
	padding: 0 1em;
    line-height: 1.5;
}
section.price p.price span {
    background: #de5346;
    padding: 0.15em 1em;
    border-radius: 5px;
    margin-right: 0.5em;
    color: white;
    letter-spacing: 0;
}
section.price .border {
	display: none;
}
section.price ul li:first-child span.small.one {
    font-size: 70%;
}
section.price ul li span.small {
    margin-left: 1em;
}
section.price ul li:first-child span.small {
    margin-left: 0;
}

/* faq
========================================== */

section.faq {
	padding-top: 4em;
	background: white;
}
section.faq dl {
	margin-bottom: 2em;
}
section.faq dl:last-of-type {
	margin-bottom: 0;
}
section.faq dt {
	background: #00ADA9;
	border-bottom: 7px solid #FBD150;
	padding: 1.5em 2em;
	display: flex;
	align-items: center;
}
section.faq dt div {
    flex-shrink: 0;
}
section.faq dt h3 {
	color: white;
	line-height: 1;
	font-weight: 600;
	font-size: clamp(18px, calc(0.5333vw + 15.9200px), 22px);
}
section.faq dt p {
    color: white;
    font-weight: 600;
    text-align: center;
    border-radius: 2em;
    background: linear-gradient(95deg, #00ADA9, #1385DD, #9526DE);
    padding: 0 0.8em 0.25em 0.8em;
    margin-right: 0.5em;
    line-height: 1.25;
    display: flex;
    align-items: center;
    justify-content: center;
	font-size: 22px;
}
section.faq dd {
	padding: 2em;	
	background: #EFEFEF;
}
section.faq dd p {
	font-size: clamp(15px, calc(0.1333vw + 14.4800px), 16px);
	font-weight: 500;
	line-height: 2;
}

/* footer
========================================== */

footer {
	background: #082854 url(../images/footer_bg.webp) center / cover no-repeat;
	padding-top: 4em;
	padding-bottom: 4em;
}
footer nav ul li,
footer nav ul li a,
footer .comprof dt,
footer .comprof dd,
footer .copyright {
	color: white;
}
footer nav ul {
	display: flex;
	justify-content: center;
	margin: 0 auto 2em auto;
}
footer nav ul li {
	line-height: 1;
}
footer nav ul li a,
.floating a {
	text-decoration: none;
}
footer nav ul li a:hover {
	text-decoration: underline;
}
footer nav ul li:after {
	content: "│";
	padding: 0 0.5em;
}
footer nav ul li:last-child:after {
	content: none;
}
footer .comprof {
	border-top: 1px solid rgba(244,244,244, 0.28);
	border-bottom: 1px solid rgba(244,244,244, 0.28);
	padding: 1.5em 0;	
	display: table;
	margin: 0 auto 3em auto;
}
footer .comp-wrap {
	display: flex;
	justify-content: space-between;
    align-items: center;
}
footer .comprof dl {
	padding-left: 2em;
}
footer .comprof dt {
	font-weight: 600;
	font-size: clamp(15px, calc(0.4000vw + 13.4400px), 18px);
	margin-bottom: 0.5em;
}
footer .comprof dt a {
	color: white;
	text-decoration: none;
}
footer .comprof dt a:hover {
	text-decoration: underline;
}
footer .comprof dd {
	font-weight: 500;
	font-size: clamp(13px, calc(0.1333vw + 12.4800px), 14px);
}
footer .copyright {
	font-size: 12px;
	text-align: center;
}
footer .comp-wrap picture {
    width: 188px;
	display: flex;
    align-items: center;
}

/* floating
========================================== */

.floating {
  aspect-ratio: 1 / 1;
  width: 220px;
  background: linear-gradient(180deg, #DC0000 0%, #DD7813 50%, #DE2682 100%);
  border-radius: 50%;
}
.floating a {
	display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-align: center;
    flex-direction: column;
}
.floating.fixed {
    position: fixed;
    bottom: 5%;
    right: 2%;
    z-index: 10;
    animation: slidedown .3s forwards;
	display: flex;
    justify-content: center;
}
.floating.fixed:hover {
  animation: scale .3s forwards,slidedown none;
}
.floating.fixed a::after {
  transform: rotate(90deg);
  margin: 15px 0 0 0;
}
.floating.fixed a:hover {
	opacity: 1;
}
.floating p {
	font-weight: 700;
	color: white;
	line-height: 1.5;
}
.floating p:first-of-type {
	font-size: clamp(20px, calc(2.6667vw + 9.6000px), 40px);
}
.floating p:last-of-type {
	font-size: clamp(14px, calc(0.8000vw + 10.8800px), 20px);
}
@keyframes scale {
  0% { transform: scale(1) translateY(0); }
  100% { transform: scale(1.1) translateY(0); }
}
@keyframes slidedown {
  0% { transform: scale(1) translateY(100%); }
  100% { transform: scale(1) translateY(0); }
}

/* ====================================== */
/* media query */

@media screen and (max-width : 64em) {
	
	/* fv */
	.fv {
		max-width: 100%;
	}
	.fv figure {
		margin: 0 0 1.5em 0;
	}
	/* cvbtn */
	.cvbtn {
		left: 0.8em;
	}
	.cvbtn a {
		font-size: 20px;
    	padding: 0.8em 2em;
	}
	.cvbtn a:after {
		width: 25px;
	}
	/* about */
	section.about p {
		margin: 1.5em auto 0 auto;
	}
	section.about picture {
		width: 22vw;
	}
	/* common */
	section {
		padding-bottom: 3em;
	}
	.inner {
		max-width: 92%;
	}
	/* problem */
	section.problem,
	section.reason,
	section.service,
	section.flow,
	section.price,
	section.faq,
	footer {
		padding-top: 3em;
	}
	section.problem p {
		max-width: 92%;
		margin: 0 auto;
	}
	section.problem picture {
		max-width: 72%;
	}
	/* reason */
	section.reason ul {
		margin-bottom: 2em;
	}
	section.reason ul li {
		margin-bottom: 4em;
	}
	section.reason ul li picture {
		flex-shrink: initial;
		padding-right: 2em;
	}
	section.reason ul li dl {
		width: 80%;
	}
	section.reason ul li dt {
		font-size: 18px;
	}
	/* service */
	section.service .white-grayline p {
		white-space: nowrap;
	}
	section.service .white-grayline figure {
		width: 18vw;
	}
	section.service .note {
    	margin: 0 auto 3em auto;
	}
	/* flow */
	section.flow ul li {
		padding: 2em 1em;
	}
	/* price */
	section.price ul {
		margin-bottom: 2em;
	}
	section.price ul li {
		padding: 1em 1em 1em 1em;
		margin-bottom: 1.5em;
	}
	section.price h3 {
		font-size: 20px;
	}
	section.price p.price span {
    	display: table;
    	margin: 0 auto 0.25em auto;
	}
	section.price ul li ul {
		width: 100%;
	}
	section.price ul li ul li {
		height: auto;
	}
	/* footer */
	footer {
		padding-bottom: 3em;
	}

	
}
@media screen and (max-width : 42em) {
	/* common */
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	section .title,
	footer .comprof {
		max-width: 92%;
	}
	section {
		padding-bottom: 2em;
	}
	/* fv */
	.fv {
		background: url("../images/fv_bg_sp.jpg") center / cover no-repeat;
		padding: 1em 0 2em 0;
	}
	.fv .catch {
		flex-flow: column;
	}
	.fv .catch picture {
		order: 1;
	}
	.fv .catch .catch-btn {
		order: 2;
	}
	/* cvbtn */
	.cvbtn {
		width: 85%;
		left: initial;
	}
	.cvbtn a {
        padding: 1em 2em;
	}
	/* about */
	section.about .inner p {
		text-align: left;
	}
	section.about .title h2 {
		margin: 0.15em 0 0.5em 0;
	}
	/* problem */
	section.problem,
	section.reason,
	section.service,
	section.flow,
	section.price,
	section.faq,
	footer {
		padding-top: 2em;
	}
    /* about */
	section.about .inner {
		padding-top: 2em;
	}
	section.about p {
		width: 70%;
		margin: 0 auto 0 auto;
	}
    section.about .sp-flex {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
	section.about picture {
		position: relative;
		top: initial;
		right: initial;
		width: 30%;
	}
    /* problem */
	section.problem picture {
		max-width: 100%;
		margin: 0 auto 1em auto;
	}
	section.problem ul {
		padding-inline-start: 0;
	}
	section.problem ul li {
		margin-bottom: 1.5em;
	}
	section.problem p {
		max-width: 100%;
	}
	/* reason */
	section.reason .title p {
		text-align: left;
	}
	section.reason ul {
		margin-bottom: 1em;
	}
	section.reason ul li {
		padding: 1.25em;
		margin-bottom: 3em;
		flex-flow: column;
	}
	section.reason ul li dl {
		width: 100%;
	}
	section.reason ul li dt {
		text-align: center;
        white-space: nowrap;
	}
	section.reason ul li picture {
		padding-right: 0;
		padding-bottom: 1em;
	}
	/* service */
	section.service {
		background: #1C6B9F url(../images/service_bg_sp.webp) center / 100% auto no-repeat;
	}
	section.service ul.first {
		margin-bottom: 2em;
	}
	section.service .white-grayline .text {
		margin: 1.5em auto 0 auto;
	}
	section.service h3 {
		margin-bottom: 1em;
		padding: 0.25em 0.5em;
		text-align: center;
	}
	section.service ul {
		margin-left: 2em;
		margin-bottom: 2em;
	}
	section.service ul li {
		padding-right: 1em;
	}
	section.service .btns {
		display: block;
	}
	section.service .btns a {
		width: 100%;
	}
	section.service .white-grayline {
		padding: 1em;
		flex-flow: column;
	}
	section.service .white-grayline figure {
        width: 24vw;
        position: relative;
        top: initial;
        margin: -3em auto 0 auto;
        right: initial;
    }
	section.service .white-grayline .images {
		order: 1;
	}
	section.service .white-grayline .text {
		order: 2;
	}
	section.service .white-grayline p {
		white-space: initial;
	}
	section.service .white-grayline .flex {
		flex-flow: column;
	}
	section.service .white-grayline h4,
	section.service .white-grayline h5 {
		text-align: center;
	}
	section.service .note {
		margin: 0 auto 2em auto;
	}
	section.price h3 {
		line-height: 1.5;
	}
	section.price h3 span.small {
		font-size: 70%;
        display: block;
	}
	/* flow */
	section.flow ul {
		flex-flow: column;
		margin-bottom: 3em;
	}
	section.flow ul li {
		width: 100%;
		margin-bottom: 3em;
	}
	section.flow ul li:last-child {
		margin-bottom: 0;
	}
	section.flow li:after {
		transform: translate(-50%, 0px);
		-webkit-transform: translate(-50%, 0px);
		-ms-transform: translate(-50%, 0px);
		left: 50%;
		right: 0;
		top: initial;
		bottom: -35px;
		border-width: 20px 27px 0 27px;
		border-color: #036E75 transparent transparent transparent;
	}
	/* price */
	section.price ul {
		margin-bottom: 1em;
		flex-flow: column;
	}
	section.price ul li {
		padding: 1.25em;
		width: 100%;
		margin-bottom: 1.5em;
	}
	section.price ul li:last-child {
		margin-bottom: 0;
	}
	section.price ul li ul li {
		width: 100%;
		height: 5em;
        margin: 0 0 10px 0;
	}
	section.price .border {
		border-bottom: 1px solid #003a8b;
		padding: 0 0 0.5em 0;
        margin-bottom: 0.5em;
		display: block;
	}
	section.price ul li span.small {
		margin-left: 0;
	}
	/* faq */
	section.faq dt {
		padding: 1em;
	}
	section.faq dt h3 {
		line-height: 1.5;
	}
	section.faq dd {
		padding: 1em;
	}
	/* footer */
	footer {
		padding-bottom: 2em;
		background: #082854 url(../images/footer_bg_sp.webp) center / cover no-repeat;
	}
	footer nav ul {
		display: block;
		text-align: center;
		margin: 0 auto 1.5em auto;
	}
	footer nav ul li {
		line-height: 2.5;
	}
	footer nav ul li:after {
		content: none;
	}
	footer .comp-wrap {
		display: table;
		text-align: center;
		margin: 0 auto;
	}
	footer .comp-wrap picture {
		margin: 0 auto 1em auto;
	}
	footer .comprof {
		padding: 1em 0;
	}
	footer .comprof dl {
		padding-left: 0;
	}
	/* floating */
	.floating {
    	width: 120px;
	}
    .floating a {
        font-size: 1rem;
        line-height: 1.3;
    }
	.floating a::after {
    	display: none;
	}
}