@charset "UTF-8";

/*
Theme Name: オリジナルテーマ
Author: Yoko Dohi
*/


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-style: normal;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input[type="text"],
input[type="password"],
textarea,
select,*:focus {
	outline: none;
}


/*====================================================
////id |  common
====================================================*/
html{
	font-size: 10px;
	font-size: 62.5%;
	width: 100%;
	max-width: 100vw;
}

:root {
	--mainColor: #8CC63F;
	--red: #de3030;

    --green: #8CC63F;
    --l_green: #F9FCF5;
    --y_green: #d9e021;
    --beige: #E3E3DA;
    --l_beige: #F7F5EF;
    
    --w_gray: #F9F9F9;
	--l_gray: #D6D6D6;
	--l_gray2: #C9C9C9;
	--gray: #9A9A9A;
	--black: #494949;

	--font_family: 'Zen Maru Gothic', "Yu Gothic", "游ゴシック Medium", "YuGothic", "游ゴシック体", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    --f_kaku: 'Zen Kaku Gothic New', "Yu Gothic", "游ゴシック Medium", "YuGothic", "游ゴシック体", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

body, button, input, select, optgroup, textarea {
	color: var(--black);
	font-family: var(--font_family);
	font-size: min(3.73vw, 17px);
	font-size: min(3.73vw, 1.7rem);
    font-weight: 500;
	line-height: 1.8;
}
button, input, select, optgroup, textarea {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}
/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

body {
	background: #fff;
    letter-spacing: .02em;
	position: relative;
	width: 100%;
	height: auto;
}
* {
	min-height:0;
	min-width : 0;
}

body * {
	box-sizing: border-box;
}
body.scroll-lock {
    position: fixed;
    overflow: hidden;
    width: 100%;
}

section {
	position: relative;
	max-width: 100vw;
	z-index: 2;
}
a {
	display: inline-block;
	color: inherit;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	cursor: pointer;
	outline:none;
	position: relative;
	text-decoration: none;
	transition: 0.3s ease-in-out;
	/* vertical-align: middle; */
}
.tel_link a {
	color: inherit !important;
	text-decoration: none !important;
}
.tel_linkBtn {
	pointer-events: none;
}
.fax a {
	color: inherit !important;
	text-decoration: none !important;
	pointer-events: none;
}

.underline {
	-webkit-text-decoration: underline solid 1px;
	text-decoration: underline solid 1px;
	text-underline-position: under;
	text-underline-offset: 0.1em;
}
p a:not(.linkBtn) ,
.bodyText ul:not(.page-numbers):not(.not_set) li a:not(.linkBtn) ,
.bodyText ol li a:not(.linkBtn) ,
dd a:not(.linkBtn):not(.cate_item) ,
a.underline {
	color: var(--d_blue);
	-webkit-text-decoration: underline solid 1px;
	text-decoration: underline solid 1px;
	text-underline-position: under;
	text-underline-offset: 0.1em;
}

img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	display: block;
	/* margin: auto; */
}

figure {
	margin: 0;
	position: relative;
}
figure img {
	position: relative;
}
.coverImg {
	overflow: hidden;
	padding-top: 65%;
	width: 100%;
}
figure.coverImg img {
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
}
figure.coverImg.contain img {
	-o-object-fit: contain;
	   object-fit: contain;
}
figure figcaption.noImage {
	background: #f2faff;
	color: var(--red);
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 2.0rem;
	font-weight: bold;
	position: absolute;
		top: 0;
		left: 0;
	width: 100%;
	height: 100%;
}

.scaleUpImg figure {
	overflow: hidden;
}
.scaleUpImg img {
	transition: .4s ease-in-out;
}

.round {
	border-radius: 10px;
	overflow: hidden;
}

figure.square {
	display: block;
	width: 100%;
	padding-top: 100%;
}
figure.square img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

#contents {
	width: 100%;
	transition: .2s ease-in-out;
	position: relative;
	z-index: 1;
}
.innerBox{
	margin: 0 auto;
	padding: min(13vw, 130px) 0;
	position: relative;
	width: min(90%, 1200px);
	z-index: 2;
}
.innerBox .innerBox {
	width: 100%;
}

.block {display: block;}
.inb {display: inline-block;}
.relative { position: relative; z-index: 1;}
.flexBox {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.flexCenter {
	align-items: center;
	justify-content: center;
}
.flexStart {
	justify-content: flex-start;
}
.flexEnd {
	justify-content: flex-end;
}
.flexWrap {
	flex-wrap: wrap;
}
.flexColumn {
	flex-direction: column;
	justify-content: flex-start;
}
.flex-1 {
	flex: 1;
}
.gridBox {
	display: grid;
}
dl.gridBox {
	grid-template: 'dt dd';
	grid-template-columns: auto 1fr;
}
dl.gridBox dd {
	grid-column: 2;
	word-break: break-word;
}

p + p {margin-top: 2em;}

.mw300 {max-width: 300px; margin: auto;}
.mw400 {max-width: 400px; margin: auto;}
.mw500 {max-width: 500px; margin: auto;}
.mw600 {max-width: 600px; margin: auto;}
.mw700 {max-width: 700px; margin: auto;}
.mw800 {max-width: 800px; margin: auto;}
.mw900 {max-width: 900px; margin: auto;}
.mw1000 {max-width: 1000px; margin: auto;}
.mw1100 {max-width: 1100px; margin: auto;}
.mw1200 {max-width: 1200px; margin: auto;}
.mw-none {max-width: none;}

input[type="radio"], input[type="checkbox"] {
	display: none;
}

.decoBox {
	position: absolute;
}

.over_hidden {
	overflow: hidden;
}
.hidden {
	display: none;
}

hr {
	background: var(--gray);
	border: none;
	height: 1px;
	opacity: .4;
}

::before, ::after {
    pointer-events: none;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.hidden-mob {
		display: none;
	}
	.display-mob {
		display: block;
	}

	figure figcaption.noImage {
		font-size: 1.6rem;
	}
	.whiteBox {
	}
	.flexColumn-mob ,
	.flexColumn-tab {
		flex-direction: column;
	}
	dl.gridBox.responsive ,
	dl.formItem {
		grid-template: 'dt' 'dd';
	}
	dl.gridBox.responsive dd ,
	dl.formItem dd {
		grid-column: 1;
	}
}

@media screen and (max-width:500px) {

	.hidden-small {
		display: none;
	}
	.display-small {
		display: block;
	}
}

@media screen and (max-width: 1060px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {

	.hidden-pc_d-tab,
	.hidden-pc {
		display: none;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	.flexColumn-tab {
		flex-direction: column;
	}
	.hidden-tab {
		display: none;
	}
	.hidden-pc_d-tab ,
	.display-tab {
		display: block;
	}
}

@media screen and (min-width:960px) and (max-width:1300px) {
	.display-small_pc {
		display: block;
	}
}

@media screen and (min-width:1330px) {
	.hidden-wide {
		display: none;
	}
	.display-wide {
		display: block;
	}
}

@media (hover: hover) { /*NOTE ホバー処理*/
	a:not([class]):hover ,
	p a:hover {
		opacity: .7;
	}
	a.opacity-1:hover {
		opacity: 1;
	}
	.scaleUpImg:hover img {
		transform: scale(1.05);
	}
	a.scaleUpImg:hover {
		opacity: 1;
	}
    a.scaleUpLink:hover {
        transform: scale(1.02);
    }
}

.h100 {
	height: 100%;
}
.w100 {
	width: 100%;
}

/*====================================================
// NOTE |  余白
====================================================*/
.ma-auto {margin: auto !important}
.ma-0 {margin: 0 !important}
.ma-05em {margin: .5em !important}
.ma-10em {margin: 1.0em !important}
.ma-15em {margin: 1.5em !important}
.ma-20em {margin: 2em !important}
.ma-30em {margin: 3em !important}
.mt-0 {margin-top: 0 !important}
.mt-03em {margin-top: .3em !important}
.mt-05em {margin-top: .5em !important}
.mt-08em {margin-top: .8em !important}
.mt-10em {margin-top: 1.0em !important}
.mt-15em {margin-top: 1.5em !important}
.mt-20em {margin-top: 2em !important}
.mt-30em {margin-top: 3em !important}
.ml-0 {margin-left: 0 !important}
.ml-03em {margin-left: .3em !important}
.ml-05em {margin-left: .5em !important}
.ml-10em {margin-left: 1.0em !important}
.ml-15em {margin-left: 1.5em !important}
.ml-20em {margin-left: 2em !important}
.ml-30em {margin-left: 3em !important}
.mr-0 {margin-right: 0 !important}
.mr-02em {margin-right: .2em !important}
.mr-05em {margin-right: .5em !important}
.mr-10em {margin-right: 1.0em !important}
.mr-15em {margin-right: 1.5em !important}
.mr-20em {margin-right: 2em !important}
.mr-30em {margin-right: 3em !important}
.mb-0 {margin-bottom: 0 !important}
.mb-03em {margin-bottom: .3em !important}
.mb-05em {margin-bottom: .5em !important}
.mb-08em {margin-bottom: .8em !important}
.mb-10em {margin-bottom: 1.0em !important}
.mb-15em {margin-bottom: 1.5em !important}
.mb-20em {margin-bottom: 2em !important}
.mb-30em {margin-bottom: 3em !important}

.ma-10 {margin: 10px !important}
.ma-20 {margin: 20px !important}
.ma-30 {margin: 30px !important}
.ma-40 {margin: 40px !important}
.ma-50 {margin: 50px !important}
.mt-10 {margin-top: 10px !important}
.mt-20 {margin-top: 20px !important}
.mt-30 {margin-top: 30px !important}
.mt-40 {margin-top: 40px !important}
.mt-50 {margin-top: 50px !important}
.mt-60 {margin-top: 60px !important}
.mt-70 {margin-top: 70px !important}
.ml-10 {margin-left: 10px !important}
.ml-20 {margin-left: 20px !important}
.ml-30 {margin-left: 30px !important}
.ml-40 {margin-left: 40px !important}
.ml-50 {margin-left: 50px !important}
.mr-10 {margin-right: 10px !important}
.mr-20 {margin-right: 20px !important}
.mr-30 {margin-right: 30px !important}
.mr-40 {margin-right: 40px !important}
.mr-50 {margin-right: 50px !important}
.mb-10 {margin-bottom: 10px !important}
.mb-20 {margin-bottom: 20px !important}
.mb-30 {margin-bottom: 30px !important}
.mb-40 {margin-bottom: 40px !important}
.mb-50 {margin-bottom: 50px !important}
.mb-60 {margin-bottom: 60px !important}
.mb-70 {margin-bottom: 70px !important}

.pa-0 {padding: 0 !important}
.pa-05em {padding: .5em !important}
.pa-10em {padding: 1.0em !important}
.pa-15em {padding: 1.5em !important}
.pa-20em {padding: 2em !important}
.pt-0 {padding-top: 0 !important}
.pt-05em {padding-top: .5em !important}
.pt-10em {padding-top: 1.0em !important}
.pt-15em {padding-top: 1.5em !important}
.pt-20em {padding-top: 2em !important}
.pb-0 {padding-bottom: 0 !important}
.pb-05em {padding-bottom: .5em !important}
.pb-10em {padding-bottom: 1.0em !important}
.pb-15em {padding-bottom: 1.5em !important}
.pb-20em {padding-bottom: 2em !important}


/*====================================================
//class eachTextAnime
====================================================*/
.eachTextAnime {
	opacity: 0;
}
.eachTextAnime.appeartext {
	opacity: 1;
}
.eachTextAnime span {
	opacity: 0;
}
.eachTextAnime.appeartext span {
	-webkit-animation:text_anime_on 1s ease-out forwards;
	        animation:text_anime_on 1s ease-out forwards;
	/* animation-delay: .4s; */
}
@-webkit-keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}


.delay-01 {
	transition-delay: .1s;
}
.delay-02 {
	transition-delay: .2s;
}
.delay-03 {
	transition-delay: .3s;
}
.delay-04 {
	transition-delay: .4s;
}
.delay-05 {
	transition-delay: .5s;
}
.delay-06 {
	transition-delay: .6s;
}

/*====================================================
// NOTE |  テキスト
====================================================*/
.f-default {
	font-family: var(--font_family);
}
.f-kaku {
	font-family: var(--f_kaku);
}

.ff_setting {
	font-feature-settings: "palt";
	letter-spacing: .1em;
}
.tate {
	-ms-writing-mode: tb-rl;
	    writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	        text-orientation: upright;
}

/*====================================================
// NOTE |  装飾系
====================================================*/

.arrow {
    border-radius: 100%;
    display: inline-block;
    overflow: hidden;
    position: relative;
    width: 2em;
    height: 1em;
}
.arrow::before,
.arrow::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 41 12"><path fill="%238CC63F" d="M41,6l-6.03,6-1.08-1.07,3.94-3.92H0v-1.68h38.18l-4.29-4.26,1.08-1.07,6.03,6Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
    transition: .3s ease-in-out;
    width: 100%;
    height: 100%;
}
.arrow-bk::before,
.arrow-bk::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%23333333" d="M12,0C5.37,0,0,5.37,0,12s5.37,12,12,12,12-5.37,12-12S18.63,0,12,0ZM10.77,16.17l-1.34-1.34,2.93-2.93-2.93-2.93,1.34-1.34,4.27,4.27-4.27,4.27Z" /></svg>') no-repeat center / contain;
}
.arrow::before {
    right: 0;
}
.arrow::after {
    right: 120%;
}
.triangle_arrow {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 13 20"><path fill="%23494949" d="M13,10L2.97,20l-2.97-2.96,7.07-7.04L0,2.96,2.97,0l10.03,10Z" /></svg>') no-repeat center / contain;
    display: inline-block;
    transition: .3s ease-in-out;
    width: .7em;
    height: .7em;
}

.btn_wrap {
	display: flex;
        justify-content: center;
		flex-wrap: wrap;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.linkBtn { /*class linkBtn */
	background: var(--mainColor);
    border: solid 3px var(--mainColor);
	border-radius: 3em;
	color: #fff;
	cursor: pointer;
	display: flex;
		align-items: center;
		grid-gap: 0 .4em;
        justify-content: center;
    font-size: min(3.8vw, 1.8rem);
    font-weight: 500;
	line-height: 1.5;
	margin: 0;
	opacity: 1;
	padding: .3em 3.5em;
	position: relative;
    text-align: center;
	transition: .3s ease-in-out;
    min-height: 3.75em;
	z-index: auto;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link .arrow,
.linkBtn .arrow {
    margin: auto;
    position: absolute;
        top: 0;
        right: 1.2em;
        bottom: 0;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link .arrow::before,
.linkBtn .arrow::before {
    filter: brightness(0) invert(10);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link .linkBtn-inner,
.linkBtn .linkBtn-inner {
    flex: 1;
    position: relative;
}


.circleBtn {
    background: #fff;
    border: solid 2px var(--black);
    border-radius: 3em;
    font-size: min(3.8vw, 1.8rem);
    justify-content: center;
    min-height: 4.3em;
    padding: .3em 2.5em;
    text-align: center;
}
.circleBtn::before {
    display: none;
}
.circleBtn::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 9 13"><path fill="%23333333" d="M2.38,13L0,10.67l4.25-4.17L0,2.33,2.38,0l6.62,6.5-6.62,6.5Z" /></svg>') no-repeat center / contain;
    top: 0;
    right: 1.3em;
    bottom: 0;
    width: .5em;
    height: .7em;
}

.smallBtn {
	font-size: 1em;
	min-width: 0;
    min-height: 2.5em;
}

.wp-block-button.is-style-outline .wp-block-button__link,
main .bodyText .is-style-outline .wp-block-button__link,
.linkBtn-small {
	background: transparent;
	border: none;
	border-bottom: solid 2px var(--mainColor);
	border-radius: 0;
    color: var(--black);
	cursor: pointer;
    display: flex;
        align-items: center;
        grid-gap: 0 .8em;
	filter: none;
	font-size: 1em;
	line-height: 1.4;
	opacity: 1;
    padding: .5em .7em;
	position: relative;
	text-align: center;
}
.wp-block-button.is-style-outline .wp-block-button__link .linkBtn-inner,
main .bodyText .is-style-outline .wp-block-button__link .linkBtn-inner,
.linkBtn-small .linkBtn-inner {
    padding: .3em 0;
    position: relative;
}
.wp-block-button.is-style-outline .wp-block-button__link .arrow::before,
.wp-block-button.is-style-outline .wp-block-button__link .arrow::after,
main .bodyText .is-style-outline .wp-block-button__link .arrow::before,
main .bodyText .is-style-outline .wp-block-button__link .arrow::after,
.linkBtn-small .arrow::before,
.linkBtn-small .arrow::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%238CC63F" d="M12,0C5.37,0,0,5.37,0,12s5.37,12,12,12,12-5.37,12-12S18.63,0,12,0ZM10.77,16.17l-1.34-1.34,2.93-2.93-2.93-2.93,1.34-1.34,4.27,4.27-4.27,4.27Z" /></svg>') no-repeat center / contain;
}
.linkBtn img {
	display: inline-block;
	height: 1em;
	margin-right: .5em;
	transition: .1s ease-in-out;
	vertical-align: -.1em;
}
.link_icon {
	display: inline-block;
	height: .8em;
	margin-left: .5em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.menu-btn-container .menu a,
    .formBox input[type="submit"],
	.formBox button[type="submit"]{
        padding: .8em;
        min-width: 300px;
	}

	.wp-block-button:not(.is-style-outline) .wp-block-button__link,
	main .bodyText .wp-block-button:not(.is-style-outline) .wp-block-button__link,
	.linkBtn { /* class linkBtn mobile */
        font-size: min(4vw, 1.8rem);
        padding: .3em 2.5em;
        width: min(85vw, 400px);
	}
    .wp-block-button:not(.is-style-outline) .wp-block-button__link .arrow, .linkBtn .arrow {
        width: 1.5em;
    }
    .wp-block-button:not(.is-style-outline) .wp-block-button__link .arrow::before, 
    .linkBtn .arrow::before ,
    .wp-block-button:not(.is-style-outline) .wp-block-button__link .arrow::after, 
    .linkBtn .arrow::after {
        background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 22 9"><path fill="%238CC63F" d="M22,4.5l-4.44,4.5-.79-.8,2.89-2.94H0v-1.52h19.67l-2.89-2.94.79-.8,4.44,4.5Z" /></svg>') no-repeat center / contain;
    }
}

@media screen and (max-width:500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) { /* NOTE linkBtn pc */
    .wp-block-button:not(.is-style-outline) .wp-block-button__link,
	.linkBtn {
        min-width: 420px;
    }
}

@media (hover: hover) {
	.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
	button[type="submit"]:hover,
	.linkBtn:hover ,
	a:hover .linkBtn {
        background: #fff;
        color: var(--mainColor);
		opacity: 1;
	}
    .menu-btn-container .menu a:hover::after,
    .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover::after,
    .linkBtn:hover::after {
        opacity: 1;
        right: -.3em;
    }
    .circleBtn:hover {
        background: var(--l_gray);
    }
    .circleBtn:hover::after {
        right: 1.0em;
    }

	.is-style-outline .wp-block-button__link:hover,
	main .bodyText .is-style-outline .wp-block-button__link:hover,
	a:hover .linkBtn-small ,
	.linkBtn-small:hover {
		opacity: 1;
	}
    .wp-block-button.is-style-outline .wp-block-button__link:hover::after,
    main .bodyText .is-style-outline .wp-block-button__link:hover::after,
    .linkBtn-small:hover::after {
        transform: translateX(.3em);
    }
    .wp-block-button.is-style-outline .wp-block-button__link:hover::before,
    main .bodyText .is-style-outline .wp-block-button__link:hover::before,
    .linkBtn-small:hover::before {
        width: calc(100% + .3em);
    }

    .arrow:hover::before,
    a:hover .arrow::before {
        right: -120%;
    }
    .arrow:hover::after,
    a:hover .arrow::after {
        right: 0;
    }
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1580px) {
}

.tax {
	font-size: .5em;
	margin-left: .3em;
}

dl.accordion > dt ,
dl.menu-accordion > dt,
.accordion > .accordion-ttl {
	cursor: pointer;
	position: relative;
}
dl.accordion > dd ,
dl.menu-accordion > dd,
.accordion > .accordion-cnt {
	overflow: hidden;
	transition: .3s ease-in-out;
}
dl.accordion > dd > .accordion-inner,
.accordion > .accordion-cnt > .accordion-inner {
	opacity: 0;
	transition: .4s ease-in-out;
}
dl.accordion.open > dd > .accordion-inner,
.accordion.open > .accordion-cnt > .accordion-inner {
	opacity: 1;
}

.accordion-ttl:has(.plus_icon) {
    display: flex;
        align-items: center;
        justify-content: center;
        grid-gap: 1em;
}
.accordion-ttl > .plus_icon {
    display: block;
    width: 1em;
    height: 1em;
    position: relative;
}
.accordion-ttl > .plus_icon::before,
.accordion-ttl > .plus_icon::after {
    border-top: solid 3px #E3B7CD;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: .1em;
        left: 0;
        right: 0;
        bottom: 0;
    transition: .3s ease-in-out;
    width: .9em;
    height: 0;
}
.accordion-ttl > .plus_icon::after {
    transform: rotate(90deg);
}

.accordion.open > .accordion-ttl > .plus_icon::before {
    transform: rotate(90deg);
    opacity: 0;
}
.accordion.open > .accordion-ttl > .plus_icon::after {
    transform: rotate(180deg);
}

.accordion_close {
	cursor: pointer;
}
.bgBox {
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.bgBox img {
	width: 100% !important;
	height: 100% !important;
	-o-object-fit: cover;
	object-fit: cover;
}
.decoBox {
	pointer-events: none;
	position: absolute;
}

.opacity-6 {opacity: .6}
.opacity-8 {opacity: .8}
.opacity-10 {opacity: 1}



ul.markList li ,
.bodyText.default_deco ul:not(.not_set) li {
	position: relative;
	padding-left: 1.0em;
    margin-top: .2em;
	line-height: 1.6;
}
ul > li {
    line-height: 1.6;
}
ul.normal > li + li ,
ol > li + li {
	margin-top: .5em;
}
ul.markList li::before ,
.bodyText.default_deco ul:not(.not_set) li::before {
	content: '\30FB';
	display: block;
	margin: auto;
	position: absolute;
		top: 0;
		left: 0;
	width: 1em;
	height: 1em;
}
ul.markList > li:after {
	display: none !important;
}
ul.markList.attentionMark > li:before ,
.bodyText ul.is-style-ark-list-note > li:before {
	background: transparent;
	content: '\203B';
	top: .1em;
	left: 0;
}
ul.markList.dot li  ,
.bodyText.default_deco ul:not(.markList) li {
    padding-left: 1.2em;
}
ul.markList.dot li:before  ,
.bodyText.default_deco ul:not(.markList) li::before {
	background: var(--mainColor);
	border-radius: 100%;
	content: '';
	top: .5em;
	left: 0;
	width: .7em;
	height: .7em;
}
ol{
	counter-reset:number; /* 名前を付けたカウンターをリセット */
	list-style:none; /* olが数字を付けることをキャンセル */
	margin:0;
	padding:0;
}
ol > li{
    line-height: 1.8;
    margin-top: .2em;
	padding-left: 1.8em;
	position: relative;
}
ol > li:before{
    background: var(--mainColor);
    border-radius: 100%;
	box-sizing: border-box;
    color: #fff;
	counter-increment: number;
	content: counter(number);
	display: flex;
		align-items: center;
        justify-content: center;
    font-size: .8em;
    font-weight: 700;
    line-height: 1;
    padding-bottom: .1em;
	position: absolute;
		top: .3em;
		left: 0;
    text-align: center;
	width: 1.8em;
	height: 1.8em;
	line-height: 1;
}
ol.circleMarkList > li:before{
	border: solid 1px;
	border-radius: 100%;
	font-size: .9em;
	top: .05em;
}

.circleBox {
	border-radius: 100%;
}

.markerline {
	background: linear-gradient(transparent 70%, var(--l_blue) 70%, var(--l_blue) 100%);
}

.squareMark {
	border-radius: 2px;
	display: inline-block;
	padding: .3em .7em ;
	line-height: 1;
	text-align: center;
}

.circleMark {
	border-radius: 100px;
	display: inline-block;
	line-height: 1.2;
	padding: .25em .6em .3em;
}


/*
// NOTE |  【特殊装飾】 */

.headBox {
	position: relative;
}

.en_jp {
	display: grid;
    font-size: min(7vw, 4.0rem);
    margin-bottom: 1em;
}
.en_jp .en {
    font-size: .875em;
    font-weight: 300;
    letter-spacing: .02em;
    line-height: 1;
}
.en_jp .jp {
    font-weight: 500;
    letter-spacing: .05em;
    margin-top: .5em;
}
.en_jp .jp.show {
    animation-delay: .3s;
}

.blob_wrapper {
    overflow: hidden;
	/* padding: min(20vw, 130px) 0; */
    pointer-events: none;
    position: absolute;
        top: 0;
        left: 0;
    width: 100%;
    height: 100%;
}
.blobs {
    margin: 0 auto;
	/* padding: min(20vw, 130px) 0; */
	position: relative;
	width: min(90%, 1200px);
    height: 100%;
}
.blob {
    /* animation: blobSpin 100s linear infinite; */
    animation: blobMorph 10s ease-in-out infinite, blobSpin 120s linear infinite;
    position: absolute;
}
.blob_dotline {
    animation: blobMorph 10s ease-in-out infinite, blobSpin 180s linear infinite;
    opacity: .6;
    position: absolute;
    transform-origin: center center;
}
@keyframes blobMorph {
    0%   { transform: scale(1); }
    25%  { transform: scale(1.06, 0.94); }
    50%  { transform: scale(0.94, 1.06); }
    75%  { transform: scale(1.05, 1.05); }
    100% { transform: scale(1); }
}

@keyframes blobSpin {
    0%   { rotate: 0deg; }
    100% { rotate: 360deg; }
}

.category.flexBox {
    grid-gap: .4em;
    flex-wrap: wrap;
}
.cate_item {
	color: var(--mainColor);
	line-height: 1;
}

.cover_bgImg {
	background: no-repeat center / cover;
}

.icon {
	display: inline-block;
	vertical-align: -.1em;
	width: .9em;
	height: .9em;
}
.icon.icon-search {
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 19.02 19.02"><path fill="%23ffffff" d="m18.34,15.33l-1.95-1.95c2.52-4.18,1.17-9.6-3.01-12.12C9.21-1.25,3.78.1,1.27,4.27-1.25,8.45.1,13.88,4.27,16.39c2.8,1.69,6.31,1.69,9.11,0l1.95,1.94c.8.86,2.14.91,3,.12.86-.8.91-2.14.12-3-.04-.04-.08-.08-.11-.12h0Zm-5.66-2.66c-2.11,2.11-5.53,2.11-7.65,0-2.11-2.11-2.11-5.53,0-7.65,2.11-2.11,5.53-2.11,7.65,0,1.01,1.01,1.58,2.39,1.58,3.82,0,1.43-.57,2.81-1.58,3.82h0Z" /></svg>') no-repeat center;
}
.icon.icon-new_window {
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 10 10"><path fill="%23CA0030" d="M9,6.5v3c0,.28-.22.5-.5.5H.5c-.28,0-.5-.22-.5-.5V1.5c0-.28.22-.5.5-.5h3c.28,0,.5.22.5.5s-.22.5-.5.5H1v7h7v-2.5c0-.28.22-.5.5-.5s.5.22.5.5ZM9.98.41s0-.07-.02-.1c-.05-.12-.15-.22-.27-.27-.03-.01-.07-.01-.1-.02-.03,0-.06-.02-.09-.02h-3c-.28,0-.5.22-.5.5s.22.5.5.5h1.79l-4.15,4.15c-.2.2-.2.51,0,.71.09.09.22.15.35.15.13,0,.26-.05.35-.15L9,1.71v1.79c0,.28.22.5.5.5s.5-.22.5-.5V.5s-.01-.06-.02-.09Z" /></svg>') no-repeat center / contain;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .en_jp {
        font-size: min(7vw, 3rem);
    }
}

@media screen and (max-width:500px) {
}


/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
    .en_jp {
        font-size: min(3.8vw, 4.0rem);
    }
}
@media print, screen and (min-width: 1080px) {
}

@media screen and (min-width:1580px) {
}

@media (hover: hover) {
	a:hover .round_arrow::before {
		right: .8em;
	}
	a:hover .round_arrow::after {
		right: .4em;
	}
    a.cate_item:hover {
        border-color: var(--mainColor);
        color: var(--mainColor);
    }
}
  

.f-05em {font-size: .5em;}
.f-06em {font-size: .6em;}
.f-07em {font-size: .7em;}
.f-08em {font-size: .8em;}
.f-09em {font-size: .9em;}
.f-10em {font-size: 1.0em;}
.f-11em {font-size: 1.1em;}
.f-12em {font-size: 1.2em;}
.f-13em {font-size: 1.3em;}
.f-14em {font-size: 1.4em;}
.f-15em {font-size: 1.5em;}
.f-16em {font-size: 1.6em;}
.f-17em {font-size: 1.7em;}
.f-18em {font-size: 1.8em;}
.f-20em {font-size: 2.0em;}

.f-10 {font-size: 1.0rem;}
.f-11 {font-size: min(2.8vw, 1.1rem);}
.f-12 {font-size: min(3.0vw, 1.2rem);}
.f-13 {font-size: min(3.3vw, 1.3rem);}
.f-14 {font-size: min(3.6vw, 1.4rem);}
.f-15 {font-size: min(3.8vw, 1.5rem);}
.f-16 {font-size: min(4.1vw, 1.6rem);}
.f-17 {font-size: min(4.3vw, 1.7rem);}
.f-18 {font-size: min(4.6vw, 1.8rem);}
.f-20 {font-size: min(5.1vw, 2.0rem);}
.f-22 {font-size: min(5.6vw, 2.2rem);}
.f-24 {font-size: min(6.1vw, 2.4rem);}

.lh-10 {line-height: 1.0;}
.lh-12 {line-height: 1.2;}
.lh-14 {line-height: 1.4;}
.lh-16 {line-height: 1.6;}
.lh-18 {line-height: 1.8;}
.lh-20 {line-height: 2.0;}
.lh-20 {line-height: 2.2;}

.ls-0 {letter-spacing: 0;}
.ls-03 {letter-spacing: .03em;}
.ls-06 {letter-spacing: .06em;}
.ls-10 {letter-spacing: .1em;}
.ls-15 {letter-spacing: .15em;}
.ls-20 {letter-spacing: .2em;}
.ls-25 {letter-spacing: .25em;}

small, .small {
	font-size: .8em;
}
big, .big {
	font-size: 1.2em;
}
strong {
	font-weight: bold;
}
sup {
	font-size: .5em;
	vertical-align: .5em;
}

.fw-normal {
	font-weight: 400;
}
.fw-elight {
	font-weight: 200;
}
.fw-light {
	font-weight: 300;
}
.fw-medium {
	font-weight: 500;
}
.fw-semibold {
	font-weight: 600;
}
.fw-bold {
	font-weight: 700;
}
.fw-black {
	font-weight: 900;
}

.txt-left {
	text-align: left;
}
.txt-right {
	text-align: right;
}
.txt-center {
	text-align: center;
}
.txt-justify {
	text-align: justify;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	line-height: 1.6;
}
h1 {font-size: 2.2em;}
h2 {font-size: min(6.2vw, 3.0rem);}
h3 {font-size: min(5.6vw, 2.6rem);}
h4 {font-size: min(4.2vw, 1.25em);}
h5 {font-size: min(4.1vw, 1.2em);}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

@media screen and (max-width: 500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1580px) {
}

/*====================================================
//// NOTE |  カラー
====================================================*/

.bg-white {
	background: #fff;
}
.bg-mainColor {
	background: var(--mainColor);
	color: #fff;
}
.bg-red {
	background: var(--red);
	color: #fff;
}

.bg-green {
	background: var(--green);
    color: #fff;
}
.bg-l_green {
	background: var(--l_green);
}
.bg-l_beige {
	background: var(--l_beige);
}
.bg-w_gray {
	background: var(--w_gray);
}
.bg-l_gray {
	background: var(--l_gray);
}
.bg-gray {
	background: var(--gray);
	color: #fff;
}
.bg-black {
	background: var(--black);
	color: #fff;
}

.bg-transparent {
	background: transparent;
}

.white {
	color: #fff;
}
.mainColor {
	color: var(--mainColor);
}
.red {
	color: var(--red);
}


.green {
	color: var(--green);
}
.l_green {
	color: var(--l_green);
}
.l_beige {
	color: var(--l_beige);
}
.gray {
	color: var(--gray);
}
.black {
	color: var(--black);
}
.black {
	color: var(--black);
}
.black2 {
	color: var(--black_2);
}

.border-none {
	border: none;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/*====================================================
////id |  .yt
====================================================*/

.yt,
.wp-block-embed__wrapper {
	position: relative;
	height: 0;
	padding: 0px 0 56.3%;
	overflow: hidden;
}
.yt iframe,
.wp-block-embed__wrapper iframe {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100%;
}


/*====================================================
////id 【header】
====================================================*/
header {
	position: relative;
    z-index: 9999;
}
header .headerBox {
	/* position: fixed;
		top: 0;
		left: 0;
	transition: .5s ease-in-out;
	width: 100%;
	z-index: 9999; */
}
header .header_logo {
    background: rgba(255, 255, 255, 0);
    border-radius: 0 0 20px 20px;
    display: flex;
        align-items: center;
        justify-content: center;
    padding: 40px 15px 20px;
    pointer-events: auto;
    position: fixed;
        top: 0;
        left: 3vw;
    transform-origin: top left;
    transition: .4s ease-in-out;
    width: min(26vw, 200px);
    /* height: min(20vw, 180px); */
}
header.global .header_logo {
    transform: scale(.6);
}
header .header_logo a {
}
header.global .header_logo {
    background: rgba(255, 255, 255, .9);
    padding-top: 20px;
}
header img {
	margin: 0;
	transition: .3s ease-in-out;
}
header .header_logo .logo_img {
	opacity: 1;
	transition: .4s ease-in-out;
}

header .btnBox a {
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: min(1.4vw, 1.4rem);
    padding-top: .4em;
    width: min(10vw, 150px);
    height: 100%;
}

header .btnBox a .icon {
    width: 2em;
    height: 1.6em;
}
header .btnBox a.bg-grd .icon {
    filter: brightness(100) grayscale(0);
}

header .menu-outer {
	position: absolute;
	z-index: 300;
}
header .menuBtn {
	background: var(--b_gray);
	cursor: pointer;
	display: grid;
		place-content: center;
        place-items: center;
    pointer-events: auto;
	position: fixed;
		top: 15px;
		right: 15px;
	transition: .2s ease-in-out;
	width: 100px;
	height: 100px;
	z-index: 10;
}
header .menuBtn .humberger {
	margin: 0;
	position: relative;
	transition: .2s ease-in-out;
	width: 60px;
	height: 10px;
    z-index: 10;
}
header .menuBtn .humberger:before,
header .menuBtn .humberger span {
	border-top: solid 4px var(--mainColor);
	content: '';
	margin: auto;
	opacity: 1;
	position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
        right: 0;
	transition: .4s ease-in-out;
	width: 100%;
	height: 0;
}
header .menuBtn .humberger span:nth-child(1) {
	transform: translateY(-10px);
}
header .menuBtn .humberger span:nth-child(2) {
	transform: translateY(10px);
}
header .menuBtn-text {
	color: var(--mainColor);
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
    margin-top: 10px;
    position: relative;
	text-align: center;
    transition: .3s ease-in-out;
    z-index: 10;
}
header .menuBtn::before ,
header .menuBtn::after {
    content: '';
    display: block;
    margin: auto;
    pointer-events: none;
    position: fixed;
        top: -15px;
        right: -15px;
    transition: .3s ease-in-out;
    width: 208px;
    height: 169px;
}
header .menuBtn::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 195 168"><path fill="%23f7f5ef" d="M33.69,50.94c32.41,25.54,54.86,57.27,79.95,89.97,8.84,11.53,18.98,23.88,33.27,26.55,19.87,3.72,36.73-12.58,48.09-30.12V0H0c2.44,19.05,16.42,37.33,33.69,50.94Z" /></svg>') no-repeat top right / contain;
}
header .menuBtn::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 195 168"><path fill="%238CC63F" d="M33.69,50.94c32.41,25.54,54.86,57.27,79.95,89.97,8.84,11.53,18.98,23.88,33.27,26.55,19.87,3.72,36.73-12.58,48.09-30.12V0H0c2.44,19.05,16.42,37.33,33.69,50.94Z" /></svg>') no-repeat top right / contain;
    opacity: 0;
}
header .maskBox {
	background: transparent;
    margin: auto;
	opacity: 0;
	pointer-events: none;
	position: fixed;
		top: 0;
		left: 0;
	transition: .5s ease-in-out;
	width: 100%;
	height: 100vh;
	height: 100svh;
}
header .menuBox {
    background: var(--l_beige);
    /* display: flex;
        align-items: center; */
    margin: auto;
	opacity: 0;
	overflow-y: auto;
	padding: 200px 5vw min(15vw, 50px);
	pointer-events: none;
	position: fixed;
		top: 0;
		right: -300px;
	transition: .5s ease-in-out;
	width: min(75vw, 960px);
	height: 100vh ;
	height: 100svh;
	z-index: 1;

	overflow-y: scroll;
	-ms-overflow-style: none;    /* IE, Edge 対応 */
	scrollbar-width: none;       /* Firefox 対応 */
}
header .menuBox::-webkit-scrollbar {  /* Chrome, Safari 対応 */
	display:none;
}

header .menu-outer.open .menuBtn {
	transition: .2s ease-in-out;
}
header .menu-outer.open .menuBtn::before {
    opacity: 0;
}
header .menu-outer.open .menuBtn::after {
    opacity: 1;
}


header .menu-outer.open .humberger span {
    border-top-color: #fff;
    width: 80%;
}
header .menu-outer.open .humberger::before {
    opacity: 0;
}
header .menu-outer.open .humberger span:nth-child(1) {
	transform: rotate(-135deg);
}
header .menu-outer.open .humberger span:nth-child(2) {
	transform: rotate(135deg);
}
header .menu-outer.open .menuBtn-text {
    opacity: 0;
}

header .menu-outer.open .maskBox {
	opacity: 1;
	pointer-events: auto;
}
header .menu-outer.open .menuBox {
	pointer-events: auto;
	right: 0;
	opacity: 1;
}
header .menu-outer.open .menuBox::before {
	right: 0;
	opacity: 1;
}


.menuBox .menu-main li {
    border-top: solid 1px #D1D9C6;
}
.menuBox .menu-main li {
    margin-top: 0 !important;
}
.menuBox .menu-main li a {
    display: block;
    padding: 1em 1.5em 1em 0;
    position: relative;
}
.menuBox .menu-main li a::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 16 16"><path fill="%238CC63F" d="M8.77.04c-.25-.02-.51-.04-.77-.04-.28,0-.55.01-.82.04C3.42.42.42,3.42.04,7.18c-.03.27-.04.54-.04.82s.01.55.04.82c.41,4.03,3.82,7.18,7.96,7.18,4.42,0,8-3.58,8-8C16,3.84,12.83.43,8.77.04ZM7.18,11.02l-1.13-1.13,1.95-1.95-1.95-1.95,1.13-1.13,3.08,3.08-3.08,3.08Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        right: .5em;
        bottom: 0;
    transition: .3s ease-in-out;
    width: 1em;
    height: 1em;
}

.header-cmn_contact {
    background: #fff;
    border: solid 1px var(--mainColor);
    border-radius: 20px;
    padding: min(4vw, 56px) min(3vw, 46px);
}
.header-cmn_contact .cmn_contact-inner {
    padding-bottom: 0;
}
.header-cmn_contact .cmn_contact-head {
    margin-bottom: 0;
}
.header-cmn_contact .cmn_contact-head .en,
.header-cmn_contact .cmn_contact-head .en > span {
    opacity: 1;
}
.header-cmn_contact .cmn_contact-text br.hidden-pc {
    display: block;
}
.header-cmn_contact .cmn_contact-link {
    margin-top: 0;
}
.header-cmn_contact .cmn_contact-link_item {
    box-shadow: 0 0 10px rgba(140, 198, 63, .25);
}
.header-cmn_contact .cmn_contact-link_item::before {
    width: calc(100% - 20px);
    height: calc(100% - 20px);
}

.header-cmn_contact .cmn_contact-link_icon {
    margin-bottom: 12px;
}
.header-cmn_contact .tel .cmn_contact-link_icon {
    width: 25px;
    height: 33px;
}
/* ////////// mobile ////////// NOTE header mobile */
@media screen and (max-width: 959.8px) {
	header {
	}
	header.hide {
		top: -130px;
	}
	header .headerBox {
	}
	.menu-open header .headerBox::before {
		opacity: 1;
	}
	header .innerBox {
        display: grid;
            grid-gap: 0 1em;
            grid-template-columns: auto 1fr auto;
		padding: 0 calc(60px - 5vw) 0 0;
		height: 100%;
	}
    header .header_logo {
        padding: 16px 10px 10px;
        width: min(25vw, 160px);
    }
    header.global .header_logo {
        transform: scale(.8);
    }
    header .head_text {
        font-size: min(2.6vw, 1.4rem);
    }
    header .headerBox .btnBox a {
        background: #fff;
        border-left: solid 1px var(--l_blue);
        color: var(--l_blue);
        font-size: min(2.4vw, .9rem);
        letter-spacing: 0;
        width: 60px;
    }
    header .headerBox .btnBox a .icon {
        filter: none;
    }
	header .pc_menu ,
	header .pc_menu2 {
		display: none;
	}
	header .menuBtn {
        top: 0;
        right: 0;
        width: 90px;
	}
    header .menuBtn::before ,
    header .menuBtn::after {
        top: 0;
        right: 0;
        width: 145px;
        height: 115px;
    }
    header .menuBtn .humberger {
        width: 43px;
    }
    header .menuBtn .humberger span:nth-child(1) {
        transform: translateY(-8px);
    }
    header .menuBtn .humberger span:nth-child(2) {
        transform: translateY(8px);
    }
    header .menuBtn-text {
        font-size: min(3.5vw, 1.3rem);
    }
    header .menuBox {
        padding: 120px min(5vw, 20px) min(8vw, 50px);
    }
    .menuBox-header_logo {
        position: absolute;
            top: min(5vw, 20px);
            left: min(5vw, 20px);
        width: 70px;
        height: 57px;
    }
    header .menuBox .menu {
        font-size: min(4vw, 1.5rem);
    }
    header .menuBox .menu-header-toggle1-container .menu li:first-child {
        border-top: none;
    }

    .header-cmn_contact {
        margin-top: min(8vw, 30px);
        padding: min(10vw, 40px) min(5vw, 20px);
    }
    .header-cmn_contact .cmn_contact-text {
        display: none;
    }
    .header-cmn_contact .cmn_contact-head {
        display: flex;
            align-items: baseline;
    }
    .header-cmn_contact .cmn_contact-head .en {
        font-size: min(8vw, 3rem);
    }
    .header-cmn_contact .cmn_contact-head .jp {
        font-size: min(3.45vw, 1.3rem);
        margin-left: 1em;
    }
    .header-cmn_contact .cmn_contact-link {
        grid-gap: 16px;
        grid-template-columns: 1fr;
        margin-top: min(6.4vw, 24px);
    }
    .header-cmn_contact .cmn_contact-link_item {
        border-radius: 10px;
        display: block;
        height: 86px;
        padding: 18px 0;
    }
    .header-cmn_contact .cmn_contact-link_item > div {
        display: grid;
            align-items: center;
            grid-template-columns: 22% 1fr;
    }
    .header-cmn_contact .cmn_contact-link_item .cmn_contact-link_icon {
        background-size: 26px 26px !important;
        border-right: solid 1px #CACACA;
        margin: 0;
        width: 100%;
        min-height: 50px;
    }
    .header-cmn_contact .tel .cmn_contact-link_text {
        font-size: min(5.85vw, 2.2rem);
        line-height: 1.2;
    }
    .header-cmn_contact .tel .cmn_contact-link_time {
        font-size: min(3.2vw, 1.2rem);
        line-height: 1.2;
    }
    .header-cmn_contact .contact .cmn_contact-link_text {
        font-size: min(4.53vw, 1.7rem);
    }

}

@media screen and (max-width:769px) {
    header .menuBox {
        right: -100%;
        width: 100%;
    }
    header .menuBox-inner {
        margin: auto;
        width: min(100%, 500px);
    }
    header.global .header_logo {
        transform: scale(.8);
    }
}

@media screen and (min-width:769px) and (max-width:959.8px) {
    header .menuBox {
        right: -400px;
        width: min(80vw, 400px);
    }
}

/* ////////// PC ////////// NOTE header PC */
@media print, screen and (min-width: 960px) {
	header .headerBox {
        pointer-events: none;
		position: fixed;
			top: 0;
			left: 0;
			right: 0;
		width: 100%;
		height: 130px;
		z-index: 9000;
	}
    header.global .headerBox {
    }

	header .innerBox {
		height: 100%;
        width: 100%;
		max-width: none;
		padding: 0 170px 0 0;
	}
	header .pc_menu {
        display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: min(3vw, 70px);
        height: 100%;
	}
    header .pc_menu a {
        pointer-events: auto;
    }
	header .pc_menu .menu {
		display: flex;
            align-items: center;
			flex-wrap: wrap;
            grid-gap: .2em min(3vw, 40px);
			justify-content: space-evenly;
		font-size: min(1vw, 1.6rem);
		font-weight: 500;
		grid-column: 1;
		grid-row: 2;
		padding: 0;
	}
	header .pc_menu .menu > .menu-item {
        position: relative;
        text-shadow: 0 0 .7em #fff, 0 0 .7em #fff, 0 0 .7em #fff, 0 0 .7em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff;
	}
	header.global .pc_menu .menu > .menu-item {
        text-shadow: 0 0 .7em #fff, 0 0 .7em #fff, 0 0 .7em #fff, 0 0 .7em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff, 0 0 .1em #fff;
    }
    .header_btn_link_wrapeer {
        display: flex;
            gap: 16px;
        font-size: min(1vw, 1.6rem);
    }
    .header_btn_link {
        border-radius: 50px;
        height: 64px;
        line-height: 1.4;
        padding: 5px 30px;
    }
    .header_btn_link.tel {
        background: #fff;
        border: solid 1px var(--mainColor);
        display: grid;
            place-content: center;
            place-items: center;
        font-size: 1.5625em;
    }
    .header_btn_link.tel .no {
        display: flex;
            align-items: center;
            justify-content: center;
            gap: .3em;
    }
    .header_btn_link.tel .no::before {
        background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 26"><path fill="%238cc63f" d="M1.79,1.1C0,2.26-.36,5.89.32,8.83c.7,2.94,1.89,5.74,3.53,8.29,1.67,2.52,3.75,4.75,6.15,6.6,2.43,1.82,5.89,2.98,7.68,1.82.92-.67,1.71-1.51,2.32-2.47l-.96-1.48-2.65-4.07c-.2-.3-1.43-.03-2.06.33-.66.47-1.21,1.07-1.62,1.76-.58.33-1.07,0-2.08-.46-1.54-1.02-2.82-2.37-3.77-3.96-1.07-1.5-1.78-3.23-2.09-5.04-.01-1.11-.12-1.69.42-2.08.8-.1,1.58-.36,2.27-.76.58-.43,1.33-1.44,1.14-1.74L5.96,1.48l-.96-1.48c-1.13.16-2.22.54-3.21,1.1Z" /></svg>') no-repeat center / contain;
        content: '';
        display: block;
        margin-bottom: -.1em;
        width: 15px;
        height: 20px;
    }
    .header_btn_link.tel .text {
        font-size: min(.65vw, 1.2rem);
    }
    .header_btn_link.contact {
        background: var(--mainColor);
        color: #fff;
        display: flex;
            align-items: center;
            justify-content: center;
            gap: .8em;
    }
    .header_btn_link.contact::before {
        background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 17"><path fill="%23ffffff" d="M21.2,0H2.8C1.25,0,0,1.25,0,2.8c0,0,0,0,0,0v11.41c0,1.54,1.25,2.8,2.8,2.8h18.4c1.55,0,2.8-1.25,2.8-2.8V2.8C24,1.25,22.75,0,21.2,0ZM22.66,14.96l-.53.63-7.46-6.08-1.16,1.1c-.86.79-2.17.79-3.03,0l-1.16-1.1L1.87,15.59l-.53-.63,7-6.39L1.29,1.94l.42-.55,10.29,7.79L22.29,1.39l.42.55-7.05,6.62,7.01,6.39Z" /></svg>') no-repeat center / contain;
        content: '';
        display: block;
        margin-bottom: -.1em;
        width: 24px;
        height: 17px;
    }

    .menuBox .menuBox-inner {
        margin: auto;
        width: min(100%, 730px);
    }

    .menuBox-header_logo {
        display: none;
    }
    .menuBox .menu-main {
        display: grid;
            grid-gap: min(3vw, 80px);
            grid-template-columns: 1fr 1fr;
    }
    .menuBox .menu-main li:last-child {
        border-bottom: solid 1px #D1D9C6;
    }

    .header-cmn_contact {
        margin-top: min(6vw, 70px);
    }
    .header-cmn_contact .cmn_contact-inner {
        display: grid;
            grid-gap: min(3vw, 40px);
            grid-template-columns: 30% 1fr;
    }
    .header-cmn_contact .cmn_contact-head .en {
        font-size: min(3.8vw, 4rem);
    }
    .header-cmn_contact .cmn_contact-head .jp {
        font-size: 1.6rem;
    }    
    .header-cmn_contact .cmn_contact-text {
        font-size: 1.4rem;
    }
    .header-cmn_contact .cmn_contact-link {
        grid-column: span 2;
    }
    .header-cmn_contact .cmn_contact-link_item {
        height: min(15vw, 140px);
    }
    .header-cmn_contact .contact .cmn_contact-link_icon {
        width: 32px;
        height: 22px;
    }    
    .header-cmn_contact .tel .cmn_contact-link_text {
        font-size: min(2.4vw, 2.4rem);
    }
    .header-cmn_contact .cmn_contact-link_time {
        font-size: min(1.2vw, 1.1rem);
    }
    .header-cmn_contact .contact .cmn_contact-link_text {
        font-size: min(1.8vw, 1.8rem);
    }
}


@media screen and (max-width:1400px) {
	header .menu-header-container {
        display: none;
    }
    .header_btn_link_wrapeer {
        display: flex;
        font-size: 1.6rem;
    }
    .header_btn_link.tel .text {
        font-size: 1.2rem;
    }
}

@media (hover: hover) {
	header .pc_menu .menu a:hover {
        color: var(--mainColor);
        opacity: 1;
    }
    .menuBox .menu-main li a:hover {
        color: var(--mainColor);
        opacity: 1;
    }
    .menuBox .menu-main li a:hover::before {
        transform: translateX(.2em);
    }
    .header_btn_link.contact:hover {
        filter: brightness(1.1);
    }
}


/*====================================================
////id |   loader
====================================================*/
.is-hide {
	display: none;
}
/* ローディング画面をフェードアウト */
.fadeout-bg {
	transition-property: opacity;
	transition-delay: 0s;
	transition-duration: 1.7s;
	opacity: 0;
	pointer-events: none;
}
/* ローディング画面 */
#loader {
	background: #fff;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
}

/*====================================================
//class .sa
====================================================*/
.sa {
	opacity: 0;
}
.sa.show {
    animation: 1s ease-in-out forwards sa-show;
}
@keyframes sa-show {
    to {
        opacity: 1;
        transform: none;
    }
}
.sa.show_after {
	opacity: 1;
	transform: none;
	transition: 0s;
}
.sa-lr {
	transform: translate(-40px, 0);
}
.sa-rl {
	transform: translate(40px, 0);
}
.sa-up {
	transform: translate(0, 40px);
}
.sa-down {
	transform: translate(0, -40px);
}
.sa-scaleUp {
	transform: scale(.9);
}
.sa-scaleDown {
	transform: scale(1.1);
}
.sa-rotateL {
	transform: rotate(180deg);
}
.sa-rotateR {
	transform: rotate(-180deg);
}

.sa.slideShow {
	opacity: 1;
	position: relative;
	z-index: 1;
}
.sa.slideShow:before {
	background: var(--gray);
	content: '';
	position: absolute;
		top: 0;
		left: 0;
		right: auto;
	transition: .5s ease-in-out;
	width: 0;
	height: 100%;
	z-index: 10;
}
.sa.slideShow.show:before {
	-webkit-animation: anim-slide 1.0s ease-in-out forwards;
	        animation: anim-slide 1.0s ease-in-out forwards;
	-webkit-animation-delay: .4s;
	        animation-delay: .4s;
}
@-webkit-keyframes anim-slide {
	0%   {}
	55%  { width: 100%; left: 0; right: 0;}
	65% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}
@keyframes anim-slide {
	0%   {}
	47%  { width: 100%; left: 0; right: 0;}
	53% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}

.sa.slideShow:not(.show) img,
.sa.slideShow:not(.show) > img,
.sa.slideShow:not(.show) > .box-inner {
	opacity: 0;
}
.sa.slideShow.show img ,
.sa.slideShow.show > img ,
.sa.slideShow.show > .box-inner {
	opacity: 1;
	transition-delay: .9s;
}


.sa.slideShow.slide-rl {
	transform: rotate(180deg);
}
.sa.slideShow.slide-rl img {
	transform: rotate(180deg);
}

.sa.slideShow.slide-white:before {
	background: #fff;
}

/*====================================================
////class .slick
====================================================*/
.slider{
  display: none;
}
.slick-track {
  display: flex !important;
}
.slick-slide {
  height: auto !important;
}
.slider.slick-initialized{
  display: block; /*slick-initializedが付与されたら表示*/
}
.slick-dotted.slick-slider {
	margin-bottom: 40px !important;
	padding-bottom: 0px;
}
.slick-dots {
	display: flex;
		justify-content: center;
	height: 20px;
	position: absolute;
        top: calc(100% + 5px);
		left: 0;
		right: 0;
	z-index: 10;
}
.slick-dots li {
	width: auto;
	height: auto;
	margin: 0;
	/* margin: 0 4px; */
	padding: 0;
}
.slick-dots li::before {
	display: none;
}
.slick-dots li button {
	background: none;
  border: none;
	cursor: pointer;
	outline: none;
	overflow: hidden;
	padding: 0;
	position: relative;
  text-indent: -9999px;
	width: 20px;
	height: 20px;
}
.slick-dots li button:before {
	background: #C5C5C5;
	border-radius: 10px;
	content: '';
	margin: auto;
	opacity: 1;
	position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	transition: .2s ease-in-out;
	width: 8px;
	height: 8px;
}
.slick-dots li.slick-active button:before {
	background: var(--mainColor);
	opacity: 1;
}

.slick-arrow {
    /* border: solid 2px #fff; */
	border-radius: 100%;
	margin: auto;
	position: absolute;
		top: 0;
		bottom: 0;
	transition: .2s ease-in-out;
	width: min(5vw, 30px);
	height: min(5vw, 30px);
	z-index: 1000;
}
.slick-prev {
	left: calc(min(2.5vw, 15px) * -1);
}
.slick-next {
	right: calc(min(2.5vw, 15px) * -1);
}
.slick-arrow:hover {
/*	background: #fff;*/
	opacity: 1;
}
.slick-prev * {
	display: none;
}
.slick-arrow:before {
    background: #fff url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%23848484" d="M12,0C5.37,0,0,5.37,0,12s5.37,12,12,12,12-5.37,12-12S18.63,0,12,0ZM10.77,16.17l-1.34-1.34,2.93-2.93-2.93-2.93,1.34-1.34,4.27,4.27-4.27,4.27Z" /></svg>') no-repeat center / contain;
    border-radius: 100%;
    box-sizing: border-box;
	content: '';
	margin: auto;
	position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	transition: .3s ease-in-out;
	width: 98%;
	height: 98%;
}
.slick-prev:before {
	transform: rotate(-180deg);
}
.slick-next:before {
}
.slick-arrow.slick-disabled {
	cursor: default;
	opacity: 0;
	pointer-events: none;
}


/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

@media screen and (max-width:480px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1550px) {
}

@media (hover: hover) {
	.slick-prev:hover {
		transform: translateX(-6px);
	}
	.slick-next:hover {
		transform: translateX(6px);
	}
}

/*====================================================
////class .headBox
====================================================*/
.headBox {
	position: relative;
	z-index: 2;
}
.headBox h2 ,
.headBox h3 ,
.headBox h4 {
	position: relative;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

@media screen and (max-width:500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:960px) and (max-width:1300px) {
}

@media screen and (min-width:1580px) {
}

/*====================================================
//id |  form
====================================================*/
input, button, select {
	margin: 0;
	padding: 0;
	background: none;
	background-image: none;
	background-position-x: initial;
	background-position-y: initial;
	background-size: initial;
	background-attachment: initial;
	background-origin: initial;
	background-clip: initial;
	background-color: initial;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: inherit;
	cursor: pointer;
}
input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="password"],input[type="url"],input[type="number"],input[type="date"], select, textarea {
	-webkit-appearance: none;
	background: #fff;
	border: solid 1px var(--l_gray);
	border-radius: 4px;
	color: var(--black);
	display: block;
	font-family: var(--font_family);
	line-height: 1.4;
	padding: .7em 1em;
	width: 100%;
	min-height: 3em;
	flex: 1;
	transition: .2s ease-in-out;
}
textarea {
	resize: vertical;
	line-height: 1.6;
	min-height: 80px;
	width: 100%;
}
::-moz-placeholder {
	color: #C9C9C9;
	font-size: .8em;
}
:-ms-input-placeholder {
	color: #C9C9C9;
	font-size: .8em;
}
::placeholder {
	color: #C9C9C9;
	font-size: .8em;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, select:focus, textarea:focus {
}
input[type="file"],
label {
	cursor: pointer;
}
form label {
	line-height: 1.4;
	display: inline-block;
	position: relative;
}

input[type="checkbox"] + span ,
input[type="checkbox"] + label {
	position: relative;
	padding-left: 1.5em;
	display: inline-block;
}
input[type="checkbox"] + span:before ,
input[type="checkbox"] + label:before {
	position: absolute;
	content: '';
	width: 1em;
	height: 1em;
	border: solid 1px;
	border-radius: 3px;
	border-color: var(--black);
	top: .2em;
	left: 0px;
	background: #fff;
	transition: .2s ease-in-out;
}
input[type="checkbox"] + label:before {
	top: -.15em;
}
input[type="checkbox"] + span:after ,
input[type="checkbox"] + label:after {
	position: absolute;
	content: '';
	width: .7em;
	height: .35em;
	border: solid;
	border-width: 0 0 3px 3px;
	border-color: transparent transparent var(--red) var(--red);
	transform: rotate(-45deg);
	top: .2em;
	left: 3px;
	opacity: 0;
	transition: .2s ease-in-out;
}
input[type="checkbox"] + label:after {
	top: -2px;
}
input[type="checkbox"]:checked + span:after ,
input[type="checkbox"]:checked + label:after {
	opacity: 1;
}
input[type="radio"] + span ,
input[type="radio"] + label {
	position: relative;
	padding-left: 1.5em;
}
input[type="radio"] + span:before,
input[type="radio"] + label:before {
    background: #fff;
	content: '';
	border: solid 1px;
	border-radius: 100%;
	border-color: var(--black);
	position: absolute;
        top: .25em;
        left: 0px;
	transition: .2s ease-in-out;
	width: 1em;
	height: 1em;
}
input[type="radio"] + span:after,
input[type="radio"] + label:after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 10 10"><path fill="%23de3030" d="M10,5c0,2.76-2.24,5-5,5S0,7.76,0,5,2.24,0,5,0s5,2.24,5,5Z" /></svg>') no-repeat center;
    background-size: 60% 60%;
	content: '';
	border: solid 1px;
	border-radius: 100%;
	border-color: var(--black);
    opacity: 0;
	position: absolute;
        top: .25em;
        left: 0px;
	transition: .2s ease-in-out;
	width: 1em;
	height: 1em;
}
input[type="radio"]:checked + span:after,
input[type="radio"]:checked + label:after {
	opacity: 1;
}
.select {
	position: relative;
}
.select:before {
	border: solid var(--black);
	border-width: 0 1px 1px 0;
	content: '';
	display: block;
	margin: auto;
	pointer-events: none;
	position: absolute;
		top: 1.1em;
		right: 10px;
	transform: rotate(45deg);
	width: .3em;
	height: .3em;
	z-index: 100;
}
#confirm .select:before {
	display: none;
}
select {
	cursor: pointer;
}
.tel input[type="text"] {
	width: calc(100% / 3 - 10px);
	max-width: 100px;
}

@media screen and (max-width: 769px) {
	input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
	input[type="password"], input[type="url"], input[type="number"], select, textarea,
	.vkfs input[type="text"], .vkfs input[type="search"] {
		padding: .7em .7em;
	}
}

/*====================================================
////class コンタクトフォーム7
====================================================*/
.wpcf7-form .wpcf7-checkbox {
	display: flex;
		flex-wrap: wrap;
		grid-gap: .3em 1.2em;
}
.wpcf7-form .wpcf7-radio {
	display: grid;
		grid-gap: .4em;
}
.wpcf7-form .wpcf7-list-item {
	margin-left: 0;
}
.wpcf7-not-valid-tip {
	bottom: -7px;
	background: var(--red);
	color: #fff;
	display: inline-block;
	font-size: 1.2rem;
	font-weight: bold;
	margin: 5px 0 10px;
	padding: .25em .5em .3em .8em;
	position: relative;
	text-align: center;
	/* width: 12em; */
	white-space: nowrap;
}
.wpcf7-not-valid-tip:before {
	border: solid transparent;
	border-width: 0 5px 12px 5px;
	border-bottom-color: var(--red);
	content: '';
	margin: auto;
	position: absolute;
		top: -10px;
		left: 20px;
	width: 0;
	height: 0;
}

.wpcf7-spinner {
	display: none;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background: var(--red);
	border-color: var(--red);
	border-radius: 5px;
	color: #fff;
	margin: 1.5em auto 0;
	max-width: 720px;
	padding: .5em 1em;
}

/*====================================================
////class .formBox
====================================================*/

.formBox {
	/* background: #fff; */
	margin: auto;
}
.formBox.confirm {
    text-align: center;
}
.formBox.confirm .whiteBox {
    display: inline-block;
    text-align: left;
}
.formBox .innerBox {
	padding-bottom: min(25vw, 150px);
}
.formBox .formItem-outer {
	grid-gap: 1.8em;
}
.formBox .formItem {
    display: grid;
        grid-gap: .5em 1em;
	width: 100%;
}
.formBox .formItem.head {
	border-bottom: 1px solid #00a1e9;
	padding-bottom: 5px;
	font-size: 1.2em;
	grid-column: 1 / -1;
	display: block;
}
.formBox .formItem dt {
    font-weight: 700;
}
.formBox .required {
	background: var(--mainColor);
    color: #fff;
	display: inline-block;
	font-size: .733em;
	font-weight: 700;
	line-height: 1;
	margin-left: 1em;
	padding: .3em .5em .3em;
}
.formBox .formItem .mwform-tel-field {
	display: flex;
	margin-left: -3px;
	align-items: center;
}
.formBox .formItem.form_file dd {
	display: grid;
	grid-gap: .4em;
}
.formBox .formItem .mwform-tel-field input{
	margin: 0 3px;
}
.formBox .formItem input[type="number"] {
	width: 100px;
}
.formBox .backBtn {
	position: relative;
}
.formBox .backBtn .linkBtn-small {
	padding: 0;
}
.formBox .backBtn .linkBtn-small:after {
	transform: rotate(-135deg);
	right: auto;
	left: 25px;
}
.formBox .backBtn .linkBtn-small:hover:after {
	left: 15px !important;
}
.formBox .backBtn input[type="submit"] {
	background: transparent;
	color: inherit;
	display: inline-block;
	font-size: 1.4rem;
	margin: 0 !important;
	min-width: 140px;
/*	padding: .2em 20px .1em 40px;*/
	transition: .2s ease-in-out;
}
.formBox dd {
	position: relative;
	text-align: left;
}
.formBox .h_radioBox {
	display: grid;
		grid-gap: 0 2em;
		grid-template-columns: auto 1fr;
}
.mw_wp_form .formBox .horizontal-item + .horizontal-item {
	margin-left: 0;
	display: block;
	/* margin: 5px 0; */
}
.formBox .consentBox {
	margin: min(8vw, 50px) auto 0;
	/*    font-size: 1.3rem;*/
}
.formBox .consentBox .consent_check {
    display: flex;
        align-items: center;
    position: relative;
}
/* .formBox .consentBox .consent_check .wpcf7-not-valid-tip {
    position: absolute;
        top: 100%;
        left: 0;
} */
.formBox .consentBox .checkBox {
	width: 1.5em;
}
.formBox .consentBox div {
	position: relative;
}
.formBox .consentBox .mwform-checkbox-field {
	display: block;
}

.formBox .btn-outer {
    display: inline-block;
	margin-top: min(10vw, 70px);
    position: relative;
}
.formBox .btn_wrap {
    position: relative;
}
.formBox .btn_wrap::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 41 12"><path fill="%238CC63F" d="M41,6l-6.03,6-1.08-1.07,3.94-3.92H0v-1.68h38.18l-4.29-4.26,1.08-1.07,6.03,6Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    filter: brightness(10) grayscale(0);
    margin: auto;
    position: absolute;
        top: 0;
        right: 1.5em;
        bottom: 0;
    transition: .3s ease-in-out;
    width: 2em;
    height: 1em;
}

/* .formBox .linkBtn {
    background: var(--mainColor);
    border: solid 1px var(--mainColor);
    color: #fff;
} */
.formBox .linkBox.flexBox {
	grid-gap: .8em;
}
.formBox .linkBox .back .linkBtn {
	background: transparent;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.formBox .formItem-outer {
    grid-gap: 2em;
	}
	.formBox .formItem.head {
	border-bottom: 1px solid #00a1e9;
	padding-bottom: 0;
	font-size: 1.2em;
	line-height: 1.5;
}
	.formBox .formItem dt {
		text-align: left;
		position: relative;
	}
	.formBox .formItem dd {
		text-align: left;
		width: 100%;
	}
	.mw_wp_form .formBox .error {
		/*		bottom: -2em;*/
		left: 0;
		padding-left: 1em;
	}
	.formBox .consentBox {
		align-items: stretch;
		/* flex-direction: column; */
	}
	.formBox .linkBox {
		margin: auto;
		max-width: calc(480px + 1em);
	}
	.formBox .linkBox.flexBox > div {
		flex: 1;
	}
	.formBox .linkBox.flexBox input[type="submit"] ,
	.formBox .linkBox.flexBox .linkBtn {
		max-width: 240px;
		min-width: 0;
		width: 100%;
	}

    .formBox.confirm form {
        display: grid;
            place-items: center;
    }
}

@media screen and (min-width:480px) and (max-width:769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .formBox .formItem-outer {
        grid-template-columns: auto 1fr;
        grid-gap: 1.8em 0;
    }
    .formBox .formItem {
        display: grid;
            grid-column: span 2;
            grid-template-columns: subgrid;
            grid-gap: 0 2em;
		line-height: 1.4;
        width: 100%;
    }
    .formBox.input .formItem dt {
        padding-top: .5em;
    }
    .formBox .formItem dd {
		/* min-height: 50px; */
	}
	.wpcf7-form .formBox .formItem dd > span {
        display: block;
		width: 100%;
	}
    .wpcf7-form .formBox .wpcf7-checkbox {
        padding-top: .5em;
    }
	#confirm .formBox .formItem dt {
		padding-top: 0;
	}
	.mw_wp_form_confirm .formBox dd {
		position: relative;
	}
	.formBox .formItem dd .wpcf7-radio {
		padding: .7em 0;
	}
	.formBox .formItem.form_file dd {
		padding: .7em 0;
	}
	.mw_wp_form_confirm .formBox .formItem dt,
	.mw_wp_form_confirm .formBox .formItem dd {
		padding: 20px 0;
	}
	.formBox dd .dateBox {
		width: calc(50% - 5px);
	}
	.formBox .error {
	}
	.formBox .btn-outer:hover:before {
		left: 0;
	}
    .formBox .linkBtn {
        min-width: 438px;
    }
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {
    .formBox .btn_wrap:hover::after {
        filter: none;
        right: 1.2em;
    }
}

/*====================================================
////class .wp-block-table
====================================================*/
.bodyText p + .wp-block-table ,
.bodyText .wp-block-table + .wp-block-table {
	margin: 1.5em 0;
}
table ,
.bodyText .wp-block-table table {
    background: #fff;
    border: solid 1px var(--l_gray2);
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.6;
    overflow: hidden;
	vertical-align: middle;
	width: 100%;
}
table thead ,
.wp-block-table thead {
	border: none;
	/* border-bottom-width: 2px; */
}
table th ,
table td ,
.wp-block-table thead th ,
.wp-block-table tr td {
    border: none;
    border-bottom: solid 1px var(--l_gray2);
	padding: .8em 1em;
}
table th ,
table td.th ,
.wp-block-table thead th ,
.wp-block-table tr td.th {
    background: var(--l_green);
}
table tr:last-child td ,
.wp-block-table tr:last-child td {
    border-bottom: none;
}
table tr td a ,
.wp-block-table tr td a {
	color: var(--mainColor);
	-webkit-text-decoration: underline solid 1px;
	text-decoration: underline solid 1px;
	text-underline-position: under;
	text-underline-offset: 0.2em;
}
table tr td .tel_link a ,
.wp-block-table tr td .tel_link a {
	color: inherit;
}

table tfoot ,
.wp-block-table tfoot {
	border: none;
}
table tfoot td ,
.wp-block-table tfoot td {
    border-top: solid 1px var(--l_gray2);
	text-align: center;
}
table tfoot td:not(td:last-child) ,
.wp-block-table tfoot td:not(td:last-child) {
}
table figcaption ,
.wp-block-table figcaption {
	font-size: .8em;
	margin: .5em 0 0 1em;
}

table.first_td_head td:first-child,
.wp-block-table.first_td_head td:first-child {
	background: var(--mainColor);
    color: #fff;
	font-weight: bold;
    width: 10em;
}


/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	table thead th ,
	table tr td ,
	.wp-block-table thead th ,
	.wp-block-table tr td {
		padding: .7em .7em;
	}

}

@media screen and (max-width:500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1580px) {
}


/* ////////// mobile ////////// */
@media screen and (max-width: 768px) {
	table.responsive,
	.wp-block-table.responsive table ,
	table.responsive tbody,
	.wp-block-table.responsive table tbody,
	table.responsive tr,
	.wp-block-table.responsive table tr,
	table.responsive td,
	.wp-block-table.responsive table td {
		display: block;
	}
	table.responsive,
	.wp-block-table.responsive table {
		border: none;
	}
	table.responsive thead,
	.wp-block-table.responsive thead {
		display: none;
	}
	table.responsive tbody,
	.wp-block-table.responsive tbody {
		display: block;
	}
	table.responsive tr,
	.wp-block-table.responsive tr {
		position: relative;
		width: 100%;
	}
	table.responsive th,
	table.responsive td:first-child,
	.wp-block-table.responsive td:first-child {
		background: none;
		font-weight: bold;
		padding: 1.2em 0 .3em;
		width: 100%;
	}
	table.responsive td,
	.wp-block-table.responsive td {
		border: none !important;
		/* padding: 15px 8px 15px 120px; */
		padding: 0 0 1.2em;
		text-align: left;
		transition: .4s ease;
		width: 100%;
	}
	table.responsive td.price,
	.wp-block-table.responsive td.price {
		text-align: right;
	}
	table.responsive td:before {
		color: var(--black);
		content: attr(data-label);
		font-weight: normal;
		padding-top: .25em;
		position: absolute;
		left: 18px;
	}
}

@media screen and (max-width:500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	table.responsive td.blank .blank_line {
		background: #fff;
		display: block;
		margin: -8px auto -8px -12px;
		position: relative;
		width: 3px;
		height: calc(100% + 16px);
		z-index: 1;
	}

}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1580px) {
}

/*====================================================
////class .tabBox
====================================================*/
.tabBox {
	overflow: hidden;
	position: relative;
}
.tabBox .tabArea {
	grid-gap: 4px;
	position: relative;
	z-index: 5;
}
.tabBox .tabArea li {
	background: var(--l_gray);
	border: solid 1px var(--gray);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	height: 50px;
	line-height: 1.2;
	padding: 5px;
}
.tabBox .tabArea li.current {
	background: #fff;
	border-bottom-color: #fff;
	cursor: default;
	pointer-events: none;
}
.tabBox .tabArea li a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	width: 100%;
	height: 100%;
}
.tabBox .tabArea li.current a {
	pointer-events: none;
}
.tabBox .contentArea {
	background: #fff;
	border: solid 1px var(--gray);
	margin-top: -1px;
	position: relative;
	transition: .4s all;
}
.tabBox .contentArea .tab_content {
	transition: 1.2s all;
	transition-delay: .4s;
}
.tabBox .contentArea .tab_content:not(.current) {
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: .6s all;
	transition-delay: 0s;
	width: 100%;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 768px) {
	.tabBox .tabArea {
		display: flex;
	}
	.tabBox .tabArea .tab {
		flex: 1;
		font-size: 1.1rem;
		height: auto;
		min-height: 40px;
		padding: 6px 3px;
	}
	.tabBox .contentArea .tab_content {
		padding: 1.5em 1em;
	}
}

@media screen and (max-width:500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.tabBox .contentArea .tab_content {
		padding: 2em;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:959px) {
}

@media screen and (min-width:1580px) {}

/*====================================================
////id |  mapBox
====================================================*/
.mapBox .box-inner {
	overflow: hidden;
	position: relative;
}
.mapBox iframe {
	margin: auto;
	position: absolute;
		top: -200px;
	width: 100%;
	height: calc(100% + 400px);
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.mapBox .box-inner {
		width: 100%;
		height: 115vw;
			max-height: 400px;
	}
}

@media screen and (max-width:580px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.mapBox .box-inner {
		width: 100%;
		height: 400px;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1580px) {
}

/*====================================================
////id |  faq
====================================================*/
.faq-items {
    display: grid;
        grid-gap: min(3vw, 24px);
}
.faq-item {
    overflow: hidden;
}
.faq-item dt {
    background: var(--l_beige);
    border-radius: 10px;
    grid-gap: .5em;
    grid-template-columns: 1em 1fr;
    padding: 18px min(3.2vw, 40px);
    position: relative;
    transition: .2s ease-in-out;
}
.faq-item dt .text {
    display: grid;
        align-items: center;
        grid-gap: .5em;
        grid-template-columns: 1fr auto;
}
.faq-item .triangle_arrow {
    transform: rotate(90deg);
}
.faq-item.open .triangle_arrow {
    transform: rotate(270deg);
}
.faq-item .alphabet {
    font-size: 1.2em;
    font-weight: 700;
    line-height: 1.4;
}
.faq-item .accordion-inner {
    padding-top: min(4vw, 24px);
}
.faq-a {
    background: #fff;
    border: solid 1px var(--beige);
    border-radius: 10px;
	grid-gap: .5em;
	grid-template-columns: 1em 1fr;
    padding: 18px min(3.2vw, 40px);
	position: relative;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

@media screen and (max-width:500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1580px) {
}

@media (hover: hover) {
}


/*====================================================
////id | archive_item
====================================================*/
.archive_items {
}
.archive_item {
    border-bottom: solid 1px #DFDFDF;
	position: relative;
}
.archive_item_link {
    display: block;
    padding: 2em 2.5em 2em 0;
    position: relative;
}
.archive_item_link::before {
    border-bottom: solid 2px var(--mainColor);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        left: 0;
        bottom: 0;
    transition: .3s ease-in-out;
    width: 0;
    height: 0;
}
.archive_item_link::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 41 12"><path fill="%238CC63F" d="M41,6l-6.03,6-1.08-1.07,3.94-3.92H0v-1.68h38.18l-4.29-4.26,1.08-1.07,6.03,6Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    opacity: 0;
    position: absolute;
        top: 0;
        right: 1em;
        bottom: 0;
    transition: .3s ease-in-out;
    width: 2em;
    height: 1em;
}
.date_cate {
    display: flex;
}
.date_cate .date {
    color: #D2D2D2;
    font-weight: 700;
    width: 8em;
}
.archive_item_title {
    margin-top: .5em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .archive_item {
        font-size: min(4.53vw, 1.7rem);
    }
    .archive_item_link {
        display: block;
        padding: 1em 0;
        position: relative;
    }
    .archive_item_link::after {
        display: none;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}


@media (hover: hover) {
    .archive_item_link:hover::before {
        opacity: 1;
        width: 100%;
    }
    .archive_item_link:hover::after {
        opacity: 1;
        transform: translateX(.5em);
    }
}

/*====================================================
////id |  cmn_contact
====================================================*/
#cmn_contact {
    background: url('img/cmn/cmn_contact_bg.webp') no-repeat center / cover;
}
#cmn_contact::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1920 150"><path fill="%23F7F5EF" d="M1920,137.96S1777.83,0,1574.61,0s-174.79,111.61-527.48,137.96c-157.65,11.78-369.29-66.21-584.73-68.44C197,66.78,0,137.96,0,137.96v12.04h1920v-12.04Z" /></svg>') no-repeat bottom center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        left: 0;
        bottom: -1px;
    width: 100%;
    height: 50%;
}
.cmn_contact-inner {
    padding-bottom: min(33vw, 180px);
}
.cmn_contact-head .en > span:nth-child(2) {
    color: var(--green);
}
.cmn_contact-link {
    display: grid;
        grid-gap: min(5vw, 24px) min(3vw, 54px);
    margin: min(12vw, 65px) auto 0; 
    width: min(100%, 1030px);
}
.cmn_contact-link_item {
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 0 0 15px rgba(0, 0, 0, .16);
    display: flex;
        align-items: center;
        justify-content: center;
    padding: 20px;
    position: relative;
}
.cmn_contact-link_item > div {
    display: grid;
        place-content: center;
        place-items: center;
    position: relative;
}
.cmn_contact-link_item::before {
    background: var(--l_green);
    border-radius: 10px;
    content: '';
    display: block;
    margin: auto;
    opacity: 0;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    transform: scale(.7);
    transition: .3s ease-in-out;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
}
.cmn_contact-link_icon {
    margin-bottom: min(3vw, 20px);
}
.tel .cmn_contact-link_icon {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 40 52"><path fill="%238cc63f" d="M3.58,2.19C0,4.51-.71,11.76.64,17.66c1.4,5.88,3.79,11.49,7.07,16.57,3.35,5.04,7.5,9.5,12.3,13.2,4.86,3.64,11.78,5.95,15.36,3.64,1.84-1.34,3.41-3.02,4.63-4.95l-1.93-2.97-5.3-8.14c-.39-.61-2.86-.05-4.12.66-1.31.94-2.42,2.14-3.25,3.52-1.16.67-2.13,0-4.16-.93-2.49-1.14-5.3-4.7-7.53-7.92-2.04-3.34-4.15-7.35-4.18-10.08-.03-2.23-.24-3.38.85-4.16,1.6-.2,3.15-.71,4.55-1.52,1.16-.85,2.67-2.87,2.28-3.48L11.92,2.96l-1.93-2.96c-2.26.32-4.44,1.07-6.42,2.19Z" /></svg>') no-repeat center / contain;
    width: 38px;
    height: 50px;
}
.contact .cmn_contact-link_icon {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 48 34"><path fill="%238cc63f" d="M42.4,0H5.6C2.51,0,0,2.5,0,5.59v22.81c0,3.09,2.51,5.59,5.6,5.59h36.81c3.09,0,5.6-2.5,5.6-5.59V5.59c0-3.09-2.51-5.59-5.6-5.59ZM45.33,29.92l-1.07,1.26-14.92-12.17-2.31,2.2c-1.71,1.57-4.34,1.57-6.06,0l-2.31-2.2L3.74,31.18l-1.07-1.26,14.01-12.79L2.58,3.88l.83-1.1,20.59,15.59L44.59,2.78l.83,1.1-14.1,13.24,14.01,12.79Z" /></svg>') no-repeat center / contain;
    width: 47px;
    height: 33px;
}
.cmn_contact-link_text {
    font-weight: 700;
    line-height: 1.2;
}
.cmn_contact-link_time {
    margin-top: .3em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    #cmn_contact {
        font-size: .9em;
        overflow: hidden;
    }
    #cmn_contact::before {
        background-size: cover;
        transform: scaleX(.5);
        transform-origin: left;
        left: 0;
        width: 250%;
        height: min(50vw, 150px);
    }
    .cmn_contact-head .en {
        font-size: min(12vw, 5rem);
        margin-bottom: .2em;
    }
    .cmn_contact-head .jp {
        font-size: min(4.25vw, 2rem);
    }
    .cmn_contact-link {
        grid-template-rows: 1fr 1fr;
    }
    .cmn_contact-link_item {
        border-radius: 15px;
    }
    .tel .cmn_contact-link_icon {
        width: 30px;
        height: 40px;
    }
    .contact .cmn_contact-link_icon {
        width: 40px;
        height: 30px;
    }
    .tel .cmn_contact-link_text {
        font-size: min(7.45vw, 3.2rem);
    }
    .contact .cmn_contact-link_text {
        font-size: min(5.3vw, 2.7rem);
    }
    .cmn_contact-link_time {
        font-size: min(4vw, 1.6rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .cmn_contact-head .en {
        font-size: min(7.5vw, 7.8rem);
        margin-bottom: .2em;
    }
    .cmn_contact-head .jp {
        font-size: 2rem;
    }
    .cmn_contact-link {
        grid-template-columns: 1fr 1fr;
    }
    .cmn_contact-link_item {
        height: min(25vw, 270px);
    }
    .tel .cmn_contact-link_text {
        font-size: min(3.7vw, 3.7rem);
    }
    .contact .cmn_contact-link_text {
        font-size: min(2.8vw, 2.8rem);
    }
    .cmn_contact-link_time {
        font-size: min(1.7vw, 1.7rem);
    }
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {
    .cmn_contact-link_item:hover::before {
        opacity: 1;
        transform: none;
    }
}

/*====================================================
////class .pagetop
====================================================*/

.pagetop {
	display: none;
	position: fixed;
		bottom: 15px;
		right: 15px;
	transform: none !important;
	width: 50px;
	height: 50px;
	z-index: 1000;
	/*	border: solid 1px*/
}
.pagetop.stop {
	position: absolute;
	top: -70px;
	bottom: auto;
}
.pagetop a {
	background: var(--mainColor);
	border-radius: 100%;
	display: flex;
		align-items: center;
		justify-content: center;
	line-height: 1;
	padding-top: 3%;
	position: relative;
	opacity: .7;
	width: 100%;
	height: 100%;
}
.pagetop a .arrow {
	margin: 0;
	transform: rotate(-90deg);
	width: 50%;
	height: 50%;
}
.pagetop a .arrow::before {
	border-color: #fff;
	width: 10px;
	height: 10px;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.pagetop a {
        transform: scale(.8);
        transform-origin: right bottom;
	}
}

@media screen and (min-width:480px) and (max-width:769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.pagetop a:hover {
		opacity: 1;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1580px) {
}

@media (hover: hover) {
	.pagetop a:hover .arrow::after {
		transform: none;
	}
}

/*====================================================
////id |  footer
====================================================*/
footer {
    background: var(--l_beige);
}
.footer-info li + li {
    margin-top: 0 !important;
}
.footer-menu li a {
    padding-left: 1.5em;
    position: relative;
}
.footer-menu li a::before {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 16 16"><path fill="%238CC63F" d="M8.77.04c-.25-.02-.51-.04-.77-.04-.28,0-.55.01-.82.04C3.42.42.42,3.42.04,7.18c-.03.27-.04.54-.04.82s.01.55.04.82c.41,4.03,3.82,7.18,7.96,7.18,4.42,0,8-3.58,8-8C16,3.84,12.83.43,8.77.04ZM7.18,11.02l-1.13-1.13,1.95-1.95-1.95-1.95,1.13-1.13,3.08,3.08-3.08,3.08Z" /></svg>') no-repeat center / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: .3em;
        left: 0;
    width: 1em;
    height: 1em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960px) {
    .footer-inner {
        padding-bottom: 20px;
    }
    .footer-logo {
        margin-bottom: 15px;
        width: min(34.5vw, 150px);
    }
    .footer-main {
        padding-bottom: min(6.4vw, 24px);
    }
    .footer-main p {
        font-size: min(4vw, 1.6rem);
    }
    .footer-info {
        text-align: center;
    }
    .footer-menu {
        display: flex;
            gap: min(6vw, 80px);
            justify-content: space-between;
        margin: min(12vw, 43px) auto min(12.3vw, 45px);
        max-width: 450px;
    }
    .footer-menu li + li {
        margin-top: 1em;
    }
    .footer-menu li::before {
        top: .27em;
        width: 1.14em;
        height: 1.14em;
    }
    .copyright {
        text-align: center;
    }
}


/* ////////// PC ////////// */
@media print, screen and (min-width: 960px) {
    footer {
        font-size: 1.6rem;
    }
    .footer-inner {
        padding-bottom: 80px;
    }
    .footer-main {
        border-bottom: solid 1px #C4C4C4;
        padding-bottom: 45px;
    }
    .footer-logo {
        margin-bottom: 15px;
        width: 180px;
    }
    .footer-nav {
        display: grid;
            grid-template-columns: auto 1fr;
        padding-top: 58px;
    }
    .footer-menu {
        display: flex;
            gap: min(6vw, 80px);
            justify-content: flex-end;
    }
    .footer-menu li + li {
        margin-top: 1em;
    }
    .copyright {
        font-size: 1.4rem;
    }
}

@media (hover: hover) {
    .footer-menu li a:hover {
        opacity: 1;
        color: var(--mainColor);
    }
}

.g-recaptcha {
	margin-top: 50px;
	text-align: center;
	font-size: 0.8em;
}
.grecaptcha-badge { visibility: hidden; }

/*====================================================
////id |  xxx
====================================================*/

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media (hover: hover) {}
