/*
Theme Name:kokokonokai
*/
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
html.parent {
overflow:hidden;
}
:root {
	--color-green:#61a828;
	--color-pink:#ea668b;
	--color-blue:#5b74af;
	--color-white:#ffffff;
	--color-gray: #f3f3f3;
	--color-line: #dddddd;
	--color-black: #222222;
	--font-sp-xxx-large:clamp(3.0rem, 8vw, 4.0rem);
	--font-sp-xx-large:clamp(2.2rem, 6vw, 3.0rem);
	--font-sp-x-large:clamp(1.6rem, 5.3vw, 2.0rem);
	--font-sp-large:clamp(1.4rem, 4.8vw, 1.8rem);
	--font-sp-small:clamp(1.2rem, 3.2vw, 1.4rem);
	--font-sp-x-small:1.2rem;
	--font-pc-xxxx-large:clamp(3.4rem, 3.8vw, 4.8rem);
	--font-pc-xxx-large:clamp(3.0rem, 2.8vw, 4.0rem);
	--font-pc-xx-large:clamp(2.4rem, 2.4vw, 3.0rem);
	--font-pc-x-large:2.4rem;
	--font-pc-large:2.0rem;
	--font-pc-normal:1.8rem;
	--font-pc-small:1.4rem;
	--font-pc-x-small:1.2rem;
}
body {
	position: relative;
	z-index: 1;
}
html,body{
	height: 100%;
}
body.drawer-body-on {
	overflow: hidden;
}
body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label {
	font-family:'Noto Sans','Noto Sans Regular','Noto Sans UI','Noto Sans JP',sans-serif;
	color:var(--color-black);
}
,h1,h2,h3,h4,h5,h6,dt,strong,b {
	font-weight:700;
}
@media (width < 767px) {
	body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label,button {
		font-size:clamp(1.3rem, 3.73vw, 1.6rem);
	}
	input[type=text],input[type=tel],input[type=email] ,textarea,select {
		font-size: 1.6rem;
	}
	input,textarea,select {
		appearance: none;
		-webkit-appearance: none;
	}
	p {
		line-height:175%;
	}
}
@media (768px <= width) {
	body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label,button {
		font-size: var(--font-pc-normal);
	}
	p {
		line-height:200%;
	}
}
.en {
	font-family: "Raleway", sans-serif;
}
a {
	outline: none;
	text-decoration:none;
}
a:hover {
	text-decoration:none;
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}
a.anchor {
	display:block;
	height:1px;
}
p {
	word-break: auto-phrase;
}
hr {
	border: none;
	border-bottom:1px solid var(--color-black);
	margin-top:1em;
	margin-bottom:1em;
}
ol li {
	list-style-type:decimal;
}
ul.dot li {
	list-style-type:disc;
}
strong,b {
	color:var(--color-pink);
}
.bg-gray {
	background-color:var(--color-gray);
}
hr.scroll {
	display:block;
	position: relative;
	z-index: 1;
	border:none;
}
hr.scroll:after {
	content : '';
	display : block;
	position : absolute;
	background-color: var(--color-black);
	left : 50%;
	transform : translateX(-50%);
	width : 1px;
	animation: scroll 1.5s infinite;
}
@keyframes scroll {
	0% {
		transform: scale(1, 0);
		transform-origin: 0 0;
	}
	50% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}
	50.1% {
		transform: scale(1, 1);
		transform-origin: 0 100%;
}
	100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}
@media (width < 767px) {
	ul.dot li,
	ol li {
		margin-left:5vw;
		line-height:175%;
	}
	ul.list li {
		line-height:175%;
		padding-left:5vw;
	}
	hr.scroll {
		height:8vw;
		margin-top:8vw;
		margin-bottom:8vw;
	}
	hr.scroll:after {
		height:8vw;
		top:0;
	}
}
@media (768px <= width) {
	ul.dot li,
	ol li {
		margin-left:16px;
		padding-left:4px;
		line-height:200%;
	}
	ul.list li {
		padding-left:20px;
		line-height:200%;
	}
	hr.scroll {
		height:64px;
		margin-top:60px;
		margin-bottom:60px;
	}
	hr.scroll:after {
		height:64px;
		top:0;
	}
}
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?9csnpg');
  src:  url('fonts/icomoon.eot?9csnpg#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?9csnpg') format('truetype'),
    url('fonts/icomoon.woff?9csnpg') format('woff'),
    url('fonts/icomoon.svg?9csnpg#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.icon-external:before {
  content: "\e903";
}
.icon-logo-line:before {
  content: "\e901";
}
.icon-logo-x:before {
  content: "\e900";
}
.icon-facebook:before {
  content: "\e902";
}
.icon-angle-right:before {
  content: "\f105";
}

/*-----------------------------------------
master-layout-control
------------------------------------------*/
.container,
.container-middle,
.container-txt,
.container-pc {
	width:100%;
	margin-right: auto;
	margin-left: auto;
}
@media (width < 767px) {
	.container {
	padding-right: 5vw;
	padding-left: 5vw;
	}
	.sp-only {display:block !important;}
	.pc-only {display:none !important;}
	.anchor {
		padding-top:50px;
		margin-top:-50px;
	}
}
@media (768px <= width) {
	.container,
	.container-pc {
		max-width:1140px;
		padding-left:20px;
		padding-right:20px;
	}
	.container-middle {
		max-width:720px;
	}
	.container-txt {
		max-width:640px;
	}
	.sp-only {display:none !important;}
	.pc-only {display:block !important;}
	.anchor {
		padding-top:160px;
		margin-top:-160px;
	}
	.text-center-pc {
		text-align: center;
	}
}
.text-left {
	text-align: left;
}
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
/*-----------------------------------------
grid
------------------------------------------*/
.grid {
	display: grid;
}
.grid-middle {
	align-items:center;
}
@media (width < 767px) {
	.grid-2-1,
	.grid-3-1,
	.grid-4-1 {
		grid-template-columns: 1fr;
	}
	.grid-3-3,
	.grid-4-3 {
		grid-template-columns: 1fr 1fr 1fr;
	}
	.grid-3-2,
	.grid-2-2,
	.grid-4-2 {
		grid-template-columns: 1fr 1fr;
	}
	.grid-4-4 {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}
@media (768px <= width) {
	.grid-2-2,
	.grid-2-1 {
		grid-template-columns: 1fr 1fr;
	}
	.grid-3-3,
	.grid-3-2,
	.grid-3-1 {
		grid-template-columns: 1fr 1fr 1fr;
	}
	.grid-4-2,
	.grid-4-3,
	.grid-4-4 {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}
/*-----------------------------------------
group-header
------------------------------------------*/
.group-header {
	position: relative;
	width:100%;
	z-index: 1002;
	background-color:var(--color-white);
	border-bottom:1px solid var(--color-line);
}
.group-header a,
.group-header a img {
	display:block;
}
.group-header-logo-box {
	display:flex;
	align-items: center;
	justify-content: flex-start;
	width:50%;
}
@media (width < 767px) {
	.group-header {
		height:60px;
		padding:15px;
	}
	.group-header-logo-box,
	.group-header-logo,
	.aniv-logo,
	.aniv-logo img {
		height:30px;
	}
}
@media (768px <= width) {
	.group-header {
		height:60px;
		padding:12px 24px;
	}
	.group-header-logo-box,
	.group-header-logo,
	.aniv-logo,
	.aniv-logo img {
		height:36px;
	}
}
/*-----------------------------------------
group-drawer
------------------------------------------*/
.group-drawer-btn {
	font-size:12px;
	position: absolute;
	z-index: 1000;
	cursor: pointer;
	background-image:url(images/opendot.svg);
	background-repeat: no-repeat;
	background-position: right center;
	padding-top:3px;
	padding-right:15px;
}
.group-drawer-btn:hover {
	color:var(--color-blue);
}
.group-drawer {
	display:none;
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	z-index: 999;
	background:rgba(255,255,255,0.9);
}
.group-drawer.group-drawer-on {
	display:block;
}
.g-header-nav-inner {
	position: relative;
	overflow-y: scroll;
}
.g-header-list li a,
.g-header-list li span {
	font-weight: 400;
	display: block;
	position: relative;
}
.g-header-list li a:hover {
	color:var(--color-blue);
	opacity: 0.5;
}
.g-header-list li a:before {
	font-family: 'icomoon';
	content: "\e903";
	position: relative;
	display: inline-block;
	padding-right:0.5em;
	color:var(--color-blue);
	font-weight: 400;
}
.g-header-list>li>a,
.g-header-list>li>span {
	font-weight: 700;
}
.g-header-title:after {
	margin-top: 7px;
	margin-bottom: 6px;
	content: " ";
	display: block;
	width: 48px;
	height: 1px;
	background-color: #3c55a0;
}
@media (width < 767px) {
	.group-drawer-btn {
		height:20px;
		top:20px;
		right:14px;
	}
	.g-header-nav-inner {
		width: 100vw;
		height: 100%;
		padding:70px 5vw 5vw 5vw;
	}
	.g-header-title {
		font-weight: 700;
		margin-top:5vw;
		margin-bottom:5vw;
	}
	.g-header-list li,
	.g-header-list li a,
	.g-header-list li span {
		font-weight: 400;
		padding-bottom: 0.5em;
		line-height:150%;
	}
	.g-header-list>li>ul {
		padding-top:1em;
	}
}
@media (768px <= width) {
	.group-drawer-btn {
		height:20px;
		top:20px;
		right:24px;
	}
	.g-header-nav-inner {
		width: 100%;
		height: 100%;
		padding:30px 50px 70px;
	}
	.g-header-title {
		font-weight: 700;
		margin-top:50px;
	}
	.g-header-list {
		display: flex;
		flex-wrap: wrap;
	}
	.g-header-list li,
	.g-header-list li a,
	.g-header-list li span {
		font-size: 14px;
		padding-bottom: 0.5em;
	}
	.g-header-list>li,
	.is-kaigai .g-header-list ul li {
		padding: 20px 48px 0 0;
	}
	.g-header-list>li>ul {
		padding-top:0.5em;
	}
	.is-kaigai .g-header-list ul {
		display: flex;
		flex-wrap: wrap;
	}
}
/*-----------------------------------------
header
------------------------------------------*/
.header {
	background-color:var(--color-white);
	box-shadow: 0 2px 3px -1px rgba(0,0,0,0.1);
}
.header.smaller {
	position: fixed;
	top:0;
	z-index: 98;
}
.mainlogo {
	display: block;
}
.header-tel {
	color:var(--color-white);
	background-color:var(--color-green);
	position: relative;
	font-weight: 700;
}
.header-tel:hover {
	background-color:var(--color-blue);
}
.header-tel span,
.header-tel div {
	color:var(--color-white);
}
.header-tel:before {
	content:"";
	background-image: url(images/call.svg);
	background-repeat: no-repeat;
	background-size:contain;
	font-weight: 400;
}
li.external-link a:after {
		font-family: 'icomoon';
		content: "\e903";
		position: relative;
		display: inline-block;
		padding-left:0.5em;
		color:var(--color-green);
		font-weight: 400;
	}
@media (width < 767px) {
	.header.smaller {
		width:100%;
	}
	.header-tel span {
		font-size:var(--font-sp-small);
	}
	.header-tel div {
		font-size:var(--font-sp-large);
		margin-right:1em;
	}
}
@media (width < 1199px) {
	.header.smaller {
		width:100%;
	}
	.mainlogo {
		height:60px;
		width: 100%;
		padding-top:6px;
	}
	.mainlogo img {
		display: block;
		height:48px;
		margin-left:auto;
		margin-right: auto;
	}
	.pc-menu {
		display: none;
	}
	.header-tel {
		display:flex;
		height:50px;
		align-items:center;
		justify-content: center;
		padding-left:90px;
	}
	.tel-before {
		display: none;
	}
	.tel-after {
		display: block;
	}
	.header-tel:before {
		position: relative;
		display: inline-block;
		width:24px;
		height:24px;
		margin-right:1em;
	}
	.drawer-btn {
		position: absolute;
		z-index: 99;
		top:120px;
		left:0;
		width:70px;
		height:50px;
		background-color:var(--color-white);
		border-top:1px solid var(--color-line);
	}
	.smaller+.drawer-btn {
		position: fixed;
		top:60px;
	}
	.drawer-btn:before,.drawer-btn:after {
		content: '';
		display: inline-block;
		border-top: 1px solid var(--color-black);
		width: 34px;
		position: absolute;
		left: 18px;
		transition: all 0.4s ease;
	}
	.drawer-btn:before {
		top:20px;
	}
	.drawer-btn:after {
		top: 28px;
	}
	.drawer-btn-peke:before {
		transform: rotate(-30deg);
		top:23px;
	}
	.drawer-btn-peke:after {
		transform: rotate(30deg);
		top: 25px;
	}
}
/*pc-menu-bunki-small*/
@media (768px <= width < 1199px) {
	.header-tel span {
		font-size:var(--font-pc-small);
	}
	.header-tel div {
		font-size:var(--font-pc-x-large);
		margin-right:1em;
	}
}
/*pc-menu-bunki-large*/
@media (1200px <= width) {
	.header {
		height:100px;
		display:flex;
		justify-content: space-between;
		align-items: center;
	}
	.header.smaller {
		width:100%;
	}
	.mainlogo {
		width:270px;
		padding-left:24px;
	}
	.header-menu {
		display:grid;
		grid-template-columns: 1fr 260px;
		width:calc(100% - 270px);
	}
	.pc-menu ul {
		display:flex;
		width:100%;
		height:100px;
		justify-content: flex-end;
		align-items: center;
	}
	.pc-menu ul li {
		margin-right:40px;
		height:100px;
	}
	.pc-menu ul li a {
		position: relative;
		font-weight: 700;
		height:100px;
		display:flex;
		justify-content: center;
		align-items: center;
		font-size:1.6rem;
	}
	.pc-menu ul li a:before {
		content:"";
		position: absolute;
		bottom:0;
		left:0;
		width:100%;
		height:5px;
		-webkit-transition: all 0.4s;
		transition: all 0.4s;
	}
	.pc-menu ul li a:hover {
		opacity: 0.6;
		color:var(--color-green);
	}
	.pc-menu ul li a:hover:before {
		background-color:var(--color-green);
	}
	.header-tel {
		display:flex;
		flex-direction: column;
		height:100px;
		align-items:flex-end;
		justify-content: center;
		padding-right:24px;
	}
	.tel-before {
		display: block;
	}
	.tel-after {
		display: none;
	}
	.header-tel span {
		font-size:var(--font-pc-small);
		padding-bottom:0.25em;
	}
	.header-tel div {
		font-size:var(--font-pc-x-large);
	}
	.header-tel:before {
		position: absolute;
		top:50%;
		transform: translateY(-50%);
		width:32px;
		height:32px;
		left:24px;
	}
	.drawer-btn,
	.drawer {
		display: none;
	}
}
/*-----------------------------------------
drawr SP-mode-menu
------------------------------------------*/
@media (width < 767px) {
	.drawer li a {
		font-size:var(--font-sp-large);
	}
}
@media (width < 1199px) {
	.drawer {
		display:none;
		background:var(--color-white);
		position: fixed;
		top:170px;
		right:0;
		width:100vw;
		height:100dvh;
		overflow-y:auto;
		overflow-x:hidden;
		z-index: 1000;
	}
	.smaller-wrap .drawer {
		top:110px;
	}
	.drawer ul {
		padding:10vw;
	}
	.drawer li a {
		display:block;
		position: relative;
		margin-bottom:5vw;
		font-weight:700;
	}
}
/*-----------------------------------------
mainvisual
------------------------------------------*/
.mainvisual {
	position: relative;
	z-index: -1;
	background-size: cover;
}
.mainvisual-normal {
	background-position: center center;
}
.mainvisual-archive {
	background-image:url(images/mainvisual-archive.webp);
}
.mainvisual-copy {
	position: absolute;
	top:50%;
	left:0;
	transform: translateY(-50%);
	background:rgba(255,255,255,0.9);
}
.mainvisual-copy .maincopy {
	font-weight: 700;
	transform: translateY(-0.25em);
}
.mainvisual-copy span {
	display: block;
	font-weight: 700;
}
@media (width < 767px) {
	.mainvisual-top {
		height:144vw;
	}
	.mainvisual-normal {
		height:80vw;
	}
	.mainvisual-contact {
		height:33vw;
	}
	.mainvisual-copy {
		padding:0 3vw 3vw 5vw;
	}
	.mainvisual-copy .maincopy {
		font-size:var(--font-sp-xxx-large);
	}
	.mainvisual-copy span {
		font-size:var(--font-sp-large);
	}
}
@media (768px <= width) {
	.mainvisual-top {
		height:560px;
	}
	.mainvisual-normal {
		height:380px;
	}
	.mainvisual-contact {
		height:320px;
	}
	.mainvisual-copy {
		padding:0 15px 15px 40px;
	}
	.mainvisual-copy .maincopy {
		font-size:60px;
	}
	.mainvisual-copy span {
		font-size:36px;
	}
}
/*-----------------------------------------
common-layout
------------------------------------------*/
@media (width < 767px) {
	.normal-content {
		padding-top:8vw;
		padding-bottom:8vw;
	}
}
@media (768px <= width) {
	.normal-content {
		padding-top:80px;
		padding-bottom:80px;
	}
}
/*-----------------------------------------
newslist
------------------------------------------*/
.news-box ul li {
	border-bottom:1px solid var(--color-line);
}
.news-box li span,
.news-box li a {
	display:block;
}

@media (width < 767px) {
	.news-box ul {
		margin-bottom:5vw;
	}
	.news-box li {
		padding:4vw 0;
	}
	.news-box li span {
		padding-bottom: 2vw;
	}
	.news-box li span,
	.news-box li a {
		line-height: 150%;
	}
}
@media (768px <= width) {
	.news-box ul {
		max-width:720px;
		margin-left:auto;
		margin-right:auto;
		margin-bottom:60px;
	}
	.news-box li {
		display:grid;
		grid-template-columns: 110px 1fr;
		padding:24px 0;
	}
	.news-box li span,
	.news-box li a {
		line-height: 150%;
	}
}
/*---------pagenavi----------*/
.wp-pagenavi {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}
.wp-pagenavi a,
.wp-pagenavi span.current {
	color:var(--color-black);
}
.wp-pagenavi a:hover {
	color:var(--color-white);
	background-color:var(--color-green);
}
.wp-pagenavi span.current {
	display:block;
	background-color:var(--color-gray);
}
.previouspostslink,
.nextpostslink {
	position: relative;
}
@media (width < 767px) {
	.wp-pagenavi {
		margin:8vw auto;
		column-gap: 3vw;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		height:10vw;
		min-width:10vw;
		line-height:10vw;
		border-radius:5vw;
	}
}
@media (768px <= width) {
	.wp-pagenavi {
		margin:48px auto 0px auto;
		column-gap: 16px;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		height:48px;
		min-width:48px;
		line-height:48px;
		border-radius:24px;
		font-size:1.6rem;
	}
}
/*-----------------------------------------
single
------------------------------------------*/
.single-date {
	text-align: center;
}
.single-conent img {
	display:block;
	margin:2em auto;
}
.sns-box {
	position: fixed;
	z-index: 98;
	display: grid;
	grid-row-gap: 20px;
	left:10px;
	bottom:20px;
	width:40px;
	height:100px;
}
.sns-icon {
	display:block;
	position: relative;
	z-index: 98;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	border-radius:50%;
	width:40px;
	height:40px;
}
.sns-x {
	background-color:#000000;
}
.sns-fb {
	background-color:#0866ff;
}
.sns-line {
	background-color:#4cc764;
}
.sns-insta {
	background: linear-gradient(135deg, #427eff 0%, #f13f79 60%,#ffd600 100%) no-repeat;
}
.sns-icon:before {
	font-family: 'icomoon';
	position: absolute;
	top:8px;
	left:8px;
	width:24px;
	height:24px;
	font-size:24px;
	color:var(--color-white);
	font-weight: 400;
	text-indent: 0;
}
.sns-x:before {
	content: "\e900";
}
.sns-fb:before {
	content: "\e902";
}
.sns-line:before {
	content: "\e901";
}
.sns-insta:before {
	content: "\f16d";
}
.tt-divider {
	display:flex;
	align-items:center;
	margin-top:2em;
	margin-bottom:2em;
	font-weight: 400;
}
.tt-divider:before,
.tt-divider:after {
	content: '';
	height: 1px;
	background-color: var(--color-black);
	flex-grow: 1;
}
.tt-divider:before {
	margin-right: 1em;
}
.tt-divider:after {
	margin-left: 1em;
}
.sns-share-box {
	display:flex;
	align-items: center;
	justify-content: center;
	gap:1.5em;
	padding-bottom:3em;
}
@media (width < 767px) {
	.single-tt {
		font-size:var(--font-sp-xx-large);
		line-height: 175%;
		padding:8vw 0 4vw 0;
	}
	.single-conent {
		padding:8vw 0 4vw 0;
	}
	.single-conent,
	.single-conent * {
		line-height: 175%;
	}
}
@media (768px <= width) {
	.single-tt {
		font-size:var(--font-pc-xxx-large);
		line-height: 200%;
		padding:80px 0 40px 0;
	}
	.single-conent {
		padding:80px 0 40px 0;
	}
	.single-conent,
	.single-conent * {
		line-height: 200%;
	}
}
/*-----------------------------------------
input
------------------------------------------*/
input[type=color], input[type=date], input[type=datetime-local], input[type=datetime], input[type=email], input[type=month], input[type=number], input[type=password], input[type=range], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week], textarea {
	width:100%;
	border: 1px solid var(--color-line);
	border-radius: 5px;
	padding: 4px;
	box-shadow: 0 4px 4px hsla(0, 0%, 62.4%, .15);
}
input:focus,
textarea:focus,
select:focus {
	outline: 1px solid var(--color-green);
}
.formpage h2 {
margin-top:2em;
}
.form-content dt,
.form-content dd {
	line-height:150%;
}
.form-content dt.hissu:after {
	content:"\203B";
	color:var(--color-pink);
	position: relative;
	display: inline-block;
	padding-left:0.5em;
}
.form-content label {
	display: inline-block;
	margin-right:1em;
}
.form-content input.form-middle {
	max-width:11em;
}
.form-content input.form-small {
	max-width:5em;
}
.form-content input.form-x-small {
	max-width:3em;
}
.block-form label {
	display: block;
}
.form-content p.follow {
	font-size:small;
	color:var(--color-pink);
}
@media (width < 767px) {
	.form-content {
		margin-top:8vw;
	}
	.form-content dt {
		background-color:var(--color-gray);
		padding:4vw 2vw;
	}
	.form-content dd {
		padding:4vw 0;
	}
	.form-address {
		display:grid;
		grid-row-gap: 2vw;
		align-items: center;
	}
	.radioblock {
		display:grid;
		grid-row-gap: 4vw;
		align-items: center;
	}
	.input-grid {
		grid-row-gap: 4vw;
	}
}
@media (768px <= width) {
	.form-content {
		display:grid;
		grid-template-columns: 240px 1fr;
		border-top:1px solid var(--color-line);
		margin-top:40px;
	}
	.form-content input {
		max-width:400px;
	}
	.form-content dt,
	.form-content dd {
		border-bottom:1px solid var(--color-line);
	}
	.form-content dt {
		background-color:var(--color-gray);
		padding:25px 20px;
	}
	.form-content dd {
		padding:20px;
	}
	.form-address {
		display:grid;
		grid-template-columns: 160px 1fr;
		grid-row-gap: 16px;
		align-items: center;
	}
}
.wpcf7-not-valid-tip {
	width:12em;
	background:#ffd4e0;
	border-radius:4px;
	margin-top:0.5em;
	padding:0.25em;
}
.wpcf7 form .wpcf7-response-output {
	background-color:var(--color-gray);
	border-radius:4px;
	margin-top:0.5em !important;
	padding:0.5em 1em !important;
	border:none !important;
}
/*-----------------------------------------
btn
------------------------------------------*/
.btn {
	position: relative;
	display:flex;
	align-items: center;
	justify-content: center;
}
.btn-normal {
	color:var(--color-white);
	font-weight: 700;
	background-color:var(--color-green);
}
.btn-normal:hover {
	background-color:var(--color-blue);
}
.btn-normal:after,
.btn-ghost:after {
	font-family: 'icomoon';
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	font-weight: 400;
}
.btn-next:after,
.btn-back:after,
.btn-ghost:after {
	content: "\f105";
}
.btn-back:after {
	transform: translateY(-50%) rotate(180deg);
}
.btn-external:after {
	content: "\e903";
}
.btn-submit {
	background-image:url(images/mail.svg);
	background-size:auto 1.5em;
	background-repeat: no-repeat;
	background-position: 1em center;
	border:none;
}
.btn-ghost {
	color:var(--color-white);
	border:1px solid var(--color-white);
}
.btn-center {
	margin-left:auto;
	margin-right:auto;
}
@media (width < 767px) {
	.btn-normal,
	.btn-ghost {
		width:80vw;
		height:14.4vw;
		font-size:var(--font-sp-large);
	}
	.btn-normal:after,
	.btn-ghost:after {
		width:5.3vw;
		height:5.3vw;
		right:5.3vw;
	}
	.btn-back:after {
		width:5.3vw;
		height:5.3vw;
		left:5.3vw;
	}
	.btn-block {
		padding-top:8vw;
		padding-bottom:8vw;
	}
	.btn-submit {
		margin-top:8vw;
		margin-bottom:8vw;
	}
}
@media (768px <= width) {
	.btn-normal,
	.btn-ghost {
		width:400px;
		height:72px;
		font-size:var(--font-pc-large);
	}
	.btn-normal:after,
	.btn-ghost:after {
		width:24px;
		height:24px;
		right:24px;
		font-size:var(--font-pc-x-large);
	}
	.btn-back:after {
		width:24px;
		height:24px;
		left:24px;
		font-size:var(--font-pc-x-large);
	}
	.btn-block {
		padding-top:60px;
		padding-bottom:60px;
	}
	.btn-submit {
		margin-top:60px;
		margin-bottom:60px;
	}
}
/*-----------------------------------------
pdflist(disclosure-only)
------------------------------------------*/
.pdflist h2 {
	text-align: center;
}
.pdflist section {
	position: relative;
	z-index: 1;
	border:1px solid var(--color-black);
}
.pdflist section h3 {
	display:inline-block;
	padding:0.25em 0.5em;
	position: absolute;
	top:0;
	left:2em;
	transform: translateY(-0.75em);
	background-color:var(--color-white);
}
.pdflist section a {
	position: relative;
	background-image: url(images/pdf-icon.svg);
	background-repeat: no-repeat;
	color:var(--color-blue);
}
.pdflist section a:hover {
	color:var(--color-white);
	background-color:var(--color-blue);
}
@media (width < 767px) {
	.pdflist h2 {
		font-size:var(--font-sp-x-large);
		padding-bottom:8vw;
	}
	.pdflist section {
		margin-bottom:8vw;
		padding:4vw;
	}
	.pdflist section a {
		display: block;
		padding:1vw 1vw 1vw 6vw;
		background-size:auto 4vw;
		background-position: 1vw center;
		margin-top:2vw;
		margin-bottom: 2vw;
	}
}
@media (768px <= width) {
	.pdflist h2 {
		font-size:var(--font-pc-xx-large);
		padding-bottom:60px;
	}
	.pdflist section {
		margin-bottom:60px;
		padding:20px 30px;
	}
	.pdflist section a {
		display: inline-block;
		padding:10px 10px 10px 40px;
		margin-right:20px;
		background-size:auto 60%;
		background-position: 8px center;
	}
}
/*-----------------------------------------
servicelist(service-only)
------------------------------------------*/
.service-tt {
	line-height: 175%;
}
@media (width < 767px) {
	.service-grid section {
		padding-bottom: 8vw;
	}
	.service-tt {
		padding:4vw 0;
		font-weight: 700;
	}
	.service-tt h2 {
		font-size:var(--font-sp-x-large);
		padding-bottom:2vw;
	}
	.service-grid section p {
		padding-top:1em;
	}
}
@media (768px <= width) {
	.service-grid {
		grid-template-columns: 1fr 1fr;
		grid-column-gap: clamp(60px,7.8%,100px);
		grid-row-gap: clamp(54px,7%,90px);
		padding-bottom:100px;
	}
	.service-tt {
		padding:30px 0;
		font-weight: 700;
	}
	.service-tt h2 {
		font-size:var(--font-pc-x-large);
		padding-bottom:8px;
	}
	.service-grid section p {
		padding-top:1em;
	}
}
/*-----------------------------------------
cta
------------------------------------------*/
.bg-cta {
	position: relative;
	z-index: 2;
}
.bg-gray+.bg-cta {
	background-color:var(--color-gray);
}
.cta a {
	display:block;
	position: relative;
	z-index: 2;
	color:var(--color-white);
	background-color:var(--color-green);
	text-align: center;
	font-weight: 700;
}
.cta a:hover {
	background-color:var(--color-blue);
}
.cta a h2,
.cta a span {
	display:block;
	color:var(--color-white);
}
.cta a:before {
	content:"";
	position: absolute;
	left:50%;
	transform: translateX(-50%);
	background-repeat: no-repeat;
	background-position: center center;
}
.cta-tel:before {
	background-image:url(images/call.svg);
}
.cta-mail:before {
	background-image:url(images/mail.svg);
}
.cta-tel:after {
	content:"";
	position: absolute;
	background-color:var(--color-white);
}
@media (width < 767px) {
	.bg-cta {
		height:auto;
	}
	.cta {
		height:130vw;
	}
	.cta a {
		padding-top:28vw;
		font-size:var(--font-sp-xxx-large);
	}
	.cta a:before {
		width:15vw;
		height:15vw;
		top:5vw;
	}
	.cta a h2 {
		font-size:var(--font-sp-xx-large);
		padding-bottom:5vw;
	}
	.cta a span {
		padding-top:16px;
	}
	.cta-tel:after {
		width:100vw;
		height:1px;
		bottom:0;
		right:0;
	}
}
@media (768px <= width) {
	.bg-cta {
		height:280px;
	}
	.cta {
		height:250px;
		transform: translateY(40px);
	}
	.cta a {
		padding-top:100px;
		font-size:var(--font-pc-xxx-large);
	}
	.cta a:before {
		width:60px;
		height:60px;
		top:24px;
	}
	.cta a h2 {
		font-size:var(--font-pc-large);
		padding-bottom:24px;
	}
	.cta a span {
		padding-top:16px;
	}
	.cta-tel:after {
		width:1px;
		height:200px;
		top:25px;
		right:0;
	}
}
/*-----------------------------------------
recruit
------------------------------------------*/
.recruit-banner {
	position: relative;
	z-index: -1;
	background-image:url(images/bg-recruit.webp);
	background-repeat: no-repeat;
	background-size:cover;
	background-position: center top;
}
.recruit-banner-box {
	position: absolute;
	z-index: 2;
	background:rgba(255,255,255,0.7);
	top:50%;
	transform: translateY(-50%);
}
.recruit-banner-box h2 {
	position: relative;
	z-index: 3;
	transform: translateY(-50%);
}
@media (width < 767px) {
	.recruit-banner {
		height:100vw;
	}
	.recruit-banner-box {
		width:90vw;
		height:66vw;
		left:5vw;
		padding:0 5vw 5vw 5vw;
	}
	.recruit-banner-box h2 {
		font-size:var(--font-sp-xx-large);
	}
	.recruit-banner-box a {
		margin-top:8vw;
	}
}
@media (768px <= width) {
	.recruit-banner {
		height:480px;
	}
	.recruit-banner-box {
		width:540px;
		height:330px;
		left:0;
		padding-left:4%;
	}
	.recruit-banner-box h2 {
		font-size:var(--font-pc-xxx-large);
	}
	.recruit-banner-box a {
		margin-top:32px;
	}
}
/*-----------------------------------------
footer
------------------------------------------*/
.footer-banner a:hover {
	opacity: 0.6;
}
.footer-submenu {
	border-bottom:1px solid var(--color-line);
}
.credit {
	display: block;
	text-align: center;
}
.footer-menu li a:hover,
.footer-submenu li a:hover {
	opacity: 0.6;
	color:var(--color-blue);
}
@media (width < 767px) {
	.footer-banner {
		display:flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap:5vw;
		padding:5vw 0;
	}
	.footer-banner a {
		display: block;
		width:42.5vw;
		height:auto;
	}
	.footer-menu ul,
	.footer-submenu ul {
		display:flex;
		flex-wrap:wrap;
	}
	.footer-menu li,
	.footer-submenu li {
		width:45vw;
		padding:4vw 0;
		border-bottom:1px solid var(--color-line);
	}
	.credit {
		padding:4vw;
		font-size:var(--font-sp-x-small);
	}
}
@media (768px <= width) {
	.footer-banner {
		display:flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap:30px;
		padding:40px 0;
	}
	.footer-banner a {
		display: block;
		height:70px;
	}
	.footer-banner a img {
		width:auto;
		height:70px;
	}
	.footer-menu ul,
	.footer-submenu ul {
		display:flex;
		align-items: center;
		justify-content: center;
	}
	.footer-menu ul {
		gap:40px;
		padding:32px 0;
	}
	.footer-menu li a {
		font-size:1.6rem;
	}
	.footer-submenu {
		border-top:1px solid var(--color-line);
	}
	.footer-submenu li {
		padding:20px 0;
	}
	.footer-submenu li a {
		display:block;
		padding:0 25px;
		border-right:1px solid var(--color-line);
		font-size:1.6rem;
	}
	.footer-submenu li:last-child a {
		border-right:none;
	}
	.credit {
		padding:20px;
		font-size:var(--font-pc-x-small);
	}
}
