@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Spectral:wght@500&family=Zen+Old+Mincho:wght@500&display=swap');
@font-face{font-family:"游ゴシック体"; src:local("Yu Gothic Medium"),local("游ゴシック Medium");}
@font-face{font-family:"游ゴシック体"; src:local("Yu Gothic Bold"),local("游ゴシック Bold"); font-weight:bold;}

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;vertical-align:baseline;background:transparent;box-sizing:border-box;}
html{font-size:62.5%;}
body{
	font-family:"游ゴシック体",YuGothic,"游ゴシック","Yu Gothic",'ヒラギノ角ゴ ProN W3','Hiragino Sans','Hiragino Kaku Gothic ProN','メイリオ',meiryo,"ＭＳ Ｐゴシック", sans-serif;
	font-size:1.6rem;
	color:#222;
	line-height:1.5;
	-webkit-text-size-adjust:100%;
	max-width:100%;
	min-width:320px;
	text-align:left;
	padding-top:88px;
}
h1, h2, h3, h4, h5, h6{font-size:inherit;font-weight:inherit;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
ul{list-style:none;}
blockquote, q{quotes:none;}
blockquote:before, blockquote:after,q:before, q:after{content:'';content:none;}
li{list-style-type:none;}
ins{text-decoration:none;}
mark{font-style:italic;font-weight:bold;}
del{text-decoration:line-through;}
abbr[title], dfn[title]{border-bottom:1px dotted;cursor:help;}
table{border-collapse:collapse;border-spacing:0;}
hr{display:block;height:1px;margin:1em 0;padding:0;border:0;border-top:1px solid #cccccc;}
input, select{vertical-align:middle;margin:0;box-sizing:border-box;}
input,textarea{-webkit-appearance:none;font-family:inherit;box-sizing:border-box;}
input:focus,textarea:focus,select:focus{outline:0;}
button{font-family:inherit;background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;appearance:none;box-sizing:border-box;}
button::-moz-focus-inner{border:0;}
input:placeholder-shown{color:#ccc;}
input::-webkit-input-placeholder{color:#ccc;}
input:-moz-placeholder{color:#ccc;opacity:1;}
input::-moz-placeholder{color:#ccc;opacity:1;}
input:-ms-input-placeholder{color:#ccc;}
pre{white-space:pre-wrap;font-family:inherit;}
img{border:none;vertical-align:bottom;max-width:100%;height:auto;}
small{font-size:75%;}
a{color:#222;margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;text-decoration:none;box-sizing:border-box;outline:none;transition:.2s ease;}
a[href^="tel:"]{cursor:text;}
a:hover{color:#222;}
*:focus-visible,
select:focus-visible{outline:2px solid #323232;transition:outline 0s!important;}

.serif{font-family:"Zen Old Mincho", serif;font-weight:500;font-style:normal;}
.en{font-family:"Spectral", serif;font-weight:500;font-style:normal;}

/* -------------------------------------------------- */
/* header */
/* -------------------------------------------------- */
header{width:100%;height:88px;border-bottom:1px solid #222;background:#fff;position:fixed;top:0;left:0;z-index:100;}
header #logo{width:180px;height:180px;background:#fff;border:1px solid #222;border-top:0;display:flex;align-items:center;justify-content:center;position:absolute;left:20px;top:0;padding-bottom:5px;}
header .header-inner{display:flex;justify-content:flex-end;height:100%;}
header #gnav{display:flex;justify-content:flex-end;height:100%;}
header #gnav .nav{display:flex;align-items:center;height:100%;font-size:1.8rem;}
header #gnav .nav > li{display:flex;align-items:center;}
header #gnav .nav > li + li::before{content:"";display:block;width:1px;height:27px;background:#222;transform:rotate(30deg);}
header #gnav .nav > li a{display:block;padding:10px 25px;position:relative;}
header #gnav .nav > li a::after{content:"";display:block;width:50%;height:1px;background:#222;position:absolute;left:25%;bottom:10px;transform:scale(0,1);transition:.2s;transform-origin:left center;}
header #gnav .nav > li a:hover::after{transform:none;}
header #gnav .sns{display:flex;align-items:center;height:100%;margin-right:34px;}
header #gnav .sns a{display:block;padding:6px;}
header #gnav .sns a:hover{opacity:0.7;}
header .btn{height:100%;}
header .btn a{width:200px;font-size:2rem;display:flex;align-items:center;justify-content:center;height:100%;background:#222;color:#fff;border-left:1px solid #222;}
header .btn a:hover{background:#fff;color:#222;}
header #header-btn{display:none;}

/* -------------------------------------------------- */
/* footer */
/* -------------------------------------------------- */
footer{text-align:center;padding:0 0 40px;}
footer .logo{margin-bottom:10px;}
footer .name{font-size:2.2rem;margin-bottom:10px;}
footer .name span{font-size:1.4rem;display:block;}
footer .nav{display:flex;flex-wrap:wrap;justify-content:center;font-size:1.8rem;margin-bottom:25px;}
footer .nav > li{display:flex;align-items:center;}
footer .nav > li + li::before{content:"";display:block;width:1px;height:27px;background:#222;transform:rotate(30deg);}
footer .nav > li a{display:block;padding:10px 25px;position:relative;}
footer .nav > li a::after{content:"";display:block;width:50%;height:1px;background:#222;position:absolute;left:25%;bottom:10px;transform:scale(0,1);transition:.2s;transform-origin:left center;}
footer .nav > li a:hover::after{transform:none;}
footer .contact{display:flex;justify-content:center;gap:10px;margin-bottom:20px;}
footer .contact > div{width:280px;}
footer .contact > div a{display:flex;align-items:center;justify-content:center;gap:15px;background:#222;color:#fff;padding:15px 15px;border:1px solid #222;height:100%;line-height:1.3;}
footer .contact > div a:hover{background:#fff;color:#222;}
footer .contact > div.mail a::before{content:"";display:block;width:24px;height:24px;background:url(../img/icon_sns01_white.png) no-repeat;background-size:contain;transition:.2s;}
footer .contact > div.mail a:hover::before{background-image:url(../img/icon_sns01.png);}
footer .sns{display:flex;align-items:center;justify-content:center;margin-bottom:15px;}
footer .sns a{display:block;padding:6px;}
footer .sns a:hover{opacity:0.7;}
footer .copyright{font-size:1.2rem;}

/* -------------------------------------------------- */
/* common */
/* -------------------------------------------------- */
.v-sp{display:none!important;}
.v-tablet{display:none!important;}
.v-pc{display:block!important;}

/* container */
.container{max-width:1320px;padding:0 40px;margin:auto;position:relative;}
section > .container,.section > .container{padding:100px 60px;}
section > .container.p80,.section > .container.p80{padding-top:80px;padding-bottom:80px;}

/* ttl */
.common-ttl01{text-align:center;font-size:2rem;margin-bottom:40px;}
.common-ttl01 .en{display:block;font-size:4.8rem;color:#7e92a2;line-height:1;margin-bottom:10px;}
.common-ttl01.left{text-align:left;}

/* box */
.common-box01{background:#ebeff2;position:relative;padding:80px 20px;width:calc(100% - 80px);margin:auto;}
.common-box01::before{content:"";display:block;width:0;height:0;border-style:solid;border-width:47px 47px 0 0;border-color:#fff transparent transparent transparent;position:absolute;left:0;top:0;z-index:0;pointer-events:none;}
.common-box01::after{content:"";display:block;width:0;height:0;border-style:solid;border-width:0 47px 47px 0;border-color:transparent #fff transparent transparent;position:absolute;right:0;top:0;z-index:0;pointer-events:none;}
.common-box01 .common-box01-inner::before{content:"";display:block;width:0;height:0;border-style:solid;border-width:47px 0 0 47px;border-color:transparent transparent transparent #fff;position:absolute;left:0;bottom:0;z-index:0;pointer-events:none;}
.common-box01 .common-box01-inner::after{content:"";display:block;width:0;height:0;border-style:solid;border-width:0 0 47px 47px;border-color:transparent transparent #fff transparent;position:absolute;right:0;bottom:0;z-index:0;pointer-events:none;}
.container > .common-box01{width:100%;padding:80px;}

/* column */
.common-column01{display:flex;justify-content:space-between;gap:5%;align-items:flex-start;}
.common-column01.reverse{flex-direction:row-reverse;}
.common-column01 .inner{width:49%;align-self:center;}

.common-column02{display:flex;justify-content:space-between;gap:5%;}
.common-column02 .common-ttl01{margin-bottom:0;}
.common-column02 .inner{width:66%;}

/* img */
.common-img01{position:relative;}
.common-img01::before{content:"";display:block;width:2px;height:120px;background:#222;transform:rotate(45deg);position:absolute;right:25px;bottom:-30px;z-index:1;}
.common-img01::after{content:"";display:block;width:0;height:0;border-style:solid;border-width:0px 0px 90px 90px;border-color:transparent transparent #fff transparent;position:absolute;right:-17px;bottom:-17px;z-index:0;}
.common-img01.gray::after{border-color:transparent transparent #ebeff2 transparent;}

/* attention */
.common-attention01{font-size:1.2rem;line-height:1.4!important;}

/* -------------------------------------------------- */
/* #block-mv */
/* -------------------------------------------------- */
#block-mv{height:720px;container-type:inline-size;background:#e9f4f7;background-size:35% 100%;position:relative;overflow:hidden;}
/*
#block-mv::before{content:"";display:block;width:100%;height:100%;position:absolute;left:0;top:0;z-index:1;background:url(../img/mv_back.jpg) no-repeat left center;background-size:100% 100%;width:calc(100vw - 1026px);}
#block-mv::after{content:"";display:block;width:100%;height:100%;position:absolute;right:0;bottom:0;z-index:2;background:url(../img/mv.jpg) no-repeat center right;background-size:auto 100%;}
*/
#block-mv::after{content:"";display:block;width:100%;height:100%;position:absolute;right:0;bottom:0;z-index:2;background:url(../img/mv02.jpg) no-repeat center right;background-size:cover;opacity:0;}
#block-mv .container{display:flex;align-items:center;height:100%;position:relative;z-index:3;}
#block-mv .ttl{font-size:7.6rem;line-height:1.6;transform:translateX(-50px);opacity:0;}
#block-mv .ttl span{display:inline-block;}
#block-mv .ttl span::after{content:"";display:block;width:100%;height:2px;background:#222;margin:-5px 0 5px;opacity:0;transform:scale(0,1);transform-origin:left center;}
#block-mv .ttl span:last-child::after{width:calc(100% - 0.7em);}
#block-mv .txt{font-size:3.2rem;line-height:1.6;margin-top:35px;transform:translateX(-50px);opacity:0;}

#block-mv.animated .ttl{opacity:1;transform:none;transition:opacity .8s ease .2s,transform .8s ease .2s;}
#block-mv.animated .ttl span::after{opacity:1;transform:none;transition:opacity .8s ease .2s,transform .6s ease .4s;}
#block-mv.animated .ttl span:nth-of-type(2)::after{opacity:1;transform:none;transition:opacity .8s ease .4s,transform .6s ease .8s;}
#block-mv.animated .txt{opacity:1;transform:none;transition:opacity .8s ease .35s,transform .8s ease .35s;}
#block-mv.animated::after{opacity:1;transition:opacity 1.5s ease .2s;}

/* -------------------------------------------------- */
/* #block-concept */
/* -------------------------------------------------- */
#block-concept .column{display:flex;justify-content:space-between;gap:5%;}
#block-concept .column .inner{font-size:2rem;line-height:2;position:relative;}
#block-concept .column .inner p + p{margin-top:1.5em;}
#block-concept .column .inner .marker{background:#222;color:#fff;display:inline-block;padding:0 10px;line-height:1.6;}
#block-concept .column .inner::before{content:"";display:block;width:1px;height:64px;background:#222;transform:rotate(45deg);margin:0 auto 10px 20px;}
#block-concept .column .inner::after{content:"";display:block;width:1px;height:64px;background:#222;transform:rotate(45deg);margin:10px 20px 0 auto;}

/* -------------------------------------------------- */
/* #block-recommend */
/* -------------------------------------------------- */
#block-recommend .container{padding-top:0;}
#block-recommend .list-recommend{display:flex;flex-wrap:wrap;gap:20px;}
#block-recommend .list-recommend > li{width:calc((100% - 40px) / 3);background:#fff;border:1px solid #222;padding:30px 40px;}
#block-recommend .list-recommend > li p{line-height:2;}
#block-recommend .list-recommend > li p span{font-weight:bold;}
#block-recommend .list-recommend > li .sub-ttl{font-size:2rem;font-weight:bold;margin-bottom:8px;position:relative;padding-left:25px;}
#block-recommend .list-recommend > li .sub-ttl::before{content:"";display:block;width:15px;height:15px;background:url(../img/icon_list01.png) no-repeat;background-size:contain;position:absolute;left:0;top:0.35em;}
#block-recommend .lead{font-size:1.8rem;line-height:2;text-align:center;margin-top:35px;}

/* -------------------------------------------------- */
/* #block-reason */
/* -------------------------------------------------- */
#block-reason .column{border-top:1px solid #222;border-bottom:1px solid #222;display:flex;align-items:center;justify-content:center;gap:7%;padding:40px 0;}
#block-reason .column .ttl{font-size:4.4rem;white-space:nowrap;}
#block-reason .column .ttl span{font-size:5.6rem;}
#block-reason .column .txt{font-size:2rem;line-height:2;}
#block-reason .list-reason{display:flex;justify-content:center;gap:7%;max-width:1040px;margin:50px auto 0;text-align:center;}
#block-reason .list-reason > li{flex:1;font-size:1.8rem;}
#block-reason .list-reason > li .sub-ttl{font-size:2.4rem;font-weight:bold;background:#595959;color:#fff;line-height:1.4;padding:10px 10px 9px;margin-bottom:20px;}
#block-reason .list-reason > li .result{font-size:2rem;font-weight:bold;}
#block-reason .list-reason > li p + p{margin-top:5px;}

/* -------------------------------------------------- */
/* #block-improvement */
/* -------------------------------------------------- */
#block-improvement .container{padding-top:0;}
#block-improvement .list-improvement{display:flex;flex-wrap:wrap;gap:20px;}
#block-improvement .list-improvement > li{width:calc((100% - 20px) / 2);border:1px solid #222;text-align:center;font-size:1.8rem;font-weight:bold;padding:18px 10px;display:flex;align-items:center;justify-content:center;}

/* -------------------------------------------------- */
/* #block-feature */
/* -------------------------------------------------- */
#block-feature .container{padding-top:0;}
#block-feature .list-feature > li{padding-left:48px;position:relative;}
#block-feature .list-feature > li::before{content:"";display:block;width:31px;height:31px;background:url(../img/icon_list02.png) no-repeat;background-size:contain;position:absolute;left:0;top:50%;margin-top:-16px;}
#block-feature .list-feature > li + li{margin-top:25px;}
#block-feature .list-feature > li .sub-ttl{font-size:1.8rem;font-weight:bold;margin-bottom:2px;}
#block-feature .list-feature > li .common-attention01{margin-top:5px;}

/* -------------------------------------------------- */
/* #block-flow */
/* -------------------------------------------------- */
#block-flow{background:#ebeff2;}
#block-flow .list-flow{display:flex;gap:12px;counter-reset:item;}
#block-flow .list-flow > li{flex:1;background:#fff;border:1px solid #222;text-align:center;line-height:1.6;position:relative;}
#block-flow .list-flow > li + li::before{content:"";display:block;width:34px;height:77px;background:url(../img/flow_arrow.png) no-repeat;background-size:contain;position:absolute;left:-22px;top:50%;margin-top:-34px;z-index:3;}
#block-flow .list-flow > li .inner{padding:40px 20px;position:relative;overflow:hidden;}
#block-flow .list-flow > li .inner::before{content:counter(item)".";counter-increment:item;font-family:"Zen Old Mincho", serif;font-weight:500;font-style:normal;font-size:2.2rem;color:#fff;position:absolute;left:12px;top:10px;z-index:2;line-height:1;}
#block-flow .list-flow > li .inner::after{content:"";display:block;width:150px;height:150px;background:#595959;transform:rotate(45deg);position:absolute;left:-90px;top:-90px;z-index:1;}
#block-flow .list-flow > li .sub-ttl{font-size:2.2rem;}
#block-flow .list-flow > li .sub-ttl::after{content:"";display:block;width:48px;height:1px;background:#222;margin:10px auto 15px;}

/* -------------------------------------------------- */
/* #block-price */
/* -------------------------------------------------- */
#block-price .container{padding-bottom:0;}
#block-price dl div{display:flex;align-items:center;justify-content:space-between;gap:20px;}
#block-price dl div + div{border-top:1px solid #222;padding-top:35px;margin-top:35px;}
#block-price dl div .price{font-size:2.4rem;white-space:nowrap;}
#block-price dl div dd{display:flex;align-items:center;gap:20px;}
#block-price dl div dd .breakdown{font-size:1.4rem;width:232px;white-space:nowrap;}
#block-price .common-attention01{text-align:right;margin-top:45px;}

/* -------------------------------------------------- */
/* #block-address */
/* -------------------------------------------------- */
#block-address .container{padding-bottom:0;}
#block-address .inner{display:flex;align-items:center;justify-content:space-between;gap:20px;}
#block-address .inner p{line-height:2;}

/* -------------------------------------------------- */
/* #block-faq */
/* -------------------------------------------------- */
#block-faq .container{padding-bottom:0;}
#block-faq .list-faq > li + li{border-top:1px solid #222;}
#block-faq .list-faq > li .question{position:relative;cursor:pointer;}
#block-faq .list-faq > li .question::before{content:"";display:block;width:21px;height:1px;background:#222;position:absolute;right:30px;top:50%;z-index:1;}
#block-faq .list-faq > li .question::after{content:"";display:block;width:21px;height:1px;background:#222;position:absolute;right:30px;top:50%;z-index:1;transform:rotate(90deg);transition:.2s;}
#block-faq .list-faq > li.active .question::after{opacity:0;transform:none;}
#block-faq .list-faq > li .question span{display:block;font-weight:bold;padding:33px 65px;position:relative;z-index:0;}
#block-faq .list-faq > li.active .question span{background:#ebeff2;}
#block-faq .list-faq > li .question span::before{content:"Q.";font-size:2.4rem;color:#7e92a2;font-family:"Spectral", serif;font-weight:500;font-style:normal;position:absolute;left:25px;top:25px;}
#block-faq .list-faq > li .answer{display:none;padding:33px 20px 33px 65px;position:relative;}
#block-faq .list-faq > li .answer::before{content:"A.";font-size:2.4rem;color:#7e92a2;font-family:"Spectral", serif;font-weight:500;font-style:normal;position:absolute;left:25px;top:25px;}

/* -------------------------------------------------- */
/* #block-contact */
/* -------------------------------------------------- */
#block-contact .container{display:flex;gap:20px;}
#block-contact .item{flex:1;text-align:center;border:1px solid #222;padding:30px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
#block-contact .item .ttl{font-size:2.2rem;margin-bottom:20px;}
#block-contact .item .btn{width:100%;}
#block-contact .item .btn a{font-size:2rem;width:100%;max-width:280px;display:flex;align-items:center;justify-content:center;gap:15px;background:#222;color:#fff;padding:20px 15px;border:1px solid #222;margin:auto;}
#block-contact .item .btn a:hover{background:#fff;color:#222;}
#block-contact .item .btn.mail a:before{content:"";display:block;width:24px;height:24px;background:url(../img/icon_sns01_white.png) no-repeat;background-size:contain;transition:.2s;}
#block-contact .item .btn.mail a:hover::before{background-image:url(../img/icon_sns01.png);}
#block-contact .item .common-attention01{margin-top:20px;}

/* -------------------------------------------------- */
/* #block-profile */
/* -------------------------------------------------- */
#block-profile .container{padding-top:0;}
#block-profile .column{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;}
#block-profile .column + .column{border-top:1px solid #222;margin-top:80px;padding-top:80px;}
#block-profile .inner{flex:1;align-self:center;}
#block-profile .inner p{line-height:2;}
#block-profile .inner p span{font-weight:bold;}
#block-profile .inner p + p{margin-top:1.5em;}
#block-profile .inner.inner02{width:40%;flex:none;}
#block-profile .common-img01{max-width:58%;}
#block-profile .name{font-size:3.2rem;display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-bottom:15px;}
#block-profile .name span{font-size:2rem;}
#block-profile .column.reverse{flex-direction:row-reverse;}
#block-profile .img{width:50%;text-align:right;position:relative;}
#block-profile .img .img01{position:relative;z-index:1;max-width:62%;}
#block-profile .img .img02{position:relative;z-index:0;display:block;margin:-45% auto 0 0;max-width:62%;}
#block-profile .sub-ttl{font-size:3.2rem;margin-bottom:20px;}
#block-profile .sub-ttl .en{font-size:2.4rem;color:#98a6b2;display:block;}

/* -------------------------------------------------- */
/* animation */
/* -------------------------------------------------- */
/*
.animation{visibility:hidden;}
.animation.animated{visibility:visible;}
*/
@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,50px,0)}to{opacity:1;transform:translateZ(0)}}
.fadein{animation-duration:1s;animation-fill-mode:both;opacity:0.01;}
.fadein.animated{animation-name:fadeInUp;transition:.6s ease-out;}

/* ======================================================================================================================= */
/* for tablet */
/* ======================================================================================================================= */
@media screen and (min-width:1px) and (max-width:1339px){
	/* -------------------------------------------------- */
	/* common */
	/* -------------------------------------------------- */
	.v-pc{display:none!important;}
	.v-tablet{display:block!important;}

		/* -------------------------------------------------- */
	/* #block-mv */
	/* -------------------------------------------------- */
	#block-mv::after{background-position:75% center;}
	#block-mv .container{padding:0 8%;}
}
@media screen and (min-width:1px) and (max-width:1039px){
	body{padding-top:50px;}

	/* -------------------------------------------------- */
	/* header */
	/* -------------------------------------------------- */
	header{height:50px;}
	header #logo{width:100px;height:100px;padding:6px 8px 8px;z-index:102;}
	header #gnav{display:none;position:fixed;top:50px;right:0;background:#ebeff2;z-index:101;max-width:180px;width:100%;border-left:1px solid #222;}
	header #gnav .nav{display:block;height:auto;}
	header #gnav .nav > li{display:block;}
	header #gnav .nav > li{border-bottom:1px solid #222;}
	header #gnav .nav > li + li::before{display:none;}
	header #gnav .nav > li a{padding:15px 25px;}
	header #gnav .nav > li a:hover{background:#222;color:#fff;}
	header #gnav .nav > li a::after{display:none;}
	header #gnav .sns{height:auto;text-align:center;justify-content:center;margin:20px auto 60px;gap:10px;}
	header #header-btn{width:60px;height:50px;position:fixed;top:0;right:0;z-index:104;cursor:pointer;display:block;}
	header #header-btn span{display:inline-block;transition:all .2s;box-sizing:border-box;width:25px;position:absolute;top:50%;right:16px;height:1px;background-color:#222;}
	header #header-btn span:nth-of-type(1){transform:translateY(-6px);}
	header #header-btn span:nth-of-type(3){transform:translateY(6px);}
	header #header-btn.active span:nth-of-type(2){opacity:0;}
	header #header-btn.active span:nth-of-type(1){transform:rotate(30deg);}
	header #header-btn.active span:nth-of-type(3){transform:rotate(-30deg);}
	header .btn{position:absolute;right:60px;top:0;height:100%;}
	header .btn a{width:120px;padding:5px 10px;font-size:1.4rem;letter-spacing:0.08em;border-right:1px solid #222;}

	/* -------------------------------------------------- */
	/* common */
	/* -------------------------------------------------- */
	/* container */
	.container{padding:0 6%;}
	section > .container,.section > .container{padding:100px 6%;}

	/* box */
	.common-box01{width:95%;padding-left:0;padding-right:0;}
	.container > .common-box01{padding:80px 60px;}

	/* column */
	.common-column01{display:block;}
	.common-column01 .inner{width:100%;margin-bottom:40px;}
	.common-column01 .common-img01{width:fit-content;margin:auto;}
	.common-column02{display:block;}
	.common-column02 .common-ttl01{margin-bottom:40px;}
	.common-column02 .inner{width:100%;}

	/* -------------------------------------------------- */
	/* #block-mv */
	/* -------------------------------------------------- */
	#block-mv{height:65vw;}
	#block-mv .ttl{font-size:7vw;text-shadow:0 0 10px #f3fbfd,0 0 10px #f3fbfd,0 0 10px #f3fbfd;}
	#block-mv .txt{font-size:3.2vw;margin-top:2.4vw;text-shadow:0 0 10px #f3fbfd,0 0 10px #f3fbfd;}

	/* -------------------------------------------------- */
	/* #block-concept */
	/* -------------------------------------------------- */
	#block-concept .column{display:block;}
	#block-concept .common-ttl01.left{text-align:center;}
	#block-concept .column .inner{width:fit-content;margin:auto;}

	/* -------------------------------------------------- */
	/* #block-recommend */
	/* -------------------------------------------------- */
	#block-recommend .list-recommend > li{width:calc((100% - 20px) / 2);padding:25px 30px;}

	/* -------------------------------------------------- */
	/* #block-reason */
	/* -------------------------------------------------- */
	#block-reason .column{display:block;text-align:center;}
	#block-reason .column .txt{margin-top:15px;}
	#block-reason .list-reason{gap:20px;}
	#block-reason .list-reason > li .sub-ttl{font-size:2rem;}

	/* -------------------------------------------------- */
	/* #block-flow */
	/* -------------------------------------------------- */
	#block-flow .list-flow{display:block;}
	#block-flow .list-flow > li + li{margin-top:10px;}
	#block-flow .list-flow > li .inner{padding:25px 20px;}
	#block-flow .list-flow > li + li::before{left:50%;bottom:calc(100% - 20px);top:auto;margin-left:-12px;margin-top:0;transform:rotate(90deg);width:24px;height:50px;}

	/* -------------------------------------------------- */
	/* #block-contact */
	/* -------------------------------------------------- */
	#block-contact .container{display:block;}
	#block-contact .item{width:100%;max-width:550px;margin:auto;}
	#block-contact .item + .item{margin-top:20px;}

	/* -------------------------------------------------- */
	/* #block-profile */
	/* -------------------------------------------------- */
	#block-profile .column{display:block;}
	#block-profile .inner{margin-bottom:40px;}
	#block-profile .inner.inner02{width:100%;}
	#block-profile .common-img01{max-width:100%;width:fit-content;margin:auto;}
	#block-profile .img{margin:auto;width:75%;}
}

/* ======================================================================================================================= */
/* for sp */
/* ======================================================================================================================= */
@media screen and (min-width:1px) and (max-width:622px){
	body{font-size:1.4rem;}
	
	/* -------------------------------------------------- */
	/* header */
	/* -------------------------------------------------- */
	header #logo{width:90px;height:80px;left:15px;padding:5px 12px 8px;}

	/* -------------------------------------------------- */
	/* footer */
	/* -------------------------------------------------- */
	footer .name{font-size:2rem;}
	footer .name span{font-size:1.2rem;}
	footer .nav{font-size:1.5rem;}
	footer .nav > li a{padding:10px 15px;}
	footer .contact{display:block;}
	footer .contact > div{width:100%;max-width:280px;margin:auto;}
	footer .contact > div + div{margin-top:5px;}
	footer .contact > div a{font-size:1.6rem;white-space:nowrap;}
	footer .contact > div.mail a{gap:10px;}
	footer .contact > div.mail a::before{width:20px;height:20px;}

	/* -------------------------------------------------- */
	/* common */
	/* -------------------------------------------------- */
	.v-tablet{display:none!important;}
	.v-sp{display:block!important;}

	/* container */
	section > .container,.section > .container{padding-top:60px;padding-bottom:60px;}
	section > .container.p80,.section > .container.p80{padding-top:50px;padding-bottom:50px;}

	/* ttl */
	.common-ttl01{font-size:1.7rem;margin-bottom:30px;}
	.common-ttl01 .en{font-size:3.6rem;margin-bottom:4px;}

	/* box */
	.common-box01{width:100%;padding:60px 0;}
	.common-box01::before{border-width:30px 30px 0 0;}
	.common-box01::after{border-width:0 30px 30px 0;}
	.common-box01 .common-box01-inner::before{border-width:30px 0 0 30px;}
	.common-box01 .common-box01-inner::after{border-width:0 0 30px 30px;}

	/* column */
	.common-column01 .inner{margin-bottom:30px;}

	/* img */
	.common-img01::before{height:80px;right:15px;bottom:-25px;}
	.common-img01::after{border-width:0px 0px 60px 60px;right:-14px;bottom:-15px;}
	.container > .common-box01{padding:60px 6%;}

	/* attention */
	.common-attention01{font-size:1.1rem;}

	/* -------------------------------------------------- */
	/* #block-mv */
	/* -------------------------------------------------- */
	#block-mv{height:95vw;}
	#block-mv .container{padding:0 6%;}
	#block-mv::after{background-position:72% center;height:90%;}
	#block-mv .ttl{font-size:8.6vw;}
	#block-mv .txt{font-size:4vw;}
	/*
	#block-mv{height:120vw;}
	#block-mv::after{height:80%;background-position:80% center;}
	#block-mv .container{display:block;padding-top:15%;}
	*/

		/* -------------------------------------------------- */
	/* #block-concept */
	/* -------------------------------------------------- */
	#block-concept .column .inner{font-size:1.6rem;}
	#block-concept .column .inner .marker{display:inline;padding:0 5px;}
	#block-concept .common-ttl01{margin-bottom:0;}
	#block-concept .column .inner::before{height:42px;margin-left:15px;}
	#block-concept .column .inner::after{height:42px;margin-right:15px;}

	/* -------------------------------------------------- */
	/* #block-recommend */
	/* -------------------------------------------------- */
	#block-recommend .list-recommend{display:block;}
	#block-recommend .list-recommend > li{width:100%;padding:20px 25px 15px;}
	#block-recommend .list-recommend > li + li{margin-top:5px;}
	#block-recommend .list-recommend > li .sub-ttl{font-size:1.7rem;}
	#block-recommend .lead{font-size:1.6rem;margin-top:30px;text-align:left;}

	/* -------------------------------------------------- */
	/* #block-reason */
	/* -------------------------------------------------- */
	#block-reason .column{padding:30px 0;}
	#block-reason .column .ttl{font-size:2.6rem;}
	#block-reason .column .ttl span{font-size:4rem;}
	#block-reason .column .txt{font-size:1.6rem;margin-top:10px;}
	#block-reason .list-reason{display:block;margin-top:30px;}
	#block-reason .list-reason > li{font-size:1.5rem;}
	#block-reason .list-reason > li + li{margin-top:30px;}
	#block-reason .list-reason > li .sub-ttl{font-size:1.8rem;margin-bottom:15px;}
	#block-reason .list-reason > li .result{font-size:1.6rem;}

	/* -------------------------------------------------- */
	/* #block-improvement */
	/* -------------------------------------------------- */
	#block-improvement .container{padding-top:30px;}
	#block-improvement .list-improvement{display:block;}
	#block-improvement .list-improvement > li{width:100%;font-size:1.6rem;padding:12px 10px;}
	#block-improvement .list-improvement > li + li{margin-top:5px;}

	/* -------------------------------------------------- */
	/* #block-feature */
	/* -------------------------------------------------- */
	#block-feature .list-feature > li::before{width:20px;height:20px;margin-top:-10px;}
	#block-feature .list-feature > li{padding-left:35px;}
	#block-feature .list-feature > li .sub-ttl{font-size:1.7rem;}

	/* -------------------------------------------------- */
	/* #block-flow */
	/* -------------------------------------------------- */
	#block-flow .list-flow > li .inner{padding:20px 15px 25px;}
	#block-flow .list-flow > li .sub-ttl{font-size:2rem;}
	#block-flow .list-flow > li .sub-ttl::after{margin:5px auto 10px;}
	#block-flow .list-flow > li .inner::before{font-size:1.8rem;}
	#block-flow .list-flow > li .inner::after{left:-95px;top:-95px;}

	/* -------------------------------------------------- */
	/* #block-price */
	/* -------------------------------------------------- */
	#block-price .container{padding-bottom:20px;}
	#block-price dl div dt{white-space:nowrap;width:8em;}
	#block-price dl div dd{display:block;}
	#block-price dl div dd .price{font-size:2.2rem;display:block;text-align:right;}
	#block-price dl div dd .breakdown{text-align:right;font-size:1.2rem;margin-right:-5px;}
	#block-price dl div dd .breakdown:empty{display:none;}
	#block-price dl div + div{margin-top:20px;padding-top:20px;}
	#block-price .common-attention01{margin-top:30px;}

	/* -------------------------------------------------- */
	/* #block-address */
	/* -------------------------------------------------- */
	#block-address .container{padding-bottom:20px;}
	#block-address .inner{display:block;}
	#block-address .inner .common-attention01{margin-top:20px;}	
	
	/* -------------------------------------------------- */
	/* #block-faq */
	/* -------------------------------------------------- */
	#block-faq .container{padding-bottom:20px;}
	#block-faq .common-ttl01{margin-bottom:25px;}
	#block-faq .list-faq > li .question span{padding:20px 40px;}
	#block-faq .list-faq > li .question::before,
	#block-faq .list-faq > li .question::after{width:11px;right:10px;}
	#block-faq .list-faq > li .question span::before{font-size:2rem;left:10px;top:15px;}
	#block-faq .list-faq > li .answer{padding:20px 0 20px 40px;}
	#block-faq .list-faq > li .answer::before{font-size:2rem;left:10px;top:15px;}

	/* -------------------------------------------------- */
	/* #block-contact */
	/* -------------------------------------------------- */
	#block-contact .item{padding:20px 20px;}
	#block-contact .item + .item{margin-top:10px;}
	#block-contact .item .ttl{font-size:1.8rem;margin-bottom:15px;}
	#block-contact .item .common-attention01{margin-top:15px;}
	#block-contact .item .btn a{font-size:1.8rem;gap:10px;padding:15px;}
	#block-contact .item .btn.mail a:before{width:20px;height:20px;}

	/* -------------------------------------------------- */
	/* #block-profile */
	/* -------------------------------------------------- */
	#block-profile .container{padding-left:0;padding-right:0;}
	#block-profile .name{font-size:2.4rem;gap:15px;margin-bottom:10px;}
	#block-profile .name span{font-size:1.6rem;}
	#block-profile .inner{margin-bottom:30px;}
	#block-profile .inner.inner02{margin-bottom:10px;}
	#block-profile .column + .column{margin-top:50px;padding-top:40px;}
	#block-profile .sub-ttl{font-size:2.4rem;}
	#block-profile .sub-ttl .en{font-size:2rem;}
	#block-profile .img{width:85%;}
}
@media screen and (min-width:1px) and (max-width:374px){
	html{font-size:56%;}
}