@charset "UTF-8";
/*
Theme Name: Freemethod.inc
Author: funakura freemethod.inc
*/
a, article, body, dd, div, dl, dt, h1, h2, h3, h4, header, html, li, main, nav, p, section, span, table, td, textarea, th, ul, fieldset, form, figure, input, textarea {
padding: 0; margin: 0; border: 0; box-sizing: border-box; font-family: 'Noto Serif JP', serif;
}
html {font-size: 10px;}
a {text-decoration: none; color: #6f6f6f;}
ul {list-style-type: none;}
img {max-width: 100%;}
/*---------root周りの設計を格納すr---------------------------------------------*/
:root {
	--color-00: #FFF;
	--color-01: #0d47a1;
	--color-01-grd-01: linear-gradient(to bottom, #0d47a1, #05A1AD);
	--color-01-grd-02: linear-gradient(to right, #0d47a1, #05A1AD);
	--color-02: #05A1AD;
	--color-03: #333;
	--color-04: #666;
	--color-05: #CCC;
	--color-option01: #00BCD4;
	--color-option02: #F00;
	--color-option03: #DBDBDB;
	--color-option04: #FAFAFA;
	--color-option05: #F6F6F6;
	--color-option06: #EEE;
	--color-option07: #111;
	--color-option08: #03ac66;
}
/*---------root周りの設計を格納すr---------------------------------------------*/
.only--pc{display: none !important;}
.text-align-00{text-align: center;}/*sp+pc 中央 */
.text-align-01{text-align: left;}/*sp/pc 左/中央 */
.text-align-02{text-align: right;}/*sp+pc 右 */
:root {
	--font-family-01: 'Noto Serif JP', serif;
	--font-family-02: 'Montserrat', sans-serif;
	--font-family-03: 'Cinzel', serif;
	--ttf-01: ease;
	--ttf-02: linear;
	--ttf-03: ease-in;
	--ttf-04: ease-out;
	--ttf-05: ease-in-out;
	--line-height-01: 1.4em;
	--line-height-02: 2em;
	--line-height-03: 1.6em;
	--size-01: 1.2rem;
	--size-02: 1.2rem;
	--size-03: 1.4rem;
	--size-04: 1.4rem;
	--size-05: 1.6rem;
	--size-06: 1.8rem;
	--size-07: 1.6rem;
	--size-08: 2.6rem;
	--size-09: 2.4rem;
	--size-10: 2.4rem;
	--size-11: 2.8rem;
	--size-12: 3.2rem;
	--size-13: 3.2rem;
	--size-14: 1.5rem;
	--size-15: 1rem;
	--size-16: 1.1rem;
	--size-17: 3.2rem;
	--size-18: 1.2rem;
	--size-19: 2rem;
	--size-001: 2.4rem;
	--size-002: 1.4rem;
	--size-003: 1.3rem;
	--margin-01: 5px;
	--margin-02: 8px;
	--margin-03: 10px;
	--margin-04: 16px;
	--margin-05: 16px;
	--margin-06: 24px;
	--margin-07: 24px;
	--margin-08: 40px;
	--margin-09: 24px;
	--margin-10: 32px;
	--margin-11: 40px;
	--margin-12: 40px;
	--margin-13: 48px;
	--margin-14: 48px;
	--margin-15: 56px;
	--margin-16: 64px;
	--margin-17: 72px;
	--margin-18: 40px;
	--margin-19: 80px;
	--margin-20: 64px;
	--margin-21: 104px;
	--margin-22: 72px;
	--margin-23: 120px;
	--margin-24: 6%;
	--margin-25: 6%;
	--margin-26: 10%;
	--margin-27: 1em;
	--margin-28: 6%;
	--margin-29: 12px;
	--margin-30: 48px;
	--margin-31: 16px;
	--margin-32: 48px;
	--margin-33: 48px;
	--margin-34: 32px;
	--margin-35: 16px;
	--margin-001: 64px;
	--margin-002: 32px;
	--margin-003: 6%;
	--margin-004: 48px;
	--margin-005: 24px;
}
@media screen and (min-width:769px) {
	.only--sp{display: none !important;}
	.only--pc{display: block !important;}
	.text-align-01{text-align: center;}
	:root {
		--size-01: 1.2rem;
		--size-02: 1.4rem;
		--size-03: 1.4rem;
		--size-04: 1.6rem;
		--size-05: 1.6rem;
		--size-06: 1.8rem;
		--size-07: 2rem;
		--size-08: 2.6rem;
		--size-09: 2.8rem;
		--size-10: 3.4rem;
		--size-11: 4rem;
		--size-12: 4rem;
		--size-13: 4.8rem;
		--size-14: 1.5rem;
		--size-15: 1.2rem;
		--size-16: 1.1rem;
		--size-17: 5.2rem;
		--size-18: 1.6rem;
		--size-19: 2rem;
		--size-001: 3.2rem;
		--size-002: 1.5rem;
		--size-003: 1.4rem;
		--margin-01: 5px;
		--margin-02: 8px;
		--margin-03: 10px;
		--margin-04: 16px;
		--margin-05: 24px;
		--margin-06: 24px;
		--margin-07: 32px;
		--margin-08: 32px;
		--margin-09: 40px;
		--margin-10: 40px;
		--margin-11: 40px;
		--margin-12: 48px;
		--margin-13: 48px;
		--margin-14: 56px;
		--margin-15: 56px;
		--margin-16: 64px;
		--margin-17: 72px;
		--margin-18: 80px;
		--margin-19: 80px;
		--margin-20: 104px;
		--margin-21: 104px;
		--margin-22: 120px;
		--margin-23: 120px;
		--margin-24: 6%;
		--margin-25: 10%;
		--margin-26: 10%;
		--margin-27: 1em;
		--margin-28: 40px;
		--margin-29: 24px;
		--margin-30: 72px;
		--margin-31: 40px;
		--margin-32: 40px;
		--margin-33: 80px;
		--margin-34: 32px;
		--margin-35: 32px;
		--margin-001: 56px;
		--margin-002: 32px;
		--margin-003: 0;
		--margin-004: 32px;
		--margin-005: 0;
	}
}
body{background: var(--color-00);}
.l_fontsize01{font-size: var(--size-06);}
.font-family-01{font-family: 'Noto Sans JP', sans-serif;}
.font-family-02{font-family: 'Montserrat', sans-serif;}
.font-family-03{font-family: 'Cinzel', serif;}
.font-weight-01{font-weight: bold;}
.text-01{font-size: var(--size-01); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all;}
.text-02{font-size: var(--size-01); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-00); word-break: break-all;}
.text-03{font-size: var(--size-01); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-00); word-break: break-all; font-weight: bold;}
.text-04{font-size: var(--size-02); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all;}
.text-05{font-size: var(--size-02); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-04); word-break: break-all;}
.text-06{font-size: var(--size-03); line-height: var(--line-height-01); font-family: var(--font-family-03); color: var(--color-00); word-break: break-all; font-weight: bold;}
.text-07{font-size: var(--size-05); line-height: var(--line-height-02); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all;}
.text-08{font-size: var(--size-05); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all;}
.text-09{font-size: var(--size-05); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-00); word-break: break-all; font-weight: bold;}
.text-10{font-size: var(--size-04); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all;}
.text-11{font-size: var(--size-04); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all; font-weight: bold;}
.text-12{font-size: var(--size-04); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-05); word-break: break-all;}
.text-13{font-size: var(--size-05); line-height: var(--line-height-02); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all;}
.text-14{font-size: var(--size-05); line-height: var(--line-height-01); font-family: var(--font-family-02); color: var(--color-01); word-break: break-all; font-weight: bold;}
.text-15{font-size: var(--size-06); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-00); word-break: break-all; font-weight: bold;}
.text-16{font-size: var(--size-07); line-height: var(--line-height-02); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all;}
.text-17{font-size: var(--size-07); line-height: var(--line-height-02); font-family: var(--font-family-01); color: var(--color-00); word-break: break-all; font-weight: bold;}
.text-18{font-size: var(--size-08); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all; font-weight: bold;}
.text-19{font-size: var(--size-09); line-height: var(--line-height-01); font-family: var(--font-family-03); color: var(--color-03); word-break: break-all; font-weight: bold;}
.text-20{font-size: var(--size-10); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-word; font-weight: bold;}
.text-21{font-size: var(--size-12); line-height: var(--line-height-01); font-family: var(--font-family-03); color: var(--color-03); word-break: break-all; font-weight: bold;}
.text-22{font-size: var(--size-12); line-height: var(--line-height-01); font-family: var(--font-family-02); color: var(--color-01-grd-01); font-weight: bold; background: var(--color-01-grd-01); -webkit-background-clip: text; -webkit-text-fill-color: transparent; word-break: break-all;}
.text-23{font-size: var(--size-11); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all; font-weight: bold;}
.text-24{font-size: var(--size-13); line-height: var(--line-height-01); font-family: var(--font-family-03); color: var(--color-00); word-break: break-word;}
.text-25{font-size: var(--size-16); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-04); word-break: break-all;}
.text-26{font-size: var(--size-15); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-05); word-break: break-all;}
.text-27{font-size: var(--size-14); line-height: var(--line-height-01); font-family: var(--font-family-02); color: var(--color-03); word-break: break-all; font-weight: bold;}
.text-28{font-size: var(--size-14); line-height: var(--line-height-01); font-family: var(--font-family-02); color: var(--color-00); word-break: break-all; font-weight: bold;}
.text-29{font-size: var(--size-01); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-00); word-break: break-all;}
.text-30{font-size: var(--size-03); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-00); word-break: break-all;}
.text-31{font-size: var(--size-17); line-height: var(--line-height-01); font-family: var(--font-family-02); color: var(--color-03); word-break: break-all; font-weight: bold;}
.text-32{font-size: var(--size-18); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all;}
.text-33{font-size: var(--size-18); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-04); word-break: break-all;}
.text-34{font-size: var(--size-02); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-05); word-break: break-all;}
.text-35{font-size: var(--size-01); line-height: var(--line-height-03); font-family: var(--font-family-01); color: var(--color-04); word-break: break-all;}
.text-36{font-size: var(--size-09); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all;}
.text-37{font-size: var(--size-19); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all; font-weight: bold;}
.text-38{font-size: var(--size-03); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-01); word-break: break-all; font-weight: bold;}
.text-001{font-size: var(--size-13); line-height: var(--line-height-01); font-family: var(--font-family-02); color: var(--color-00); word-break: break-word; font-weight: bold;}
.text-002{font-size: var(--size-01); line-height: var(--line-height-03); font-family: var(--font-family-03); color: var(--color-04); word-break: break-all;}
.text-003{font-size: var(--size-04); line-height: var(--line-height-02); font-family: var(--font-family-01); color: var(--color-00); word-break: break-all;}
.text-004{font-size: var(--size-001); line-height: var(--line-height-02); font-family: var(--font-family-03); color: var(--color-03	); word-break: break-all;}
.text-005{font-size: var(--size-03); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-01); word-break: break-all;}
.text-006{font-size: var(--size-002); line-height: var(--line-height-02); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all;}
.text-007{font-size: var(--size-002); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all;}
.text-008{font-size: var(--size-003); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all;}
.text-009{font-size: var(--size-06); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all; font-weight: bold;}
.text-010{font-size: var(--size-03); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all;}
.text-011{font-size: var(--size-05); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-03); word-break: break-all; font-weight: bold;}


.btn-01{height: 64px; width: 240px; margin: 0 auto;}
.btn-01 a{display: flex; background: var(--color-01-grd-02); align-items: center; justify-content: center; height: 100%; border-radius: 50px;}
.btn-02{height: 58px; width: 240px; margin: 0 auto;}
.btn-02 a{display: flex; align-items: center; justify-content: center; height: 100%; border: solid 1px var(--color-01); width: 100%; position: relative; overflow: hidden;}
.btn-02 a::before{content: ""; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: var(--color-01-grd-02); z-index: 1; transform: scaleX(0); transform-origin: left center; animation-name: btn-02-a; animation-duration: 0.6s;}
.btn-02 a span{z-index: 2;}
.btn-02 a:hover span{color: var(--color-00);}
.btn-02 a:hover::before{transition: 0.4s ease all; transform: scaleX(1); animation: none;}
@keyframes btn-02-a {
	0% {transform: scaleX(1);}
	100% {transform: scaleX(1) translateX(100%);}
}
.btn-03{height: 58px; width: 240px; margin: 0 auto;}
.btn-03 a{display: flex; align-items: center; justify-content: center; height: 100%; border: solid 1px var(--color-01); width: 100%;}
.btn-03 a:hover{background-color: var(--color-01); color: var(--color-00); transition: 0.4s ease background-color;}

.js_c_scroll-on-01{opacity: 0;}
.c_scroll-on-01{animation: c_scroll-on-01 2s ease forwards;}
@keyframes c_scroll-on-01 {
0% { opacity: 0;
transform: translateY(45px); }
100% { opacity: 1;
transform: translateY(0); }
}

.magin-00{margin: 0 auto;}
.magin-01{margin-top: var(--margin-12);}/*SP40 PC48*/
.magin-02{margin-top: var(--margin-10);}/*SP32 PC40*/
.magin-03{margin-top: var(--margin-14);}/*SP48 PC56*/
.magin-04{margin-bottom: var(--margin-34);}/*SP32 PC32*/
.magin-05{margin-top: var(--margin-02);}/*SP8 PC8*/
.magin-06{margin-bottom: var(--margin-14);}/*SP48 PC56*/
.magin-07{margin-top: var(--margin-06);}/*SP24 PC24*/
.magin-08{margin-top: var(--margin-04);}/*SP16 PC16*/
.magin-09{margin-bottom: var(--margin-09);}/*SP24 PC40*/
.magin-10{margin-top: var(--margin-09);}/*SP24 PC40*/
.magin-11{margin-top: var(--margin-18);}/*sp/pc 上 40/80*/
.magin-12{margin-bottom: var(--margin-04);}/*SP16 PC16*/
.magin-13{margin-top: var(--margin-12);}/*SP40 PC48*/
.magin-14{margin-bottom: var(--margin-05);}/*SP16 PC24*/
.magin-p-00{padding-top: var(--margin-20); padding-bottom: var(--margin-22);}/*sp/pc 上 64/104 下 72/120*/
.magin-p-01{padding-bottom: var(--margin-18);}/*sp/pc 下 40/80*/
.magin-p-02{padding-left: var(--margin-28); padding-right: var(--margin-28);}/*sp/pc 左右 6%/40*/
.magin-p-03{padding-top: var(--margin-11); padding-bottom: var(--margin-001);}/*sp/pc 上 40/40 下 64/56*/
.magin-p-04{padding-bottom: var(--margin-04);}/*SP16 PC16*/
.magin-p-05{padding-left: var(--margin-25); padding-right: var(--margin-25);}/*sp/pc 左右 6%/10%*/
.magin-p-06{padding-top: var(--margin-20); padding-bottom: var(--margin-005);}/*sp/pc 上 64/104 下 24/0*/
.magin-p-07{margin-bottom: var(--margin-02);}/*SP8 PC8*/
.magin-p-08{padding-top: var(--margin-20); padding-bottom: var(--margin-34);}/*sp/pc 上 64/104 下 32/32*/
.magin-p-09{padding-top: var(--margin-34);}/*SP32 PC32*/
.magin-p-10{padding-top: var(--margin-09);}/*SP24 PC40*/
.magin-p-11{padding-left: var(--margin-003); padding-right: var(--margin-003);}/*SP6% PC0*/
.bg-00{background: var(--color-00);}
.bg-01{background: var(--color-option04);}
/*.bg-00{background: #e81414;}*/

.size-00{max-width: 1120px; margin: 0 auto;}
/*---------コンポーネント---------------------------------------------*/
/*---------文章---------------------------------------------*/
.c_text-01{display: flex; flex-flow: column; justify-content: center; align-items: center; width: 100%;}
.c_text-01--option{display: flex; align-items: center; justify-content: center; width: 100%;}
.c_text-01--option>span{background: var(--color-01-grd-02); margin: var(--margin-04) 5px; width: 10px; height: 10px; border-radius: 50%;}
.c_text-07 {margin-bottom: var(--margin-05); display: flex; flex-flow: row nowrap; justify-content: flex-start; align-items: center;}
.c_text-07::before {content: ""; width: 4px; height: 32px; border-radius: 44px; background: var(--color-01-grd-01); margin-right: var(--margin-03);}
.c_text-10{margin-bottom: var(--margin-06); width: 88%;}
.c_text-10--option{background: var(--color-01-grd-02); width: 240px; height: 2px; margin: var(--margin-04) 0;}
@media screen and (min-width:769px) {.c_text-10{width: 80%;}}
.c_text-12{margin-bottom: var(--margin-05); display: flex; flex-flow: row nowrap; justify-content: flex-start; align-items: stretch;}
.c_text-12::before {content: ""; width: 3px; background: var(--color-01-grd-01); margin-right: var(--margin-03);}
/*---------top header start---------------------------------------------*/
.c_fixed-03{position: fixed; width: 100%; top: 0; height: 64px; background-color: var(--color-00); z-index: 2;}
.c_fixed-03-bottom{bottom: 0; top: auto;}
.c_fixed-03--main{width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 0 0 0 23px;}
.c_fixed-03--img img{height: 32px;}
.c_fixed-03--checkbox{display: none;}
.c_fixed-03--button {width: 64px; height: 64px; color: var(--color-01); display: flex; flex-flow: column; align-items: center; justify-content: center;}
.c_fixed-03--line {width: 24px; height: 1px; background: var(--color-01); margin-bottom: 6px;}
.c_fixed-03--button-close .c_fixed-03--line {width: 18px; transform: rotate(-45deg); position: absolute; margin-bottom: 0;}
.c_fixed-03--button-close .c_fixed-03--line:last-child {transform: rotate(45deg);}
.c_fixed-03--content {position: fixed; top: 0; left: 0; visibility: hidden; width: 100%; height: 100%; opacity: 0; overflow-y: scroll; transition: 0.8s;}
.c_fixed-03--menu {padding-bottom: 120px; padding-top: 145px;}
.c_fixed-03--menu p{height: 70px; display: flex; align-items: center; justify-content: center;}
.c_fixed-03--content {position: fixed; top: 0; left: 0; visibility: hidden; width: 100%; height: 100%; opacity: 0; overflow-y: scroll; background: var(--color-00);}
.c_fixed-03--checkbox:checked ~ .c_fixed-03--content {visibility: visible; opacity: 1; z-index: 5;}
.c_fixed-03-margin {margin-top: 64px;}
.js_c_fixed-03--img-01{display: none;}
@media screen and (min-width:769px) {
	.js_c_fixed-03--img-01{display: inherit;}
	.js_c_fixed-03--img-02{visibility: hidden;}
	.c_fixed-03{background-color: #fff0;}
	.c_fixed-03, .c_fixed-03--main{height: 80px;}
	.c_fixed-03--main{padding: 0 40px; max-width: 1400px; margin: 0 auto;}
	.c_fixed-03--img img{height: 40px;}
	.c_fixed-03--nav {display: flex; align-items: center; justify-content: center; flex-flow: row nowrap;}
	.c_fixed-03--nav p {height: 80px; display: flex; align-items: center;}
	.c_fixed-03--nav p a{display: flex; align-items: center; justify-content: center; flex-flow: column nowrap;}
	.c_fixed-03--nav p a span:first-child{margin-right: 24px; margin-left: 24px; margin-bottom: 4px;}
	.c_fixed-03-margin {margin-top: 0;}
	.js_c_fixed-03{background-color: var(--color-00); transition: 2s;}
	.js_c_fixed-03 .text-06{color: var(--color-01); animation: js_c_fixed-03--img 2s ease-in-out forwards; opacity: 0;}
	.js_c_fixed-03 .js_c_fixed-03--img-01{display: none;}
	.js_c_fixed-03 .js_c_fixed-03--img-02{visibility: visible; animation: js_c_fixed-03--img 2s ease-in-out forwards; opacity: 0;}
	@keyframes js_c_fixed-03--img {
		0% { opacity: 0; }
		100% { opacity: 1; }
	}
}
.c_slide01{width: 100%; height: 440px;}
.c_slide01--area{width: 100%;}
.c_slide01--area>p{text-align: center;}
.c_slide01--area .c_slide01--box{position: absolute; width: 100%; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; justify-content: flex-start;}
.c_slide01--area .c_slide01--box>div{width: fit-content; margin: 0 auto;}
.c_slide01--area-01 .c_slide01--box{max-width: 330px; transform: translate(-50%, -50%);}
.c_slide01--area-04 .c_slide01--box-right{transform: unset; bottom: 75px; left: unset; top: unset;}
/*.c_slide01--area-01 .c_slide01--box--text03{margin-top: 56px;}*/
.c_slide01--line{right: 10% !important; width: fit-content !important; bottom: 40px !important; left: unset !important;}
.c_slide01--line>.swiper-pagination-bullet{width: 40px; height: 2px; background: var(--color-option04); border-radius: 0;}
.c_slide01--line>.swiper-pagination-bullet-active{background: var(--color-00);}
.c_slide01--box--line{width: 295px; height: 1px; margin-top: 16px; margin-bottom: 16px; background: var(--color-00);}
.c_slide01--box--text01{margin-bottom: 16px; text-shadow: 0 5px 10px rgba(0,0,0,0.2);}
.c_slide01--box--text02{text-shadow: 0 2px 4px rgba(0,0,0,0.2);}
.c_slide01--box--text03{text-shadow: 0 2px 4px rgba(0,0,0,0.2);}
.swiper-container {width: 100%; height: 100%; overflow: hidden; padding-bottom: 30px;}
.swiper-pagination-bullet-active {background: #00A7EA;}
.swiper-slide img{backface-visibility: hidden; width: 100%;}
.c_fixed-02--nav a span, .c_fixed-03--nav a span {position: relative;}
.c_fixed-02--nav a span::before, .c_fixed-03--nav a span::before, .c_fixed-02--nav a a span::after, .c_fixed-03--nav a span::after {content: ""; position: absolute; bottom: -3px; display: block; width: 0; height: 2px; background: var(--color-03); transition: width 0.9s;}
.c_fixed-02--nav a span, .c_fixed-03--nav a span::before,
.c_fixed-02--nav a span, .c_fixed-03--nav a span::after{background-color: var(--color-00);}
.c_fixed-02--nav a span, .c_fixed-03--nav a span::before{right: 50%;}
.c_fixed-02--nav a span, .c_fixed-03--nav a span::after{left: 50%;}
.js_c_fixed-03 .c_fixed-03--nav a span::before,
.js_c_fixed-03 .c_fixed-03--nav a span::after{background-color: var(--color-01);}
.c_fixed-02--nav a span:hover::before, .c_fixed-02--nav a span:hover::after,
.c_fixed-03--nav a span:hover::before, .c_fixed-03--nav a span:hover::after {width: 50%;}
@media screen and (min-width:769px) {
	.swiper-slide img{height: 100vh; object-fit: cover;}
	.c_slide01{height: 100vh;}
	.c_slide01--box--line{width: 400px;}
	.c_slide01--box--text01{margin-bottom: 27px;}
	.c_slide01--box--text01:nth-child(1){margin-bottom: 38px;}
	.c_slide01--area .c_slide01--box{max-width: 1120px; transform: translate(-50%, -50%);}
	.c_slide01--area .c_slide01--box-right{justify-content: flex-end; transform: translate(-50%, -50%); bottom: unset; left: 50%; top: 50%;}
	.c_slide01--area .c_slide01--box>div{margin: 0;}
	.c_slide01--area-01 .c_slide01--box--text03{margin-top: 0;}
}
/*---------top header end---------------------------------------------*/
/*---------iframe フォーム---------------------------------------------*/
.c_map-01 {position: relative; width: 100%; height: 0; padding-top: 281.6px; margin: 0 auto;}
.c_map-01 iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
@media screen and (min-width: 769px){.c_map-01 {max-width: 1080px; height: 320px; padding-top: 0;}}

.c_form-01{background: var(--color-00); width: 100%; max-width: 720px; margin: 0 auto;}
.c_form-01 form .c_form-01--group{display: flex; align-items: flex-start; flex-flow: column wrap; justify-content: flex-start; margin: 0 auto; padding-bottom: var(--margin-002);}
.c_form-01 form div.l_flex-row-nowrap{flex-flow: row nowrap; align-items: center;}
.c_form-01 form .c_form-01--group div{width: 100%;}
.c_form-01 form .c_form-01--group>span{width: 100%;}
.c_form-01 form div textarea, .c_form-01 form div input{margin-top: var(--margin-02); border-color: var(--color-option03); width: 100%; border-radius: 0; border: solid 1px;}
.c_form-01 form div input[type="text"], .c_form-01 form div input[type="email"], .c_form-01 form div input[type="tel"], .c_form-01 form div textarea{line-height: var(--line-height-02); padding: var(--margin-04);}

.c_form-01 form div .c_form-01--group--input{display: flex; align-items: center; justify-content: center; height: 58px; width: 240px; border: solid 1px var(--color-01); position: relative; overflow: hidden; margin: 0 auto;}
.c_form-01 form div .c_form-01--group--input::before{content: ""; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: var(--color-01-grd-02); z-index: 1; transform: scaleX(0); transform-origin: left center; animation-name: c_form-01--group--input; animation-duration: 0.6s;}
.c_form-01 form div .c_form-01--group--input input[type="submit"]{z-index: 2; border: none; background: unset; margin-top: 0;}
.c_form-01 form div .c_form-01--group--input:hover input[type="submit"]{color: var(--color-00);}
.c_form-01 form div .c_form-01--group--input:hover::before{transition: 0.4s ease all; transform: scaleX(1); animation: none;}
.c_form-01 form div .c_form-01--group--input input[type="submit"]:focus{outline: 0;}
@keyframes c_form-01--group--input {
	0% {transform: scaleX(1);}
	100% {transform: scaleX(1) translateX(100%);}
}


.c_form-01 form div textarea{min-height: calc( var(--size-05) * 3); resize: vertical;}
.c_form-01 form div input[type="checkbox"]{display: none;}
.c_form-01--checkbox01-label, .wpcf7-list-item-label{position: relative; display: flex; align-items: center; justify-content: flex-start;}
.c_form-01--checkbox01-label::before, .wpcf7-list-item-label::before {border-radius: 0; content: ""; display: block; height: 40px; width: 40px; box-sizing: border-box; border: solid 1px var(--color-option03);}
.c_form-01--checkbox01-label::after, .wpcf7-list-item-label::after {content: ""; position: absolute; display: block; width: 19px; height: 13px; border-left: 3px solid; border-bottom: 3px solid; border-color: var(--color-00); opacity: 0; transform: rotate(-45deg); left: 8px; top: 8px;}
input[type=checkbox]:checked + .c_form-01--checkbox01-label::before, input[type=checkbox]:checked + .wpcf7-list-item-label::before {border-color: var(--color-01); background: var(--color-01);}
input[type=checkbox]:checked + .c_form-01--checkbox01-label::after, input[type=checkbox]:checked + .wpcf7-list-item-label::after{opacity: 1;}
.c_form-01--checkbox01-label span{padding-left: 16px;}
.c_form-01 form a{color: var(--color-01); text-decoration: underline;}
label.label-required, label.label-any{display: flex; flex-flow: row nowrap; align-items: center; justify-content: flex-start;}
label.label-required::after, label.label-any::after {font-size: var(--size-01); line-height: var(--line-height-01); font-family: var(--font-family-01); color: var(--color-00); word-break: break-all; border-radius: 44px; padding: 2px 8px;}
label.label-required::after {color: var(--color-option02); content: "※";}
label.label-any::after {}
.wpcf7-list-item-label::before{margin-right: 16px;}
span.wpcf7-list-item {display: block !important; padding-bottom: 8px;}
/*---------枠---------------------------------------------*/
.c_description-02{margin: 0 auto;}
.c_description-02--list{display: flex; flex-flow: row nowrap; align-items: stretch; justify-content: flex-start;}
.c_description-02--term, .c_description-02--txt{border-bottom: solid 1px; padding: var(--margin-06) 0; flex: 1; border-color: var(--color-option03);}
.c_description-02--term-01 {width: 10.6em;}
.c_description-02--txt-02 {flex: 3;}
.c_description-02--term{border-color: var(--color-01);}
.c_description-02--txt{flex: 3; padding-left: 5em;}
@media screen and (min-width:769px) {
.c_description-02--list{max-width: 960px; margin: 0 auto;}
.c_description-02--term-01 {width: 9.6em;}
}
.c_description-04--list{flex-flow: column nowrap;}
.c_description-04--list, .c_description-04--list02{display: flex; align-items: flex-start; justify-content: flex-start;}
.c_description-04--box01, .c_description-04--02{padding-left: 2em;}
.c_description-04--list02>div{flex: 1;}
.c_description-04--list02>p{min-width: 3.3em;}

.c_foot-02{background: var(--color-option07);}
.c_foot-02-box{padding-top: var(--margin-30); padding-bottom: var(--margin-30); padding-right: var(--margin-25); padding-left: var(--margin-25);}
.c_foot-02-box-01{margin-bottom: var(--margin-14);}
.c_foot-02-box-02{margin-bottom: var(--margin-06);}
.c_foot-02-box-01--img{margin-bottom: var(--margin-04);}
.c_foot-02-box-01--img img{height: 32px;}
.c_foot-02-box-01--box-02{margin-bottom: var(--margin-10); display: flex; flex-flow: column nowrap; justify-content: space-between; align-items: center;}
.c_foot-02-box-01--box-02 li:nth-child(n + 2) {margin-top: 17px;}
.c_foot-02-box-01--box-02 li a{text-decoration: underline;}
.c_foot-02-box-02 li{margin-bottom: var(--margin-11);}
@media screen and (min-width:769px){
	.c_foot-02-box{display: flex; flex-flow: row wrap; justify-content: space-between;}
	.c_foot-02-box-03{width: 100%; display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: stretch;}
	.c_foot-02-box-02{display: flex; flex-flow: row nowrap; margin-bottom: 0;}
	.c_foot-02-box-02 li{margin-bottom: 0;}
	.c_foot-02-box-02 li:nth-child(n + 2){margin-left: 40px;}
	.c_foot-02-box-01--box-02 {flex-flow: row nowrap; justify-content: flex-start; margin-bottom: 0; height: auto;}
	.c_foot-02-box-01--box-02 li:nth-child(n + 2){margin-left: 40px; margin-top: 0;}
}

.c_text-04{display: flex; flex-flow: column wrap; justify-content: flex-start; align-items: flex-start;width: 100%;}

.c_img-02{width: 100%; margin: 0 auto; margin-bottom: var(--margin-09); text-align: center;}

.c_imgtxt-01 .c_text-04{padding: 32px 22.5px 0;}
.c_imgtxt-01 li {padding: var(--margin-18) 0; background: var(--color-00); margin-bottom: var(--margin-04); display: flex; flex-flow: column-reverse nowrap; justify-content: center; align-items: self-start;}
.c_imgtxt-01 li:last-child {margin-bottom: 0;}
.c_imgtxt-01 li .c_imgtxt-01--txt, .c_imgtxt-01 li .c_imgtxt-01--img{width: 100%;}
.c_imgtxt-01 li .c_imgtxt-01--img p img{height: 180px; object-fit: cover; width: 100%; max-width: max-content;}
.c_imgtxt-01 li .c_imgtxt-01--txt-content01{margin-bottom: var(--margin-06);}
@media screen and (min-width:769px) {
.c_imgtxt-01 li:nth-child(odd) {flex-flow: row nowrap;}
.c_imgtxt-01 li:nth-child(even) {flex-flow: row-reverse nowrap;}
.c_imgtxt-01 li:nth-child(even) .c_imgtxt-01--txt {justify-content: flex-start;}
.c_imgtxt-01 li .c_text-04{max-width: 380px; margin-right: 40px; padding: 0;}
.c_imgtxt-01 li:nth-child(even) .c_text-04 {margin-right: 0; margin-left: 40px;}
.c_imgtxt-01 li .c_imgtxt-01--img{width: 60%; max-height: 800px; overflow: hidden;}
.c_imgtxt-01 li .c_imgtxt-01--txt{width: 40%; display: flex; justify-content: flex-end;}
.c_imgtxt-01 li .c_imgtxt-01--img p img {height: calc(100vw / 10 * 3.3028); object-fit: cover; width: 100%; max-height: 800px; min-height: 420px; max-width: max-content;}
}

.c_imgarea-03--area {display: flex; align-items: center; justify-content: center; flex-flow: row wrap;}
.c_imgarea-03--area li{padding-top: var(--margin-04);}
.c_imgarea-03--imgbox {max-width: 216px;}
.c_imgarea-03--txt{padding-top: var(--margin-02);
display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: flex-start;
}
@media screen and (min-width: 769px){
.c_imgarea-03--area {max-width: calc(960px + 64px); margin: 0 auto;}
.c_imgarea-03--area li{width: fit-content; margin-left: 16px; max-width: 192px;}
.c_imgarea-03--area li:nth-child(5n+1){margin-left: 0;}
.c_imgarea-03--txt{
    flex-flow: column nowrap;
    align-items: center;
}
}

.c_page_link-02 {width: 44px; height: 44px; position: fixed; bottom: 17px; right: 0; z-index: 1; display: flex; justify-content: center; align-items: center; border: solid 1px var(--color-01); transition: background-color 1s;}
.c_page_link-02 a{position: relative; z-index: 10; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;}
.c_page_link-02 a:before, .c_page_link-02 a:after{content:""; width:100%; height:100%; position:absolute; left:0; transition:0.5s;}
.c_page_link-02 a:before{z-index: 9; background: var(--color-00);}
.c_page_link-02 a:after {z-index: 8; background: var(--color-01-grd-02);}
.c_page_link-02 img{width: 28px; z-index: 10;}
.c_page_link-02 .c_page_link-02--img01{visibility: visible;}
.c_page_link-02 .c_page_link-02--img02{visibility: hidden; display: none;}
@media screen and (min-width:769px) {
	.c_page_link-02 {width: 64px; height: 64px; top: 0; bottom: 0; margin: auto;}
	.c_page_link-02 img{width: 40px;}
	.c_page_link-02:hover a:before{opacity: 0;}
	.c_page_link-02:hover .c_page_link-02--img01{visibility: hidden; display: none;}
	.c_page_link-02:hover .c_page_link-02--img02{visibility: visible; display: inherit;}
}

/*-------------------------------------------------------------------*/
.l_001{width: 100%; max-width: 720px; margin-left: auto; margin-right: auto;}
.l_002{color: var(--color-option02);}
.l_003{width: 100%; height: 1px; background-color: var(--color-option03);}
.l_004{display: flex; flex-flow: row nowrap; justify-content: flex-end; align-items: flex-start;}
.l_005{display: flex; flex-flow: row nowrap; justify-content: flex-start; align-items: stretch;}
.l_005::before{content: ""; width: 1.4em;}
.l_005 span {flex: 1;}
header#etc {transition: none;}
header#etc .text-06{animation: js_c_fixed-03--img 0.1s ease-in-out forwards;}

