@charset "UTF-8";
/*
Theme Name: NewSite
*/
/* ----------------------------- リセット */
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, 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; }
body { line-height: 1; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; content: none; }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
ins { background-color: #ff9; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; 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; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
input, select { vertical-align: middle; }
img { vertical-align: top; font-size: 0; line-height: 0; }
sup { font-size: 8px; }
em { font-style: normal; }
div:before, div:after, ul:before, ul:after, ol:before, ol:after, dl:before, dl:after { content: ""; display: block; }
div:after, ul:after, ol:after, dl:after { clear: both; }
div, ul, ol, dl { zoom: 1; }
h1, h2, h3, h4, h5, h6{ font-weight: normal; }

ul#wp-admin-bar-root-default:after { clear: none; }

/* ----------------------------- 全体 */
html, body {
	overflow-x: hidden;
}

body { font-size: 16px; line-height: 1.8; color: #333; font-family: "A-OTF フォーク Pro", "A-OTF 新ゴ Pro",A-OTF Shin Go Pro,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; background: #fff; position: relative; }

a:link, a:visited { color: #333; text-decoration: underline; }
a:hover, a:active { text-decoration: none; }
a, a img { -webkit-transition: 0.2s ease all; -moz-transition: 0.2s ease all; -ms-transition: 0.2s ease all; transition: 0.2s ease all; }
a:hover img { opacity: 0.65; -ms-filter: "alpha(opacity=65)"; filter: alpha(opacity=65); }

.pc{ display: block; }
.sp,.infosp{ display: none; }

.inline_pc{ display: inline; }
.inline_sp{ display: none; }

img, .bx-wrapper img { max-width: 100%; height: auto; }



/* ----------------------------- 共通 */

.wrap{
	width: 1000px;
	margin: 0 auto;
	position: relative;
}

.wrap900{
	width: 900px;
	margin: 0 auto;
	position: relative;
}

.wrap800{
	width: 800px;
	margin: 0 auto;
	position: relative;
}

.wrap700{
	width: 700px;
	margin: 0 auto;
	position: relative;
}



.color1{
	color: #4eb2af;
}

.color2{
	color: #ed1e51;
}

.color3{
	color: #7f6128;
}


/* ----------------------------- フェードイン */

.fadein{
	opacity: 0;
    transform : translate(0, 0);
    transition : all 800ms;
}

.scrollin{
	opacity : 1;
    transform : translate(0, 0);
}


.fadein_bottom{
	opacity: 0;
    transform : translate(0, 50px);
    transition : all 800ms;
}

.scrollin{
	opacity : 1;
    transform : translate(0, 0);
}


.fadein_left{
	opacity: 0;
    transform : translate(-50px, 0);
    transition : all 800ms;
}

.scrollin_left{
	opacity : 1;
    transform : translate(0, 0);
}


.fadein_right{
	opacity: 0;
    transform : translate(50px, 0);
    transition : all 800ms;
}

.scrollin_right{
	opacity : 1;
    transform : translate(0, 0);
}



.fadein1{
	opacity: 0;
    transform : translate(0, 0);
    transition : all 800ms;
}

.fadein2{
	opacity: 0;
    transform : translate(0, 0);
    transition : all 800ms;
}

.fadein3{
	opacity: 0;
    transform : translate(0, 0);
    transition : all 800ms;
}

.fadein4{
	opacity: 0;
    transform : translate(0, 0);
    transition : all 800ms;
}

.scrollin{
	opacity : 1;
    transform : translate(0, 0);
}

/* ----------------------------- お問い合わせ誘導 */

.induction {
	text-align: center;
	margin-top: 100px;
}

.induction p{
	font-size: 18px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}

.induction .induction_tit{
	margin-top: 20px;
    font-size: 24px;
    font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
    line-height: 1.2;
}

.induction .induction_tit a{
	text-decoration: none;
}

.induction .induction_tit a:hover{
	opacity: 0.65;
}

.induction .adrress{
	font-size: 16px;
	margin-top: 0;
}

.induction .tel{
	font-size: 24px;
	line-height: 1;
	color: #4eb2af;
	font-family: "游ゴシック体", "Yu Gothic", sans-serif;
	margin-top: 15px;
}

.induction .tel .number{
	font-size: 44px;
    font-weight: 500;
}

.induction .fax{
	font-size: 24px;
	color: #4eb2af;
	font-family: "游ゴシック体", "Yu Gothic", sans-serif;
	margin-top: 10px;
}

.induction .btn {
	width: 450px;
	margin: 20px auto 0;
	position: relative;
	overflow: hidden;
}

.induction .btn a:hover img{
	opacity: 1;
}

/* =====================
 LINE誘導
 ===================== */
.line_section {
	display: inline-block;
	margin: 24px 0;
	padding: 24px;
	border-radius: 8px;
	background: #f4f9f4;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}

.line_content {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 16px;
	z-index: 2;
}

.line_text {
	text-align: left;
	padding-right: 32px;
}

.line_main_text {
	margin-bottom: 8px;
	color: #4eb2af;
	font-size: 24px;
	font-weight: bold;
}

.line_sub_text {
	margin-bottom: 4px;
	font-size: 18px;
}

.line_benefits {
	font-size: 16px;
}

.line_qr_area {
	text-align: center;
}

.qr_code {
	max-width: 120px;
}

.qr_code img {
	border: 1px solid #777;
	border-radius: 8px;
}

.qr_instruction {
	margin-top: 4px;
	font-size: 12px;
	font-weight: bold;
}


/* =====================
 ファーストビューからの誘導
 ===================== */
.cta-button-wrap {
	position: absolute;
	top: 6%;
	right: 5%;
	opacity: 0;
	transform: translateX(20px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}

.cta-button-wrap.is-visible {
	opacity: 1;
	transform: translateX(0);
}

.cta-button {
	position: relative;
	display: inline-block;
	background-color: #e66878;
	color: #fff !important;
	padding: 16px 32px;
	font-size: 1.6vw;
	text-decoration: none !important;
	border-radius: 50px;
	box-shadow: 0 4px 10px rgba(0,0,0,0.2);
	transition: background-color 0.3s ease;
	z-index: 1;
}

.cta-button:hover {
	background-color: #2BB1AA;
}

.hand-wrapper {
	position: absolute;
	top: 72%;
	left: 88%;
	width: 5.6vw;
	overflow: visible;
}

.hand-icon {
	position: absolute;
	width: 100%;
	animation: floatUpDown 1.8s ease-in-out infinite;
	transform-origin: top left;
	z-index: 1000;
}

/* 上下にふわふわ動く */
@keyframes floatUpDown {
	0% { transform: translateY(0); }
	50% { transform: translateY(-4px); }
	100% { transform: translateY(0); }
}


/* ----------------------------- マップ */

.map_block{
	margin-top: 100px;
}

.map_block h3{
	font-size: 24px;
	font-weight: bold;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
	margin-bottom: 10px;
	text-align: center;
}

.map_block h3 img{
	width: 260px;
}

.map_box{
	background: rgba(77,171,167,0.2);
	padding: 3%;
}

.map_block .table{
	float: left;
	width: 48%;
}

.map_block .table table{
	width: 100%;
	font-size: 14px;
	border-top: 1px solid #fff;
}

.map_block .table tr{
	border-bottom: 1px solid #fff;
}

.map_block .table th{
	padding: 15px 0;
	text-align: left;
	width: 20%;
}

.map_block .table td{
	padding: 15px 10px;
}

.map_block .map{
	float: right;
	width: 48%;
}


/* ----------------------------- ヘッダー */
header {
	position: relative;
}


header .logo{
	width: 250px;
	position: absolute;
	left: 25%;
	top: 40px;
}

header .logo a{
	text-decoration: none;
	display: block;
}

header .logo a:hover{
	opacity: 0.65;
}

header .logo h1{
	font-size: 16px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
	font-weight: bold;
}



/* ----------------------------- kv */
/*
.kv{
	background: url(images/kv.png) top center no-repeat;
	background-size: cover;
	height: 100vh;
}*/





/* ----------------------------- コンテンツ */

.block1{
	margin-top: -160px;
}

.block1 .tit{
	text-align: center;
	margin-bottom: 100px;
}

.block1 .tit h2{
	font-size: 30px;
	display: inline-block;
	vertical-align: middle;
	line-height: 1.4;
}

.block1 .tit .tit_box{
	display: inline-block;
	vertical-align: middle;
}

.block1 .tit .circle{
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	background: #ed1e51;
    border-radius: 50%;
    /*padding: 5px 20px 15px;*/
    width: 90px;
    height: 90px;
    font-size: 18px;
    line-height: 1.4;
    margin-left: 10px;
}

.block1 .tit .circle p{
	margin-top: 7px;
}

.block1 .tit .circle span{
	font-size: 30px;
}

.block1 .tit .price{
	display: inline-block;
	vertical-align: middle;
	
	margin-left: 10px;
}

.block1 .tit .price .price_txt{
	color: #ed1e51;
	font-size: 60px;
	line-height: 1.4;
}

.block1 .tit .price span{
	font-size: 30px;
}

.block1 .tit .tit_box .txt{
	text-align: left;
    padding-left: 3px;
    margin-top: -5px;
}


.block1 h3{
	text-align: center;
	color: #7f6128;
	font-size: 40px;
	line-height: 1;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}



.block2{
	background: url(images/block_img2.webp) center no-repeat;
	background-size: cover;
	padding: 100px 0;
}

.block2 .txt{
	float: right;
	width: 50%;
}

.block2 .txt h2{
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
	font-size: 30px;
	line-height: 1.4;
	color: #4eb2af;
}

.block2 .txt p{
	margin-top: 10px;
}





.block3{
	padding: 100px 0;
	text-align: center;
}

.block3 h2{
	font-size: 30px;
	line-height: 1.4;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}

.block3 h2 small{
	font-size: 24px;

}

.block3 ul{
	margin-top: 80px;
}

.block3 li{
	display: inline-block;
	vertical-align: top;
	width: 21%;
	margin-right: 3%;
	text-align: center;
}

.block3 li:last-child{
	margin-right: 0;
}

.block3 li p{
	margin-top: 10px;
	line-height: 1.6;
}

.block3 li p small{
	font-size: 10px;
}

.block3 li p .color2{
	font-size: 18px;
}




.block4{
	padding: 100px 0;
	background: #fdf6ef;
}

.block4 h2{
	font-size: 30px;
	line-height: 1.4;
	text-align: center;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}

.block4 .read{
	margin-top: 10px;
	font-size: 18px;
	text-align: center;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}

.block4 ul{
	margin-top: 80px;
}

.block4 li{
	margin-bottom: 60px;
	/*overflow: hidden;*/
}

.block4 li .img{
	/*float: left;*/
    display: inline-block;
    vertical-align: middle;
	width: 30%;
}

.block4 li .txt{
	/*float: right;*/
	display: inline-block;
    vertical-align: middle;
	width: 65%;
}

.block4 li .txt h3{
	font-size: 26px;
	color: #7f6128;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}

.block4 li .txt p{
	margin-top: 10px;
}





.block5{
	padding: 100px 0;
}

.block5 .tit{
	position: relative;
    width: 600px;
    margin: 0 auto;
}

.block5 .tit .txt{
	padding-top: 100px;
}

.block5 .tit .txt h2{
	font-size: 40px;
	color: #dc687b;
}

.block5 .tit .txt p{
	margin-top: 10px;
	font-size: 20px;
}

.block5 .tit .img{
	position: absolute;
	top: 0;
	right: -80px;
	z-index: -1;
}

.block5 .step{
	margin-top: 100px;
	text-align: center;
}

.block5 .step li{
	margin-bottom: 80px;
	overflow: hidden;
}

.block5 .step li .icon{
	background: url(images/block5_ornament1.png) center no-repeat;
	background-size: contain;
}

.block5 .step li h3{
	color: #dc687b;
	font-size: 28px;
	margin-top: 20px;
}

.block5 .step li p{
	margin-top: 10px;
}


.block5 .img_box{
	margin-top: 100px;
	text-align: center;
}

.block5 .img_box li{
	display: inline-block;
	vertical-align: top;
	width: 40%;
	margin-right: 5%;
}

.block5 .img_box li:last-child{
	margin-right: 0;
}

.block5 .img_box li p{
	margin-top: 10px;
	text-align: left;
	font-size: 14px;
}

.block6.bg-lazyloaded{
	background: url(images/block_bg1.png) center no-repeat;
	background-size: cover;
	padding: 100px 0;
}

.block6 h2{
	text-align: center;
}

.block6 ul{
	margin-top: 60px;
}

.block6 li{
	background: #fff;
	border: 3px solid #e1cbb2;
	border-radius: 20px;
	position: relative;
	overflow: hidden;
	padding: 3%;
	margin-bottom: 40px;
}

.block6 li .icon{
	float: left;
	width: 9%;
}

.block6 li .txt{
	float: left;
	width: 88%;
	margin-left: 3%;
}

.block6 li .txt h3{
	font-size: 20px;
	color: #4eb2af;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
	font-weight: bold;
}

.block6 li .txt p{
	margin-top: 10px;
}

.block7{
	padding: 100px 0;
}

.block7 .tit{
	background: url(images/block_img13.webp) center no-repeat;
	background-size: cover;
    padding: 130px 0;
	font-size: 40px;
	line-height: 1.2;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}

.block7 h2{
	width: 500px;
	margin: 0 auto;
}

.block7 h2 span{
	float: right;
}

.block7 h2 .big{
	font-size: 76px;
    color: #4eb2af;
    font-weight: normal;
}

.block7 .try li{
	margin-bottom: 60px;
	overflow: hidden;
}

.block7 .try li .icon{
	text-align: center;
}

.block7 .try li h3{
	color: #7f6128;
	font-size: 30px;
	line-height: 1;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
	margin-top: 20px;
}

.block7 .try li.li1 h3 span{
	color: #86ab27;
}

.block7 .try li.li2 h3 span{
	color: #db8f00;
}

.block7 .try li.li3 h3 span{
	color: #c25160;
}

.block7 .try li p{
	margin-top: 30px;
}

.block7 .img_box{
	margin-top: 100px;
	text-align: center;
}

.block7 .img_box li{
	display: inline-block;
	vertical-align: top;
	width: 40%;
	margin-right: 5%;
}

.block7 .img_box li:last-child{
	margin-right: 0;
}

.block8.bg-lazyloaded{
	background: url(images/block_img16.webp) center no-repeat;
	background-size: cover;
	padding: 100px 0;
}

.block8 .txt h2{
	font-size: 32px;
	line-height: 1.6;
}

.block8 .txt h2 small{
	font-size: 22px;
}

.block8 .txt h2 small span{
	font-size: 18px;
}

.block8 .txt h2 .color1 strong{
	font-size: 46px;
	font-weight: normal;
}

.block8 .txt h2 .color3{
	font-size: 38px;
}

.block9{
	padding: 100px 0;
}

.block9 h2{
	color: #4eb2af;
	font-size: 30px;
	line-height: 1.4;
}

.block9 p{
	margin-top: 40px;
}

.block9 .box{
	margin-top: 80px;
}

.block9 .box .img{
	float: left;
	width: 20%;
}

.block9 .box .txt{
	float: left;
	width: 76%;
    margin-left: 4%;
}

.block9 .box .txt h3{
	font-size: 24px;
}

.block9 .box .txt h3 span{
	font-size: 14px;
	margin-left: 2em;
}

.block9 .box .txt p{
	margin-top: 20px;
	padding-top: 20px;
	border-top: 2px solid #000;
	position: relative;
}

.block9 .box .txt p:before{
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #4eb2af;
	position: absolute;
	top: -6px;
	left: 0;
}

.block10.bg-lazyloaded{
	width: 100%;
	background: url(images/block_bg1.png) center no-repeat;
	background-size: cover;
	padding: 100px 0 200px;
}

.block10 h2{
	text-align: center;
}

.block10 .read{
	margin-top: 10px;
	text-align: center;
}


.block10 .box{
	background: #fff;
	border: 3px solid #e1cbb2;
	border-radius: 20px;
	padding: 5%;
	text-align: center;
	margin-top: 40px;
}

.block10 .box h3{
	font-size: 40px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
	line-height: 1.4;
	color: #4eb2af;
	border-bottom: 2px solid #000;
	padding-bottom: 10px;
	position: relative;
	text-align: center;
	display: inline-block;
}

.block10 .box h3:before{
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background: #4eb2af;
	border-radius: 50%;
	position: absolute;
	left: 0;
	bottom: -6px;
}

.block10 .box h3:after{
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background: #4eb2af;
	border-radius: 50%;
	position: absolute;
	right: 0;
	bottom: -6px;
}

.block10 .box table{
	text-align: left;
	width: 100%;
	margin-top: 60px;
}

.block10 .box table th{
	vertical-align: top;
	padding: 20px 0;
	font-weight: normal;
}

.block10 .box table td{
	padding: 20px;
}

.block10 .box table td p{
	margin-top: 10px;
}

.block10 .box table td p.caution{
	color: #dc687b;
}

.block10 .box table td p.treatment_txt{
	margin-top: 0;
	margin-bottom: 10px;
}

.block10 .box table td .inner{
	margin-top: 10px;
}

.block10 .box table td .preferred{
	margin-top: 0;
}

.block10 .box table td .preferred thead th{
	text-align: center;
}

.block10 .box table td .preferred th,
.block10 .box table td .preferred td{
	padding: 5px;
	text-align: center;
}

.block10 .box table td input[type="text"],
.block10 .box table td input[type="tel"],
.block10 .box table td input[type="email"]{
	width: 98%;
	padding: 5px;
	font-size: 16px;
	background: rgba(255,236,45,0.1);
	box-shadow: inset 1px 1px 2px rgba(0,0,0,0.1);
	border: 1px solid #ccc;
}

.block10 .box table td select{
	padding: 5px;
	padding-right: 1.2em;
    padding-left: 7px;
	font-size: 16px;
	background: rgba(255,236,45,0.1) url(images/select_icon.png) center right 5px no-repeat;
	background-size: 10px;
	box-shadow: inset 1px 1px 1px rgba(0,0,0,0.3);
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #ccc;
}

.block10 .box table td textarea{
	width: 98%;
	padding: 5px;
	font-size: 16px;
	background: rgba(255,236,45,0.1);
	box-shadow: inset 1px 1px 1px rgba(0,0,0,0.3);
	border: 1px solid #ccc;
	line-height: 1.6;
}


.required{
	color: #fff;
	background: #dc687b;
	font-size: 14px;
	margin-right: 1em;
	padding: 0 10px 3px;
}

.any{
	color: #fff;
	background: #808080;
	font-size: 14px;
	margin-right: 1em;
	padding: 0 10px 3px;
}


.block10 .box .agreement{
	text-align: left;
	margin-top: 40px;
}

.block10 .box .agreement h4{
	font-size: 30px;
	line-height: 1.4;
	color: #dc687b;
	text-align: center;
}

.block10 .box .agreement p.caution{
	margin-top: 30px;
	color: #dc687b;
}

.block10 .box .agreement h5{
	font-weight: normal;
	font-size: 14px;
	margin-top: 10px;
}

.block10 .box .agreement li{
	font-size: 14px;
	padding-left: 1em;
	text-indent: -1em;
}

.block10 .box .agreement p{
	margin-top: 10px;
	font-size: 14px;
}

.block10 .box .agreement p.tel_number{
	margin-top: 0;
}


.block10 .box .contact_btn{
	margin-top: 60px;
}

.block10 .box .contact_btn input,
.block10 .box .contact_btn button{
	background: rgba(220,104,123,0.25);
	border: 0;
	color: #ed1e51;
	font-size: 20px;
	text-align: center;
	width: 500px;
	padding: 15px 0;
	cursor: pointer;
	/*margin: 0 auto;*/
	-webkit-appearance: none;
   border-radius: 0;
   transition: 0.4s;
}

.block10 .box .contact_btn input:hover,
.block10 .box .contact_btn button:hover{
	background: rgba(77,170,167,0.25);
	color: #4eb2af;
	transition: 0.4s;
}


.block10 .box .contact_btn .li{
	margin-bottom: 40px;
}

.block10 .box .contact_btn .li:last-child{
	margin-bottom: 0;
}



/* ----------------------------- 送信完了 */

.thanks{
	padding: 280px 0;
}

.thanks p{
	text-align: center;
    font-size: 18px;
    line-height: 2.4;
}


/* ----------------------------- フッター */

.footer.bg-lazyloaded{
	background: url(images/footer_bg.png) top center no-repeat;
	background-size: cover;
	text-align: center;
	color: #fff;
	padding: 130px 0 10px;
    margin-top: -120px;
}

.footer h2{
	font-size: 30px;
	line-height: 1.4;
	margin-top: 20px;
}

.footer h2 a{
	color: #fff;
	text-decoration: none;
}

.footer h2 a:hover{
	opacity: 0.65;
}

.footer p{
	margin-top: 10px;
	font-size: 14px;
}

.footer p a{
	color: #fff;
}

.footer .copy{
	margin-top: 20px;
	font-size: 14px;
}

.pagetop{
	right: 20px;
	/*bottom: 30px;*/
}

/* =====================
 infobar
 ===================== */
.infobar {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}