@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
common
font-family: caflisch-script-pro, sans-serif;
font-family: dnp-shuei-ymincho-std, sans-serif;
font-family: 'Montserrat', sans-serif;
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
element base setting (common)
---------------------------------------------------- */
body {  color: #333333;  line-height: 1.8;   background: #fff;}
a { color: #009844;  text-decoration: none;}
a:hover {  text-decoration: underline;}
img {width: 100%; height: auto;}
.inner {width: 90%; max-width: 1200px; margin-right: auto; margin-left: auto; position: relative;}
.inner--s {max-width: 1030px !important;}
.inner--w{max-width: inherit !important;}
.flex {display: flex; display: -webkit-flex;justify-content: space-between; flex-wrap: wrap;}
#mainContainer {overflow: hidden;}

:root {
--ff-script:caflisch-script-pro, sans-serif;
--ff-serif:dnp-shuei-ymincho-std, sans-serif;
--ff-sans:'Montserrat', sans-serif;
--c-green: #009844;
}

.ff-serif {font-family: var(--ff-serif); }
.ff-sans {font-family: var(--ff-sans); }
.ff-script {font-family: var(--ff-script); }
.fs-18 {font-size: min(1.5vw , 1.8rem);}
.fs-20 {font-size: min(1.66vw , 2rem);}
.alignC {text-align: center;}
.fc-green { color: var(--c-green);}

.btn {display: block; border-radius: 50px; text-align: center; padding: min( 1.25vw, 15px); position: relative;}
.btn--green {display: block; background: var(--c-green); color: #fff; border-radius: 50px; text-align: center; padding: min( 1.25vw, 15px); position: relative;}
.btn--white {display: block;  color: #fff; border-radius: 50px; text-align: center; padding: min( 1.25vw, 15px); border: 2px solid #fff;}
.btn--black {background: #444; color: #fff;}
.ic--doc span {position: relative; padding-left: min(2.9vw , 3.5rem);}
.ic--doc span::before {content:"\e85d"; font-family:"Material Symbols Outlined"; position: absolute; left: 0; top: 50%; transform: translateY(-50%); font-size: min( 2.5vw, 3rem); font-weight: 200;}
.btn--arrow { position: relative;}
.btn--arrow::before {content: ""; width: min( 1vw , 12px); height: min( 1vw , 12px); border-top: 2px solid #fff; border-right: 2px solid #fff; position: absolute; right: min(1.25vw , 15px); top: 50%; transform: translateY(-50%) rotate(45deg);}
.btn--back::before {content: ""; width: min( 1vw , 12px); height: min( 1vw , 12px); border-top: 2px solid #fff; border-right: 2px solid #fff; position: absolute; left: min(1.25vw , 15px); top: 50%; transform: translateY(-50%) rotate(-135deg);}

.img-object {overflow: hidden;}
.img-object img {width: 100%; height: 100%; object-fit: cover;}


@media (max-width: 767px) {
	.btn {padding: min( 3vw, 15px)  min( 4vw, 15px); }
	.btn--green, .btn--white {padding: min( 3vw, 15px)  min( 4vw, 15px); font-size: min(4.3vw , 2rem );}
	.ic--doc span {padding-left: min(10vw , 4.5rem);}
	.ic--doc span::before {font-size: min( 8vw, 4rem); }
	.btn--arrow::before {width: min( 3vw , 12px); height: min( 3vw , 12px);   right: min(4vw , 15px); }
	.btn--back::before {width: min( 3vw , 12px); height: min( 3vw , 12px);   left: min(4vw , 15px); } 
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#ftContact{text-align: center; padding: min(5.83vw , 70px) 5%; background: url("../img/common/bg-ftContact-01.jpg") center center / cover no-repeat; color: #fff;}
#ftContact h2 {font-family: var(--ff-serif); font-size: min(2.83vw , 3.4rem); line-height: 1.2; margin-bottom: min(3.3vw , 40px);}
#ftContact h2 span {font-family: var(--ff-script); display: block;}
#ftContact p.read {letter-spacing: 0.1rem; line-height: 1.8;}
.btn--ftContact {margin: min(3.3vw , 40px) auto 0; width: min(26.6vw, 320px);}

#footer { background: #232323; color: #fff; padding: min(3.75vw, 45px) 0; font-size: min(1.16vw, 1.4rem);}
.ftInfo{position: relative;}
.ftTitle {position: relative; padding-right: min( 4vw, 50px); display: inline-block;}
.ftTitle h2 {width: min(15vw, 180px);  margin-bottom: min(1.25vw , 15px);}
.ftSNS {position: absolute; right: 0;top: min(0.2vw, 3px); width: min(2vw , 2.4rem);}
.copy {font-size: min(1vw, 1.2rem); position: absolute; right: 0; bottom: 0;}

#pagetop { position: fixed; bottom: 4%; right: 3%;  z-index: 100;}
#pagetop a { display:block;  width: 50px;	height: 50px;  -webkit-border-radius: 50%;  -moz-border-radius: 50%;  border-radius: 50%;  background-color: #57a060;  text-align:center;  color: #fff;  text-decoration:none;  line-height: 50px;  font-size: 128.6%	;}

@media (max-width: 767px) {
	#ftContact{padding: min(8vw , 70px) 5%; }
	#ftContact h2 { font-size: min(6vw , 3.4rem); margin-bottom: min(6vw , 40px);}
	#ftContact p.read {font-size: min(3.8vw , 1.6rem); letter-spacing: inherit;}
	.btn--ftContact {margin: min(6vw , 40px) auto 0; width: min(100%, 320px);}
	
#footer {padding: min(6.5vw, 45px) 0 min(4vw, 45px); font-size: min(3.6vw, 1.4rem); text-align: center; }
.ftTitle {padding-right: 0; display: block;}
.ftTitle h2 {width: min(40vw, 180px);  margin: 0 auto min(2vw , 15px);}
.ftSNS {display: none;}
.copy {font-size: min(3vw, 1.2rem); text-align: center; position: relative; right:inherit; bottom: inherit; margin-top: min( 3vw, 20px);}

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
home
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.homCategory {font-family: var(--ff-sans); font-size: min(13.3vw, 16rem); line-height: 0.75; position: absolute; z-index: 1; letter-spacing: min(0.6vw , 0.8rem); font-weight: 800;}
.v-rl { -ms-writing-mode: tb-rl; writing-mode: vertical-rl;}
#home .read {line-height: 1.6;}
#home .homBtnCommon {margin: min(3.3vw , 40px) 0 0; max-width: min(27.5vw, 330px);}

.homTitle {font-family: var(--ff-serif); line-height: 1.2; font-size: min(3.17vw, 3.8rem); letter-spacing: 0.1rem;}
.homTitle span {display: block; font-family: var(--ff-script); color: var(--c-green); letter-spacing: 0.2rem; font-size: min(2vw , 2.4rem);}

/* visual*/
#homVisual {aspect-ratio: 160/63; background: url("../img/home/img-homVisual-01.jpg") center center / cover no-repeat ;display: flex; display: -webkit-flex; justify-content: center; align-items: center;}
#homVisual h1 {text-align: center; transform: translateY(-25%); width: 48%; max-width: min(64.17vw, 770px);}
#homVisual h1 img {}

/* reason */
#homReason {position: relative; margin-top: min(9.17vw, 110px); padding-bottom: min(7.5vw, 90px);}
#homReason::before {content: ""; width: 46%; height: calc(100% - min(7.5vw, 90px)); background: url("../img/home/bg-homReason.jpg") left center / cover no-repeat; position: absolute; right: 0; top: 0;}
#homReason .inner {position: relative; padding-left: min(15.8vw, 190px); min-height: min(50vw, 600px); z-index: 3; }
#homReason h2 {position: absolute; left: 0; top: 0; font-size: min(2.67vw, 3.2rem); letter-spacing: 0.2rem; line-height: 1.8;}
#homReason .homTxtReason {padding-top: min(5vw , 60px); width: 34%; }
#homReason .homCategory {color: rgba(0,0,0,0.2); right: 0; top: max(-10vw,  -110px); }

/* business */
#homBusiness {padding: 0 0 min(6.67vw , 80px); position: relative; margin: min(10vw , 120px) auto min( 13.3vw, 160px);}
#homBusiness::before {content: ""; width: 57%; height:100%; background: url("../img/home/bg-homBusiness.jpg") center center / cover no-repeat; position: absolute; left: 0; top: 0;}
#homBusiness::after {content: ""; width: 70%; height: min(57.5vw, 690px); background: #f2f2f2; position: absolute ; left: 0; top: 0; z-index: -1; transform: translateY(-70%);}
#homBusiness .inner {text-align: right;}
.homTxtBusiness { text-align: left; display: inline-block; width: 33%;}
#homBusiness .homTitle {text-align: right; margin-bottom: min(4vw, 50px);}
#homBusiness .homBtnCommon {float: right; width: min(27.5vw, 330px);}
#homBusiness .homCategory {color: #fff; left: 0; top: 0; transform: translateY(-100%);}

/* works */
#homWorks {background: var(--c-green); padding: min(6.67vw, 80px) 0; position: relative; overflow: hidden;}
#homWorks::before {content: ""; width: 50%; height: 200%; background: rgba(255,255,255,0.1); position: absolute; left: 75%; top: 50%; transform-origin: left center; transform: translateY(-50%) rotate(40deg);}
#homWorks .homTitle, #homWorks .homTitle span {color: #fff; text-align: center;}
#homWorks .homListWorks.flex{ justify-content: center; column-gap: 1.3%; margin: min(6.67vw, 80px) auto min(5vw , 60px); position: relative;}
#homWorks .homContWorks {width: 24%; background: #fff; padding: min(1.25vw , 15px); position: relative; z-index: 3;}
#homWorks .homContWorks .homImgWorks {aspect-ratio:13/9; overflow: hidden; margin-bottom: min( 1.25vw, 15px);}
#homWorks .homContWorks .homImgWorks img {width: 100%; height: 100%; object-fit: cover; }
#homWorks .homCatWorks {text-align: center; color: var(--c-green); font-size: min(1.16vw , 1.4rem); margin-bottom:0; }
#homWorks .homContWorks h3 {text-align: center; font-size: min(1.5vw , 1.8rem);  margin: 0 auto min(1.25vw , 15px) ;}
#homWorks .homTagWorks {margin: 0; font-size: 0;}
#homWorks .homTagWorks li {display: inline-block; font-size: min( 1vw, 1.2rem); margin-right: min(0.6vw , 8px); position: relative;}
#homWorks .homTagWorks li::before {content: "#"; }
#homWorks .homBtnCommon {margin: 0 auto;}
#homWorks .homListWorks .homCategory {color: rgba(255,255,255,0.2); left: 0; top: 0; transform: translateY(-98%); z-index: 1; width: 100%;  text-align: center;}

/* faq flow */
#homInfo {padding:  min(8.3vw , 100px) min( 5%, 90px) 0; }
.homContInfo {width: 49%; height: min(23.33vw, 280px); position: relative; display: flex; display: -webkit-flex; justify-content: flex-end; align-items: center; background: #eee; padding:  min(2.5vw, 30px) min(4vw, 50px);}
.homContInfo .homTtlInfo {position: relative; z-index: 3; text-align: right; transform: translateY(-10%);}
.homContInfo .homTtlInfo a {color: #333;}
.homContInfo .homTitle{font-size: min(2.67vw, 3.2rem); }
.homContInfo .homCategory {width: 100%; text-align: center; left: 0; bottom: 0; color: rgba(255,255,255,0.3); font-size:  min(10vw, 16rem);}
#homFlow {background: url("../img/home/bg-flow-01.jpg") right center / cover no-repeat;}
#homFaq {background: url("../img/home/bg-faq-01.jpg") right center / cover no-repeat;}

/* news */
#homNews {margin: min(10vw, 120px) auto; }
.inrNews {max-width: 970px; width: 90%; margin: 0 auto;}
.homTtlNews {width: 28%;}
.homTtlNews  .homTitle{font-size: min(2.67vw, 3.2rem); }
.homContNews {width: 72%;}
.homContNews ul {margin: 0;}
.homContNews ul li {border-bottom: 1px solid #bababa; padding: min(1.66vw , 20px) 0; }
.homContNews ul li span {display: block; color: var(--c-green); margin-bottom: min(0.4vw , 5px);}
.homContNews ul li a {color: #333;}
.homBtnNews {margin: min(2.5vw, 30px) 0 0;}
.homBtnNews a {display: inline-block; width: min(7.5vw, 90px); border: 2px solid var(--c-green); text-align: center; border-radius: min(2.5vw , 30px); font-weight: 600; }


@media (max-width: 767px) {
.homCategory {font-size: min(23vw, 16rem); letter-spacing: 0.1rem; }
#home .homBtnCommon {margin: min(8vw , 40px) 0 0; max-width: inherit;}
.homTitle {font-size: min(8vw, 3.8rem); }
.homTitle span {font-size: min(4.8vw , 2.4rem);}

#homReason {margin-top: min(8vw, 110px); padding-bottom: min(60vw, 460px);}
#homReason::before {width: 100%; height:min(50vw, 400px); top: inherit; bottom: 0;}
#homReason .inner { padding-left: 0; min-height: inherit;}
#homReason h2 {position: relative;  font-size: min(5vw, 3.2rem);  line-height: 1.6; letter-spacing: inherit;}
#homReason .homTxtReason { width: 100%; padding: 0; margin-top: min(6vw , 50px); }
#homReason .homCategory {color: rgba(0,0,0,0.05); top: max(-8vw, -110px);  }

#homBusiness {padding: 0 0 min(60vw, 460px);  margin: min(10vw , 120px) auto 0;}
#homBusiness::before { width:100%; height: min(50vw, 400px); top: inherit; bottom: 0;}
#homBusiness::after { height: 60vh; transform: translateY(-80%);}
#homBusiness .inner {text-align: left; z-index: 3;}
.homTxtBusiness {  display: block; width: 100%;}
#homBusiness .homTitle {text-align: center; margin-bottom: min(6vw, 50px);}
#homBusiness .homBtnCommon {float: none; width: 100%;}
#homBusiness .homCategory {color: rgba(0,0,0,0.05); left: 0; top: max(-10vw , -120px) ; transform: none; height: 100vh;}

/* works */
#homWorks {padding: min(10vw, 80px) 0; }
#homWorks::before {width: 100%; }
#homWorks .homListWorks.flex{ justify-content: space-between; column-gap: inherit; margin: min(6vw, 50px) auto min(5vw , 60px); }
#homWorks .homContWorks {width: 49%; padding: min(2vw , 15px); margin-top: min(2vw ,10px);}
#homWorks .homContWorks .homImgWorks {margin-bottom: min(3vw, 15px);}
#homWorks .homCatWorks { font-size: min(3.6vw , 1.3rem);  }
#homWorks .homContWorks h3 {font-size: min(4.2vw , 1.8rem);  margin: 0 auto min(3vw , 15px) ;}
#homWorks .homTagWorks li {font-size: min( 3.4vw, 1.2rem); margin-right: min(2vw , 8px); }
#homWorks .homListWorks .homCategory {width: 100vw; left: 50%; transform: translate(-50%, -75%); }

/* faq flow */
#homInfo {padding:  min(6vw , 100px) min( 5%, 90px) 0; }
.homContInfo {width: 100%; height: min(45vw, 280px);  padding: 5vw; margin-bottom: min(5% , 30px);}
.homContInfo .homTitle{font-size: min(7vw, 3.2rem); }
.homContInfo .homCategory {font-size: min(23vw, 16rem); }

/* news */
#homNews {margin: min(8vw, 120px) auto min(15vw, 150px); }
.inrNews {max-width: inherit; width: 90%; }
.homTtlNews {width: 100%; position: relative; margin-bottom: min(2.5vw , 30px);}
.homTtlNews  .homTitle{font-size: min(7vw, 3.2rem); }
.homContNews {width: 100%;}
.homContNews ul li { padding: min(4vw , 20px) 0; }
.homContNews ul li span {margin-bottom: min(1vw , 5px);}
.homBtnNews {margin:  0; }
.homBtnNews a {position: absolute; right: 0; bottom: 0; display: inline-block; width: auto; border-radius: min(6vw , 30px);  padding: min(1vw , 5px) min(4vw , 20px);}

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
underlayer common
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#mainContent {margin-bottom: min(12.5vw, 150px); overflow: hidden;}
#business #mainContent , #works #mainContent, #news #mainContent {margin-bottom: 0;}

.pageTitle { position: relative; width: 100%; text-align: center; display: flex; display: -webkit-flex; justify-content: center; align-items: center; margin: min(5vw, 60px) auto min(7.5vw, 90px) ;}
.pageTitle .title h2 { line-height: 1.1; font-family: var(--ff-serif); font-size: min(3.67vw, 4.4rem); letter-spacing: 0.2rem;}
.pageTitle .title h2 span {font-family: var(--ff-script); display: block; font-size: min(2.5vw, 3rem); color: var(--c-green); letter-spacing: 0.1rem;}
.pageTitle .bgTitle {font-family: var(--ff-sans); color: #f5f5f2; position: absolute; width: 100vw; text-align: center; left: 0; top: 50%; transform: translateY(-50%); line-height: 1; z-index: -1; font-size: min(13.3vw, 160px); font-weight: 800; letter-spacing: 0.4rem; text-transform: uppercase;}

@media (max-width: 767px) {
.pageTitle { margin: min(6vw, 60px) auto min(6vw, 90px) ;}
.pageTitle .title h2 { font-size: min(7vw, 4.4rem); letter-spacing: 0;}
.pageTitle .title h2 span {font-size: min(5vw, 3rem);}
.pageTitle .bgTitle {font-size: min(18vw, 160px); letter-spacing: 0;}
}

/* heading / copy */
.hA {font-family: var(--ff-serif); font-size: min( 2.6vw, 3.2rem); letter-spacing: 0.1rem; padding-left: min( 2vw, 25px); border-left: 5px solid var(--c-green); line-height: 1.4; margin-bottom: min(2.9vw , 35px);	}
.hB {color: var(--c-green); font-weight: 600; font-size: min(1.5vw , 1.8rem); margin: min(2vw , 25px) 0 min(1.25vw , 15px);}
.readCopy {font-size: min(1.5vw , 1.8rem); text-align: center;}
.example {padding-left: 2em; text-indent: -2em;	}

@media (max-width: 767px) {
	.hA { font-size: min( 6vw, 3.2rem); padding-left: min( 4vw, 25px);margin-bottom: min(6vw , 35px);	}
	.hB { font-size: min(5vw , 1.8rem); margin: min(5vw , 25px) 0 min(2vw , 15px);}
	.readCopy {font-size: min(4vw , 1.8rem); text-align: left;}
}

/*list */
.listNote {font-size: min(1.16vw , 1.4rem); }
.listNote li {position: relative; padding-left: 1em; text-indent: -1em;}
.listNote li::before {content: "※";}
.listDot {list-style: inherit; padding-left: 1.5em;}

@media (max-width: 767px) {
	.listNote {font-size: min(3.4vw , 1.4rem); }
}

/* table */
.tblA,.tblB {width: 100%;}
.tblA th, .tblB th, .tblA td, .tblB td {padding: min( 1.25vw, 15px); font-weight: 500; text-align: center; }
.tblA th {background: #4fa864; color: #fff; border-bottom: 1px solid #fff;}
.tblA td {border-bottom: 1px solid #4fa864; text-align: left;}
.tblB tr:first-child th {background: #4fa864; color: #fff; border-left: 1px solid #fff; }
.tblB tr{border-bottom: 1px solid #4fa864; }
.tblB tbody tr td:first-child {background: #cdedd5;}
.tblB td {background: #fff;}
.tblB tr td:first-child, .tblB tr th:first-child {border: 0 !important;}

@media (max-width: 767px) {
	.tblA th {display: block;}
	.tblA td {display: block;}

	.tblScroll {overflow: scroll;}
	.tblB {white-space: nowrap;}
	.tblB tr td:first-child, 	.tblB tr th:first-child {position: sticky; left: 0;}
	.tblB th, .tblB td {padding: min( 2vw, 15px) min( 3vw, 15px); }
}

/* column layout */
.col__main {width:74%; padding: 0 min(6.5vw , 85px) min(10vw , 120px); }
.col__main__cont { width: 100% ; max-width: 900px;  margin: 0 auto;}
.col__side { width: 26%; position: relative; background: var(--c-green); padding: min(3.3vw , 40px) min(3.3vw , 40px)  min(10vw , 120px); color: #fff;}
.col__side::before {content: ""; width: 0;height: 0;border-style: solid;border-width: 0 0 min(8.3vw , 100px) 26.5vw; border-color: transparent transparent var(--c-green) transparent; position: absolute; left: 0; top: 0; transform: translateY(-100%);}
.col__side .navSide:not(:last-child) {margin-bottom: min(5vw , 60px);}
.col__side .navSide h2{font-size: min(3vw , 3.6rem); letter-spacing: 0.2rem;}
.col__side .navSide ul {margin: 0;}
.col__side .navSide ul li {position: relative; padding-left: 1em; text-indent: -1em;}
.col__side .navSide ul li::before {content: "・"; }

@media (max-width: 767px) {
.col__main {width: 100%; padding: 0 5% min(15vw , 120px); }
.col__side { width: 100%; padding: min(6vw , 40px) min(5vw , 40px)  min(10vw , 120px); }
.col__side::before {border-width: 0 0 min(8vw , 100px) 100vw; }
.col__side .navSide:not(:last-child) {margin-bottom: min(6vw , 60px);}
.col__side .navSide h2{font-size: min(7vw , 3.6rem); }

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
reason
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.rsn-greeting {}
.catch--01 {font-size: min(2.67vw , 3.2rem); margin-bottom: min(5vw , 60px);}
.rsn-greeting__cont {width: 61%; line-height: 2;}
.rsn-greeting__cont .name {margin: min(4.4vw , 50px) 0 0 ; font-size: min( 3vw , 3.6rem); line-height: 1.3;}
.rsn-greeting__cont .name span {display: block; font-size: min(1.5vw , 1.8rem);}
.rsn-greeting__img {width: 32%; }

.rsn-reason {margin-top: min(11.67vw, 140px);}
.rsn-reason__title {text-align: center; margin-bottom: min(7.5vw, 90px);}
.rsn-reason__title p {font-family: var(--ff-script); color: var(--c-green); margin: 0; font-size: min( 2.5vw, 3rem); line-height: 1.4;}
.rsn-reason__title h2 {font-family: var(--ff-serif); line-height: 1.3; font-size: min(3.33vw, 4rem);}
.rsn-reason__title h2 span {font-size: min(2.83vw, 3.4rem);}
.rsn-reason__title h2 em {font-style: normal; color: var(--c-green);}

.rsn-reason__cont {position: relative; margin-bottom: min(10.83vw, 130px);}
.rsn-reason__cont::before {content: ""; position: absolute; }
.rsn-reason__cont::after {content: ""; width: 43%; height: 100%; background-color: #ccc; background-position: center center; background-repeat: no-repeat; background-size: cover; position: absolute; top: 0;}
.rsn__cont--odd::after {right: min( 5%, 80px); }
.rsn__cont--even::after {left: min( 5%, 80px); }
.rsn__cont--even .inner {text-align: right;}
.rsn__cont__txt {width: 45.8%; position: relative; display: inline-block; text-align: left; padding: min(2.5vw , 30px) 0; min-height: min( 34.6vw, 415px); z-index: 2;}
.rsn__cont__txt h3 {font-family: var(--ff-serif); font-size: min( 2.5vw , 3rem); margin-bottom: min(3.3vw , 40px); line-height: 1.5;}
.rsn__cont__txt h3:first-letter {color: var(--c-green);}
.rsn__cont__btn {margin: min( 3.3vw , 40px) 0 0; max-width: min(27.5vw, 330px);}
.rsn__cont__num {margin: 0; position: absolute;  z-index: 1;}

.rsn__cont--01::before {background: #f7f6f0; width: 23%; height: min(45vw, 540px); right: 0; top: min(11.67vw, 140px);}
.rsn__cont--02::before {background: #ecf6f1; width: 36%; height: min(29.17vw, 350px); left: 0; top: 55%;}
.rsn__cont--03::before {background: #f7f6f0; width: 39%; height: min(30.42vw, 365px); left: 50%; top: 50%; transform: translate(-60%, 40%);	}
.rsn__cont--05::before {background: #ecf6f1; width: 30%; height: min(30vw, 360px); right: 0; top: min( 9.17vw, 110px);}

.rsn__cont--01::after{background-image: url("../img/page/reason/bg-reason-01.jpg");}
.rsn__cont--02::after{background-image: url("../img/page/reason/bg-reason-02.jpg");}
.rsn__cont--03::after{background-image: url("../img/page/reason/bg-reason-03.jpg");}
.rsn__cont--04::after{background-image: url("../img/page/reason/bg-reason-04.jpg");}
.rsn__cont--05::after{background-image: url("../img/page/reason/bg-reason-05.jpg");}

.rsn__cont--01 .rsn__cont__num {width: min(14.25vw, 171px); top: 0; left: max( -5.8vw, -70px);} 
.rsn__cont--02 .rsn__cont__num {width: min(16.75vw, 201px); bottom: 0; right: max( -5vw, -60px);}
.rsn__cont--03 .rsn__cont__num {width: min(17vw, 204px);  bottom: 0; left: max( -5.8vw, -70px);}
.rsn__cont--04 .rsn__cont__num {width: min(16.5vw, 198px); top: 0; right: 0;}
.rsn__cont--05 .rsn__cont__num {width: min(17.83vw, 214px); top: 0; left: max( -5.8vw, -70px);} 

@media (max-width: 767px) {
.catch--01 {font-size: min(6vw , 3.2rem); margin-bottom: min(6vw , 60px); line-height: 1.5;}
.rsn-greeting__cont {width: 100%; line-height: 1.8;}
.rsn-greeting__cont .name {margin: min(7vw , 50px) 0 0 ; font-size: min( 7vw , 3.6rem); text-align: right;}
.rsn-greeting__cont .name span {font-size: min(4.2vw , 1.8rem);}
.rsn-greeting__img {width: 80%; margin: min( 10vw , 60px) auto 0;}

.rsn-reason {margin-top: min(16vw, 140px);}
.rsn-reason__title {margin-bottom: min( 10vw, 90px);}
.rsn-reason__title p {font-size: min( 5vw, 3rem); }
.rsn-reason__title h2 {font-size: min(7vw, 4rem);}
.rsn-reason__title h2 span {font-size: min(6vw, 3.4rem);}

.rsn-reason__cont {margin-bottom: min(15vw, 130px); padding-bottom: 56vw;}
.rsn-reason__cont::after {width: 90%; height: 50vw; top: inherit; bottom: 0;}
.rsn__cont--odd::after, .rsn__cont--even::after  {left: 5%; }
.rsn__cont--even .inner {text-align: left;}

.rsn__cont__txt {width: 100%; display: block;   padding: 0; min-height: inherit;}
.rsn__cont__txt h3 {font-size: min(5.5vw , 3rem); margin-bottom: min(4vw , 40px); }
.rsn__cont__btn {margin: min( 6vw , 40px) 0 0; max-width: inherit;}

.rsn__cont--01::before { width: 30vw; height: 40vh; top: 30%;}
.rsn__cont--02::before { width: 36vw; height: 50vh; }
.rsn__cont--03::before { width: 40vw; height: 60vw; left: inherit; right: 0;  top: inherit; bottom: 0;  transform: translate(0, 10%);	}
.rsn__cont--05::before { width: 40vw; height: 30vh; right: inherit; left: 0;  top: inherit; bottom:  20vw;}

.rsn__cont__num { top: 0 !important; right: 0 !important; left: inherit !important;}
.rsn__cont--01 .rsn__cont__num {width: min(30vw, 171px); } 
.rsn__cont--02 .rsn__cont__num {width: min(30vw, 201px); }
.rsn__cont--03 .rsn__cont__num {width: min(32vw, 204px);  }
.rsn__cont--04 .rsn__cont__num {width: min(32vw, 198px); }
.rsn__cont--05 .rsn__cont__num {width: min(32vw, 214px); } 

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
business
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.bus-category { position: relative; margin-bottom: min( 12.5vw, 150px);}
.bus-category::after {content: ""; display: block; width: 32%;}
.bus-cat__list {width: 32%; margin-top: min(6.67vw , 80px);}
.bus-cat__list .bus-cat__img {background: #eee; aspect-ratio: 384/265; }
.bus-cat__list h2 {color: var(--c-green); text-align: center; font-weight: 600; font-size: min(1.66vw , 2rem); margin-bottom: min(1.25vw , 15px);}
.bus-cat__list .bus-cat__read {margin-bottom: 0;}
.bus-cat__list .bus-cat__btn {margin:  min(2.5vw , 30px) auto 0; max-width: 295px;}

.bus-price {background: #f7f5ef; padding-bottom: min(8.3vw , 100px); }
.bus-price__title {text-align: center; font-size: min(2.83vw, 3.4rem); line-height: 1.5; padding: min(4.4vw , 50px) 0; position: relative;}
.bus-price__title::before {content: ""; width: min( 6.6vw, 80px); height: min(0.4vw , 5px); background: var(--c-green); position: absolute; left: 50%; top: 0; transform: translateX(-50%);}
.bus-price__title span {display: block; font-size: min(2vw , 2.4rem);}

@media (max-width: 767px) {
	.bus-category { margin-bottom: min( 10vw, 150px);}
	.bus-category::after {content: none;}
	.bus-cat__list {width: 48%; margin-top: min(3vw , 80px);}
	.bus-cat__list h2 {font-size: min(4.2vw , 2rem); margin-bottom: min(2vw , 15px);}
	.bus-cat__list .bus-cat__read {display: none;}
	.bus-cat__list .bus-cat__btn {display: none; }

	.bus-price {padding-bottom: min(8vw , 100px); }
	.bus-price__title { font-size: min(6vw, 3.4rem); padding: min(7vw , 50px) 0; }
	.bus-price__title::before { width: min(16vw, 80px); height: min(1vw , 5px); }
	.bus-price__title span {font-size: min(4vw , 2.4rem);}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
works
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#works .col__side li a {color: #fff;}
.wrk__cat { font-weight: 600; margin-bottom: 0; line-height: 1.4;}
.wrk__tag {margin: 0; font-size: 0;}
.wrk__tag li {display: inline-block; font-size: min(1vw , 1.2rem);  margin-right: min(0.4vw , 5px); background: #f3f3f3; padding: min(0.5vw , 5px) min( 0.83vw, 10px); line-height: 1.3; margin-bottom:min(0.4vw , 5px);}
.wrk__tag li a {color: #333;}
.wrk__tag li  span {position: relative;}
.wrk__tag li  span::before {content: "#";}

.col__side .navSide .navSide__tag li {display: inline-block; margin-right: min(0.83vw , 10px);}
.col__side .navSide .navSide__tag li::before {content: "#"; }

/* index */
.wrk__index{}
.wrk__index .col__main__cont{ max-width:1200px; margin: 0 auto;}
.wrk__list__wrapper {position: relative; }
.wrk__list__wrapper::after{content: ""; width: 32.4%; display: block;}
.wrk__list {width: 32.4%; margin-bottom: min(3.3vw , 40px);}
.wrk__list .wrk__list__img {margin-bottom: min( 1.66vw, 20px);}
.wrk__list .wrk__list__img a {display: block; background: #eee; aspect-ratio:33/23; }
.wrk__list .wrk__title {font-size: min(1.5vw , 1.8rem); margin-bottom: min(1.25vw , 15px);}
.wrk__list .wrk__title a {color: #333;}

.wp-pagenavi {margin-top: min(6.6vw , 80px); text-align: center;}

/* single */
.wrk__single .col__main {}
.wrk__single .col__main__cont { width: 100% ; max-width: 900px;  margin: 0 auto;}
.wrk__head {border-left: 5px solid var(--c-green); padding-left: min( 2vw	, 24px); margin-bottom: min(3.3vw , 40px);}
.wrk__head__info { display: flex; margin-bottom: min(0.4vw , 5px);}
.wrk__head__info .wrk__cat {margin-right: min(0.83vw , 10px);}
.wrk__head h1 {font-size: min(2.66vw , 3.2rem); line-height: 1.4;}

.post__body{}
.post__body figure {margin: min(3.3vw , 50px) auto; padding: 0; text-align: center;}
.post__body figure img {width: auto; max-width: 100%;}
.post__body h2 {font-size: min(2.33vw , 2.8rem); font-weight: 600; margin: min( 3.3vw, 40px ) 0 min( 2vw, 25px ); line-height: 1.4; }
.post__body h3 {font-size: min(2vw , 2.4rem); font-weight: 600; margin: min( 3.3vw, 40px ) 0 min( 2vw, 25px ); line-height: 1.4; color: var(--c-green);}
.post__body h4 {font-size: min(1.66vw , 2rem); font-weight: 600; margin: min( 3.3vw, 40px ) 0 min( 2vw, 25px ); line-height: 1.4; background: #f3f3f3;  padding: min(0.83vw , 10px);}
.post__body ul, .post__body ol{ list-style:inherit; padding-left: 1.5em;}
.post__body ol {list-style: decimal;}

.wrk__price {margin-top: min(3.3vw, 40px); padding-top: min(2.5vw, 30px); border-top: 1px solid #ccc;}
.wrk__price table { margin: 0 0 min( 0.83vw, 10px); text-align: left;}

.post__btn {max-width: min(24vw , 290px); margin: min(5vw , 60px) auto 0;}

.wrk__related {margin-top: min( 6.6vw, 80px);}
.wrk__related h2 {font-weight: 600; text-align: center;  color: var(--c-green); font-size: min(2.33vw, 2.8rem); position: relative; margin-bottom: min(3.3vw , 40px);}
.wrk__related h2 span {background: #fff; padding: 0 min(1.66vw , 20px); position: relative; z-index: 1;}
.wrk__related h2::before {content: ""; width: 100%; height: 3px; background: var(--c-green); position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
.wrk__related .wrk__list .wrk__list__img {margin-bottom: min( 0.83vw, 10px);}
.wrk__related .wrk__list__wrapper {margin-bottom: 0;}

@media (max-width: 767px) {
.wrk__cat { font-size:min(3.6vw , 1.6rem);}
.wrk__tag li { font-size: min(3.2vw , 1.2rem);  margin-right: min(1vw , 5px);padding: min(1vw , 5px) min( 2vw, 10px); }
.col__side .navSide .navSide__tag li {margin-right: min(2vw , 10px);}

/* index */
.wrk__list__wrapper {margin-bottom: min(6.6vw , 80px);}
.wrk__list__wrapper::after{content: none;}
.wrk__list {width: 48%; margin-bottom: min(6vw , 40px);}
.wrk__list .wrk__list__img {margin-bottom: min( 2vw, 20px);}
.wrk__list .wrk__title {font-size: min(4.5vw , 1.8rem); margin-bottom: min(2vw , 15px);}

/* single */
.wrk__head {padding-left: min( 3vw	, 24px); margin-bottom: min(6vw , 40px);display: flex; display: -webkit-flex; flex-direction: column-reverse; }
.wrk__head__info {margin: min(3vw , 10px) 0 0; display: block;}
.wrk__head__info .wrk__cat {margin-right: min(2vw , 10px); margin-bottom: 1vw;}
.wrk__head h1 {font-size: min(6.4vw , 3.2rem); }

.post__body figure {margin: min(6vw , 50px) auto; }
.post__body h2 {font-size: min(5.5vw , 2.8rem); margin: min( 6vw, 40px ) 0 min( 4vw, 25px );}
.post__body h3 {font-size: min(4.5vw , 2.4rem);  margin: min( 6vw, 40px ) 0 min( 3vw, 25px ); }
.post__body h4 {font-size: min(4.2vw , 2rem); margin: min( 6vw, 40px ) 0 min( 3vw, 25px ); padding: min(2vw , 10px);}

.wrk__price {margin-top: min(8vw, 40px); padding-top: min(4vw, 30px); }
.wrk__price table { margin: 0 0 min( 2vw, 10px); }

.post__btn {max-width: 80vw; margin: min(6vw , 60px) auto 0;}

.wrk__related {margin-top: min( 10vw, 80px);}
.wrk__related h2 { font-size: min(5.8vw, 2.8rem);  margin-bottom: min(4vw , 40px);}
.wrk__related h2 span {padding: 0 min(4vw , 20px); }
.wrk__related .wrk__list .wrk__list__img {margin-bottom: min( 2vw, 10px);}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
flow
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.flw__content {padding:  min(4.17vw, 50px) 0 min( 11.67vw, 140px); position: relative; background: rgb(241,247,239); background: linear-gradient(0deg, rgba(241,247,239,1) 0%, rgba(255,255,255,1) 100%);}
.flw__content::before, .flw__content::after{content: ""; position: absolute; width: 0;height: 0;border-style: solid; bottom: 0;}
.flw__content::before {border-width: min( 11.67vw, 140px) 0 0 50vw; border-color: transparent transparent transparent #ffffff; left: 0;}
.flw__content::after {border-width: 0 0 min( 11.67vw, 140px) 50vw;border-color: transparent transparent #ffffff transparent; left: 50%;}

.flw__inner {max-width: 1030px; text-align: center;}
.flw__inner h2 { color: var(--c-green); position: relative; padding-top: min(6.17vw, 74px); margin-bottom: min(3.3vw , 40px);}
.flw__inner h2 span {position: absolute; left: 50%; top: 0; transform: translateX(-50%); border: 2px solid var(--c-green); border-radius: 50%; width: min( 5vw, 60px); aspect-ratio: 1/1; font-size: min( 2vw, 2.4rem); display: flex; display: -webkit-flex; align-items: center; justify-content: center;}
.flw__inner h2 em {font-style:  normal; font-size: min(2.5vw , 3rem); letter-spacing: 0.1em;}

.flw__contact {margin: min(3.75vw, 45px) auto 0 ; max-width: 770px; }
.flw__contact h3 { color: var(--c-green);  font-weight: 600; font-size: min(1.66vw , 2rem); margin-bottom: min(2.5vw , 30px); position: relative;}
.flw__contact h3::before {content: ""; position: absolute; width: 100%; height: 2px; background: var(--c-green); left: 0; top: 50%; transform: translateY(-50%);}
.flw__contact h3 span {background: #f7faf6; padding: 0 min(1.25vw , 15px); position: relative; }
.flw__contact .flex div {width: 48%;}
.flw__contact .flex div p {margin: 0;}
.flw__tel__num {color: var(--c-green); font-size: min(2.83vw, 3.4rem); font-family: var(--ff-sans); letter-spacing: 0.15rem;line-height: 1.2;}
.flw__mail__btn a {font-size: min(1.66vw , 2rem); font-weight: 600;}

.flw__flex {text-align: left;}
.flw__text {width: 50%;}
.flw__img {width: 44%; }
.flw__inner__last {padding:  min(4.17vw, 50px)  0 0;}

@media (max-width: 767px) {
	.flw__content {padding:  min(10vw, 50px) 0 min( 18vw, 140px); }
	.flw__content:first-of-type {padding-top: 0;}
	.flw__content::before {border-width: min( 11vw, 140px) 0 0 50vw; }
	.flw__content::after {border-width: 0 0 min( 11vw, 140px) 50vw;}

	.flw__inner h2 { padding-top: min(12vw, 74px); margin-bottom: min(6vw , 40px);}
	.flw__inner h2 span {width: min( 10vw, 60px); font-size: min(5vw, 2.4rem); }
	.flw__inner h2 em { font-size: min(5.4vw , 3rem); }
	.alignL-sp {text-align: left;}

	.flw__contact {margin: min(8vw, 45px) auto 0 ; }
	.flw__contact h3 {font-size: min(5vw , 2rem); margin-bottom: min(6vw , 30px); }
	.flw__contact h3 span {padding: 0 min(3vw , 15px); }
	.flw__contact .flex div {width: 100%; margin-bottom: 4vw;}
	.flw__tel__num {font-size: min(6vw, 3.4rem); }
	.flw__mail__btn a {font-size: min(4.5vw , 2rem); }

	.flw__text {width: 100%;}
	.flw__img {width: 100%; margin-top: 5vw;}
	.flw__inner__last {padding:  min(4.17vw, 50px)  0 0;}

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
company
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.com--content { margin-top: min(10vw , 120px);}
.com__map__btn {margin: min(5vw , 60px) auto 0;}
.com__map {width: 100%; height: min(33.3vw, 400px);}
.com__map iframe {width: 100%; height: 100%;}
.com__map__btn a {max-width: 290px; margin: 0 auto;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
faq
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.faq {border: 1px solid #ccc; border-radius: min(0.66vw , 8px); margin-bottom: min( 0.83vw, 10px);}
.faq.active {border-color: var(--c-green);}
.faq__q{padding: min(2vw , 25px) min(6.6vw, 80px); color: var(--c-green); cursor: pointer; position: relative;}
.faq__q span {position: relative; font-size: min(1.66vw , 2rem); }
.faq__q em {font-family: var(--ff-sans); position: absolute; left: 0; top: min(0.25vw , 2px); transform: translateX(-200%); font-style: normal; line-height: 1;  font-size: min(2vw , 2.4rem);}
.faq__q::before, .faq__q::after{content: ""; width: min(1.25vw , 15px); height: 1px; background: #aaa; position: absolute; right: min(3.3vw , 40px); top: 50%; transform: translateY(-50%);}
.faq__q::after {transform: translateY(-50%) rotate(90deg); transition: 0.3s all linear;}
.faq__q.active::before, .faq__q.active::after {background: var(--c-green);}
.faq__q.active::after {transform: translateY(-50%) rotate(0); }
.faq__a{padding: 0 min(6.6vw, 80px) min(2vw , 25px) ; display: none;}
.faq__a p:last-child {margin-bottom: 0;}

@media (max-width: 767px) {
	.faq {border-radius: min(3vw , 8px); margin-bottom: min( 2vw, 10px);}
	.faq__q{padding: min(4vw , 25px) min(8vw, 80px) min(4vw , 25px) min(5vw, 80px); }
	.faq__q span { font-size: min(4.2vw , 2rem); position: relative; padding-left: 6vw; display: inline-block; line-height: 1.5;}
	.faq__q em {top: 1vw; left: 0; transform: none;  font-size: min(5vw , 2.4rem); }
	.faq__q::before, .faq__q::after{width: min(3vw , 15px);  right: min(3vw , 40px); }
	.faq__a{padding: 0 min(7vw, 80px) min(4vw , 25px) ; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
contact
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.tblContact {margin: min(6.6vw , 80px) 0 min(5vw , 60px);}
.tblContact th {text-align: left; width: 28%;}
.tblContact th div {position: relative;}
.tblContact th div .require{position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: min(1rem , 1.2rem); background: #fff; display: inline-block; color: var(--c-green); line-height: 1; padding:  min(0.4vw, 5px) min(0.83vw , 10px); font-weight: 600;}
.tblContact td p { margin: 0;}
.tblContact td .error {color: red; font-size: min( 1.16vw, 1.4rem); display: block; margin-top: min(0.83vw , 10px);}

input[type="text"], input[type="email"] , input[type="tel"] {border: 1px solid #ccc; padding: min(0.4vw , 5px); outline: none;}
.mwform-radio-field, input[type="checkbox"] {margin-right: min( 1.25vw, 15px);}
 textarea {border: 1px solid #ccc; padding: min(0.4vw , 5px); outline: none; width: 100%; height: min(15vw, 180px);}
.inputA {width: 60%;}
.inputB {width: 30%;}
.inputC {width: 100%;}

.con__privacy {text-align: center; font-size: min(1.16vw , 1.4rem); margin-bottom: min(5vw , 60px);}
.con__privacy p {margin: 0;}

.formBtn {display: flex; margin: 0; justify-content: center; column-gap: min(1.25vw , 15px);}
.formBtn li {position: relative;}
.formBtn li::before {content: ""; width: min(0.83vw , 10px); aspect-ratio: 1/1; border-top: 2px solid #fff; border-right: 2px solid #fff; position: absolute; top: 50%; }
.formBtn li.btnPrimary::before { right: min(1.66vw , 20px); transform: translateY(-50%) rotate(45deg);}
.formBtn li.btnNegative::before {left: min(1.66vw , 20px); transform: translateY(-50%) rotate(-135deg); border-color: #444;}
.formBtn li input {border: none; padding: min( 1.66vw, 20px) min( 2.5vw, 30px); font-size: min(1.66vw , 2rem); border-radius: 30vw; font-weight: 600; }
.formBtn li.btnPrimary input  {background: #444444; color: #fff; width: min(31.67vw , 380px);}
.formBtn li.btnNegative input  {background: #ccc; color: #444;  width: min(15vw , 180px);}

.mw_wp_form_confirm .con__privacy {display: none;}
.mw_wp_form_confirm .tblContact td .error {display: none;}

@media (max-width: 767px) {
.tblContact {margin: min(10vw , 80px) 0 min(8vw , 60px);}
.tblContact th {width: 100%;}
.tblContact th {padding: 2vw;}
 .tblContact td {padding: 2vw 0;}
.tblContact th div .require{font-size: min(3.2vw , 1.2rem); padding:  min(1vw, 5px) min(2vw , 10px); }
.tblContact td .error {font-size: min( 3.6vw, 1.4rem);margin-top: min(2vw , 10px);}

input[type="text"], input[type="email"] , input[type="tel"] {padding: min(1.5vw , 5px); }
.mwform-radio-field, input[type="checkbox"] {margin-right: min( 2vw, 15px);}
 textarea {padding: min(1.5vw , 5px);  height: min(40vw, 180px);}
.inputA, .inputB {width: 100%;}

.con__privacy {font-size: min(3.6vw , 1.4rem); margin-bottom: min(8vw , 60px);}

.formBtn {column-gap: 0; flex-direction: column-reverse;}
.formBtn li {margin-bottom: min(3vw , 15px);}
.formBtn li::before {width: min(2vw , 10px); }
.formBtn li.btnPrimary::before { right: min(4vw , 20px); }
.formBtn li.btnNegative::before {left: min(4vw , 20px); }
.formBtn li input {padding: min(4vw, 20px) min( 6vw, 30px); font-size: min(4.5vw , 2rem); }
.formBtn li.btnPrimary input, .formBtn li.btnNegative input {width: 100%;}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
news
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#news .col__side {background:#cee1c6;color: var(--c-green);}
#news .col__side::before {border-color: transparent transparent #cee1c6 transparent;}
#news .col__side .navSide li a {color: #333;}

.news__title__info {display: flex; display: -webkit-flex; column-gap: min( 0.8vw, 10px);}
.news__title__info p, .news__title__info ul {margin: 0;}
.news__title__info p {font-weight: 500; font-family: var(--ff-sans);}
.news__title__info ul {font-size: 0;}
.news__title__info ul li {display: inline-block; font-size: min(1.16vw , 1.4rem); border: 1px solid var(--c-green); line-height: 1.4;	margin-right:  min( 0.4vw, 5px);}
.news__title__info ul li a {display: block; padding: min(0.25vw , 3px) min(1.25vw , 15px);}
.news__title h2 {line-height: 1.5;}
.news__title h2 a {color: #333;}

.news__index .news__title h2 {font-size: min( 1.66vw, 2rem); margin: min(1.66vw , 10px) 0;}
.news__index .news__title {border-bottom: 1px solid #ccc; padding: min(1.66vw , 20px) 0 min(0.83vw , 10px);}

.news__post .news__title{border-left: 5px solid var(--c-green); padding-left: min(1.66vw , 20px); margin-bottom: min(4.3vw , 50px);}
.news__post .news__title h2 {font-size: min( 2.5vw, 3rem); margin: min(1.66vw , 10px) 0;}

@media (max-width: 767px) {
.news__title__info {column-gap: min( 2vw, 10px);}
.news__title__info ul li {font-size: min(3.8vw , 1.4rem); margin-right:  min( 1vw, 5px);}
.news__title__info ul li a {padding: min(0.5vw , 3px) min(2vw , 15px);}
.news__index .news__title h2 {font-size: min(4.5vw, 2rem); margin: min(2vw , 10px) 0;}
.news__index .news__title {padding: min(4vw , 20px) 0 min(2vw , 10px);}
.news__post .news__title{padding-left: min(4vw , 20px); margin-bottom: min(8vw , 50px);}
.news__post .news__title h2 {font-size: min( 4.5vw, 3rem); margin: min(1vw , 10px) 0;}
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (min-width:768px) {
/* ----------------------------------------------------
common(pc)
---------------------------------------------------- */
/* hover */
a:hover {
  opacity: .8 !important; filter: alpha(opacity=80);
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
a img:hover {
  opacity: .8 !important; filter: alpha(opacity=80);
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
.clickable:hover {
  filter: alpha(opacity=80) !important;	opacity: .8 !important;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
.clickable:hover {
  opacity: 0.7;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
header (PC）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#header {position: relative; padding: min( 3.3vw, 40px) 0 min(1.25vw, 15px); width: 90%; max-width: 1200px; margin: 0 auto;}
#hd-logo {width: min(20vw, 240px); margin-bottom: min(3.3vw, 40px);}
#grandMenu { margin: min(1.25vw, 15px) auto 0;}
#navGlobal {display: flex; display: -webkit-flex;}
#navGlobal li {flex: 1; text-align: center; border-right: 1px dotted #666;  font-size: min(1.5vw , 1.8rem); font-family: var(--ff-serif);}
#navGlobal li:first-child {border-left: 1px dotted #666; letter-spacing: 0.1rem;}
#navGlobal li a {display: block; color: #333; line-height: 1.3;}
#navGlobal li a.current {color: var(--c-green);}
#navGlobal li a:hover{color: var(--c-green); } 
#navGlobal li a span {font-family: var(--ff-script); display: block; letter-spacing: 0.1rem; color: var(--c-green);  font-size: min(1.3vw , 1.6rem);}

.hdContact {position: absolute; width: min(24vw , 300px); right: min(5.83vw,70px); top: min(2.5vw , 30px); line-height: 1.2; }
.hdContact a {height: min( 4.58vw, 55px); display: flex; display: -webkit-flex; justify-content: center; align-items: center;}
.hdSNS a {background: #d4d4d4; width: min( 4.58vw, 55px); height: min( 4.58vw, 55px); border-radius: 50%; display: flex; justify-content: center; align-items: center; position: absolute; right: 0 ; top: min(2.5vw , 30px);}
.hdSNS a img {width: min( 2vw , 24px);}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
module (PC）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.v-rl-pc { -ms-writing-mode: tb-rl; writing-mode: vertical-rl;}


}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 1200px) and (min-width: 768px) {
}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 767px) {
#mainContainer{ width: 100%; position: relative;}
.v-rl-sp { -ms-writing-mode: tb-rl; writing-mode: vertical-rl;}

/* ----------------------------------------------------
header(sp)
---------------------------------------------------- */
#header  {position: sticky; left: 0; top: 0; z-index: 99; width: 100%; height: 16vw; background: #fff; display: flex; display: -webkit-flex; align-items: center; padding: 3vw;}
#header #hd-logo {width: 46vw; }
#header #hd-logo img {max-height: 12vw;}
#btnGlobal {position: absolute; height: 12vw; width: 12vw;  top: 2vw;  right:2vw; border-radius: 6vw;  z-index: 120; display: flex; display: -webkit-flex; justify-content:center; align-items: center; background: var(--c-green);}
#btnGlobal .btnWrapGlobal { width: 5vw; height: 4vw; position: relative;}
#btnGlobal .btnLine { height: 3px; background: #fff; position: absolute; right:0; width: 100%;}
#btnGlobal .btnLine.btnLineT {  top: 0;}
#btnGlobal .btnLine.btnLineM { top: 50%; transform: translateY(-50%);}
#btnGlobal .btnLine.btnLineB { bottom: 0; }
#btnGlobal.active .btnLine {background: #fff;}
#btnGlobal.active .btnLine.btnLineT { display: none;}
#btnGlobal.active .btnLine.btnLineM { transform: translateY(0) rotate(45deg) ;}
#btnGlobal.active .btnLine.btnLineB { transform: rotate(-45deg); bottom:inherit; top: 50%;}
#btnGlobal .btnLine.btnLineM, #btnGlobal .btnLine.btnLineB {-moz-transition: all, ease-in-out, 0.3s;  -o-transition: all, ease-in-out, 0.3s;  -webkit-transition: all, ease-in-out, 0.3s; transition: all, ease-in-out, 0.3s;}
#btnGlobal .btnText { color: #013e7f; font-size: 1.5rem; margin: 0; position: absolute; right: 0; top: 0; line-height: 1;}
#grandMenu {background: rgba(0,0,0,0.8); width: 100%; height: 100%; position: fixed; z-index: 100;  left: 0; top: 0; display: none; overflow: auto; padding: 20vw 8%;}
#grandMenu a {color: #fff;}
#grandMenu #navGlobal {margin-bottom: min(8vw , 40px);}
#grandMenu #navGlobal li { font-size: min(4vw , 1.8rem); border-bottom: 1px dotted #888; line-height: 1.4;}
#grandMenu #navGlobal li a {display:  block; padding: min(3vw , 15px) 0; position: relative;}
#grandMenu #navGlobal li a::after {content:""; position: absolute; right: 2vw; top: 50%; width: 2vw; height: 2vw; border-top:1px solid #fff; border-right: 1px solid #fff; transform:  rotate(45deg) translateX(-50%);}
#navGlobal li a span {font-family: var(--ff-script); display: block; letter-spacing: 0.1rem; font-size: min(5vw , 1.8rem);}

.hdSNS a {position: absolute; background: #d4d4d4;  height: 12vw; width: 12vw;  top: 2vw;  right: 15vw; display: flex; display: -webkit-flex; justify-content:center; align-items: center; border-radius: 8vw;}
.hdSNS a img {width: min(6vw, 2.4rem);}

}