/******************************************************************
Theme Name: CUBE GAMMA THEME
Theme URI: http://cube096.com
Description: CUBEが自信をもってお届けするレスポンシブウェブデザインテーマ
Author: CUBE CO.,LTD.
Author URI: http://cube096.com
Version: beta
Tags: fluid-layout, responsive-layout, accessibility-ready, translation-ready, microformats, rtl-language-support
*/
*,
*::before,
*::after {
	box-sizing: border-box;
}
* {
	margin: 0;
}
html,
body {
	height: 100%;
}
img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
}
input,
button,
textarea,
select {
	font: inherit;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}
#root,
#__next {
	isolation: isolate;
}
ol,
ul {
	list-style-type: none;
	margin: 0;
}
legend,
menu,
ol,
ul {
	padding: 0
}
a {
	text-decoration: none;
	color: #312C13;
}
p {
	overflow-wrap: break-word;
	text-align: justify;
}
body {
	/*--- ▼ゴシック ---*/
	font-family: "BIZ UDGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	/*--- ▼明朝 ---*/
	/*font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";*/
	line-height: 1.8;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	color: #312C13;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	background-color: #F8F6E7;
}
body img {
	max-width: 100%;
	height: auto;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	/*--- ▼英字見出し、数字 ---*/
	/*font-family: 'Cinzel', serif;*/
	/*font-family: 'Open Sans', sans-serif;*/
	/*font-family: 'Lato', sans-serif;*/
	/*font-family: 'Gilda Display', serif;*/
	/*font-family: 'Cinzel', serif;*/
	/*--- ▼日本語見出し ---*/
	/*font-family: 'Noto Sans JP', sans-serif;*/
	/*font-family: 'Noto Serif JP', serif;*/
	/*font-family: 'Zen Maru Gothic', sans-serif;*/
	/*font-family: 'Zen Old Mincho', serif;*/
	font-weight: 400;
	font-style: normal;
	line-height: 1.5;
}
table {
	border-collapse: collapse;
}
:root {
	--padding-130: clamp(50px, 6.8vw, 130px);
	--padding-95: clamp(50px, 4.9vw, 95px);
	--padding-65: clamp(40px, 3.4vw, 65px);
	--color-main: #A2B52C;
	--color-subgreen: #819118;
	--bg-color: #F8F6E7;
	--bg-subcolor: #F4F1DE;
	--fontsize-25: clamp(21px, 1.3vw, 25px);
	--fontsize-22: clamp(19px, 1.1vw, 22px);
	--fontsize-20: clamp(18px, 1vw, 20px);
	--fontsize-18: clamp(16px, 0.94vw, 18px);
	--borderradius-45: clamp(20px, 2.3vw, 45px);
}
/* recaptcha badge
----------------------------------------------------------- */
.grecaptcha-badge {
	z-index: 10000;
	bottom: 75px !important;
}
/* ページネーション
----------------------------------------------------------- */
/*アーカイブ用*/
.nav-links {
	display: -webkit-flex;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.nav-links .page-numbers {
	display: block;
	width: 45px;
	height: 45px;
	line-height: 45px;
	text-align: center;
	background-color: #fff;
	transition: all ease 0.5s;
	border-radius: 3px;
	border: 1px solid #D5D5D5;
	margin: 0 5px;
}
.nav-links .page-numbers.current,
.nav-links .page-numbers:hover {
	background-color: #F2F2F2;
}
.nav-below {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
}
.next.page-numbers,
.prev.page-numbers {
	padding: 0 5px;
}
/*シングル用*/
.single .nav-below {
	display: inherit;
	margin-top: 45px;
}
.single .nav-below:after {
	content: "";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
.single .nav-below a {
	background-color: #FFF;
	text-decoration: none;
	padding: 5px;
	font-size: 0.9em;
	line-height: 1.5;
	transition: all ease 0.5s;
	border: 1px solid #D5D5D5;
}
.single .nav-below a:hover {
	background-color: #f4f6e5;
}
.single .nav-below .prev {
	padding-left: 65px;
	position: relative;
}
.single .nav-below .next {
	padding-right: 65px;
	position: relative;
}
.single .nav-below .prev::before,
.single .nav-below .next::before {
	content: "";
	width: 40px;
	height: 40px;
	background-color: var(--color-main);
	border-radius: 20px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.single .nav-below .prev::before {
	left: 10px;
}
.single .nav-below .next::before {
	right: 10px;
}
.single .nav-below .prev::after,
.single .nav-below .next::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
}
.single .nav-below .prev::after {
	left: 25px;
	border-right: 7px solid #fff;
	border-left: 0;
}
.single .nav-below .next::after {
	right: 25px;
	border-left: 7px solid #fff;
	border-right: 0;
}
.prev {
	width: 48%;
	float: left;
}
.next {
	width: 48%;
	float: right;
	text-align: right;
}
.prev_title,
.next_title {
	font-size: 12px;
}
.next p {
	text-align: right;
}
.next p,
.prev p {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 1;
	margin-top: 5px;
}
.prev img {
	float: left;
	margin-right: 10px;
}
.next img {
	float: right;
	margin-left: 10px;
}
.prevAndNextLeft a:before {
	content: "\f053";
	margin-right: 5px;
	font-family: FontAwesome;
}
.prevAndNextRight a:after {
	content: "\f054";
	margin-left: 10px;
	font-family: FontAwesome;
}
.prevAndNextLeft {
	width: 50%;
	float: left;
}
.prevAndNextRight {
	width: 50%;
	float: left;
}
.prevAndNextLeft {
	text-align: left;
}
.prevAndNextRight {
	text-align: right;
}
/* 
 animation
----------------------------------------------------------- */
.fadein {
	opacity: 0.1;
	transition: all ease 1s;
	-webkit-transition: all ease 1s;
	-moz-transition: all ease 1s;
}
.on .fadein,
.on.fadein {
	opacity: 1;
}
.totop {
	opacity: 0.1;
	transform: translateY(30px);
	transition: all 1s;
}
.on .totop,
.on.totop {
	opacity: 1;
	transform: translateY(0);
}
.fadeinleft {
	opacity: 0.1;
	-webkit-transform: translateX(-50px);
	transform: translateX(-50px);
	transition: all ease 1s;
	-webkit-transition: all ease 1s;
	-moz-transition: all ease 1s;
}
.on .fadeinleft,
.on.fadeinleft {
	opacity: 1;
	-webkit-transform: translateX(0);
	transform: translateX(0);
}
.fadeinright {
	opacity: 0.1;
	-webkit-transform: translateX(50px);
	transform: translateX(50px);
	transition: all ease 1s;
	-webkit-transition: all ease 1s;
	-moz-transition: all ease 1s;
}
.on .fadeinright,
.on.fadeinright {
	opacity: 1;
	-webkit-transform: translateX(0px);
	transform: translateX(0px);
}
.no2 {
	transition-delay: .3s;
}
.no3 {
	transition-delay: 0.6s;
}
.no4 {
	transition-delay: 0.9s;
}
.no5 {
	transition-delay: 1.2s;
}
/* 
 Head
----------------------------------------------------------- */
.header {
	width: 100%;
}
/* 
 gNavi
----------------------------------------------------------- */
.navwrap {
	width: 100%;
	-webkit-backface-visibility: hidden;
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	backface-visibility: hidden;
	will-change: backdrop-filter;
	background: rgba(248, 246, 231, 0.9);
	position: fixed;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	top: 0;
	left: 0;
	z-index: 998;
	transition: all ease 0.5s;
	padding: 0 clamp(20px, 2vw, 40px);
}
.navwrap p img {
	height: clamp(40px, 3.4vw, 65px);
	width: auto;
}
.navwrap > ul {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	align-items: center;
}
.navwrap > ul > li {
	margin: 0 clamp(15px, 1.3vw, 25px);
	text-align: center;
	transition: all ease 0.5s;
	position: relative;
}
.navwrap > ul > li:last-child {
	margin-right: 0;
}
.navwrap > ul > li > a,
.navwrap > ul > li > p {
	display: inline-block;
	padding: clamp(20px, 2.3vw, 45px) 0;
	font-size: 14px;
	line-height: 1.5;
}
.navwrap > ul > li:hover > a,
.navwrap > ul > li:hover > p {
	color: var(--color-main);
}
.navwrap > ul > li:last-child a {
	border: 1px solid var(--color-main);
	padding: clamp(8px, 0.8vw, 15px) clamp(20px, 2vw, 40px);
	background-color: var(--color-main);
	color: #fff;
	font-weight: 500;
	border-radius: 50px;
}
.navwrap > ul > li:last-child a:hover {
	background-color: transparent;
	color: var(--color-main);
}
.navwrap ul li.open_btn {
	position: relative;
}
.navwrap ul li.open_btn > p {
	cursor: pointer;
	padding-right: clamp(20px, 1.1vw, 22px);
	position: relative;
}
.navwrap ul li.open_btn > p::before {
	content: "＋";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	color: #819118;
	transition: all ease 0.5s;
}
.navwrap ul li.open_btn:hover > p::before {
	transform: translateY(-50%) rotate(45deg);
}
.navwrap ul li.open_btn ul {
	position: absolute;
	top: clamp(70px, 4.7vw, 90px);
	left: 50%;
	transform: translateX(-50%) scaleY(0);
	height: 0;
	transform-origin: center top;
	background-color: rgba(240, 237, 216, 0.95);
	padding: clamp(15px, 2.3vw, 45px) clamp(15px, 1.6vw, 30px);
	border-radius: 15px;
	width: clamp(250px, 15.6vw, 300px);
}
.navwrap ul li.open_btn:hover ul {
	transform: translateX(-50%) scaleY(1);
	height: auto;
}
.navwrap ul li.open_btn ul li {
	text-align: justify;
}
.navwrap ul li.open_btn ul li:not(:last-child) {
	margin-bottom: clamp(10px, 0.83vw, 16px);
}
.navwrap ul li.open_btn ul li > a {
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	line-height: 1.3;
}
.navwrap ul li.open_btn ul li:hover > a {
	color: var(--color-main);
}
.navwrap ul li.open_btn ul li > a small {
	display: block;
}
.navwrap ul li.open_btn ul li > a > span {
	width: clamp(25px, 1.6vw, 30px);
	height: clamp(25px, 1.6vw, 30px);
	background-color: #F8F6E7;
	border-radius: 5px;
	position: relative;
	display: block;
}
.navwrap * {
	transition: all ease 0.5s;
}
.header_fix {
	position: fixed;
	right: -1px;
	bottom: 70px;
	z-index: 999;
}
.header_fix li:not(:last-child) {
	margin-bottom: 8px;
}
.header_fix li a {
	display: block;
	padding: clamp(15px, 1.6vw, 30px) clamp(15px, 1vw, 20px);
	border-radius: 10px 0 0 10px;
	background-color: #C4565E;
	writing-mode: vertical-rl;
	color: #fff;
	line-height: 1.3;
	border: 1px solid #C4565E;
	transition: all ease 0.5s;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.header_fix li:nth-child(2) a {
	background-color: #819118;
	border: 1px solid #819118;
}
.header_fix li:hover a {
	background-color: #F8F6E7;
	color: #C4565E;
}
.header_fix li:nth-child(2):hover a {
	color: #819118;
}
.header_fix li a p {
	margin-bottom: 5px;
}
.header_fix li a svg {
	height: 20px;
	width: auto;
}
.header_fix li a svg path,
.header_fix li a svg rect {
	transition: all ease 0.5s;
}
.header_fix li:hover a svg path {
	fill: #C4565E;
}
.header_fix li:nth-child(2):hover a svg path,
.header_fix li:nth-child(2):hover a svg rect {
	fill: #819118;
}
#fix_kenshin .content img {
	width: 100%;
	height: auto;
	max-width: none;
}
.top_back {
	height: 45px;
	width: 45px;
	border-radius: 25px;
	background-color: var(--color-main);
	position: fixed;
	right: 15px;
	bottom: 15px;
	display: grid;
	place-content: center;
	z-index: 10000;
	opacity: 0;
	transition: all ease 0.5s;
}
.top_back.view {
	opacity: 1;
}
.top_back img {
	height: 13px;
	width: auto;
}
/* パンくずリスト
----------------------------------------------------------- */
.breadcrumb__list {
	display: flex;
	width: min(90%, 1200px);
	margin-inline: auto;
	flex-wrap: wrap;
	font-size: 14px;
}
.breadcrumb__item:not(:last-child)::after {
	content: '/';
	margin: 0 0.3rem;
}
.breadcrumb__item a {
	color: #9D9D9D;
}
.breadcrumb__item:last-child a {
	color: #222;
}
/* 
共通
----------------------------------------------------------- */
.pc {
	display: block;
}
br.pc {
	display: inherit;
}
.sp {
	display: none;
}
br.sp {
	display: none;
}
.pc1100 {
	display: block;
}
br.pc1100 {
	display: inherit;
}
.sp1100 {
	display: none;
}
br.sp1100 {
	display: none;
}
.pc640 {
	display: block;
}
br.pc640 {
	display: inherit;
}
.sp640 {
	display: none;
}
br.sp640 {
	display: none;
}
.inner {
	width: min(90%, 1200px);
	margin-inline: auto;
	padding: var(--padding-130) 0;
}
.flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex .img img {
	width: 100%;
	height: auto;
}
#main {
	overflow: hidden;
}
#container {
	position: relative;
}
.more_btn {
	display: block;
	background-color: #fff;
	width: min(100%, 250px);
	transition: all ease 0.5s;
	text-align: center;
	padding: 15px;
	position: relative;
	border-radius: 10px;
	line-height: 1.5;
}
.more_btn:hover {
	background-color: #D0DE79;
}
.more_btn .arrow {
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
	display: block;
}
.anchor {
	padding-top: clamp(80px, 7.8vw, 150px);
	margin-top: calc(clamp(80px, 7.8vw, 150px) * -1);
}
.tac {
	text-align: center;
}
.tal {
	text-align: left;
}
.tar {
	text-align: right;
}
.taj {
	text-align: justify;
}
.linkbox {
	position: relative;
	z-index: 5;
}
.linkbox.tac a {
	margin: 0 auto;
}
.linkbox.tar a {
	margin: 0 0 0 auto;
}
.no_link {
	pointer-events: none !important;
}
.pt0 {
	padding-top: 0 !important;
}
.pb0 {
	padding-bottom: 0 !important;
}
.txt_only {
	width: 100% !important;
}
.txt_link {
	text-decoration: underline;
	transition: all ease 0.5s;
}
.txt_link:hover {
	opacity: 0.7;
}
.img_hover {
	overflow: hidden;
}
.img_hover img {
	transition: all ease 0.5s;
}
.img_hover:hover img {
	transform: scale(1.2, 1.2);
}
.js-accordion > li {
	position: relative;
}
.js-accordion > li .ttl {
	position: relative;
}
.js-accordion > li .btn {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	z-index: 1;
}
.js-accordion .ttl::before,
.js-accordion .ttl::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 50px;
	transform: translateY(-50%);
	transition: all ease 0.3s;
	background-image: url("./library/images/qa_open.svg");
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 5px;
}
.js-accordion .ttl::after {
	background-image: url("./library/images/qa_close.svg");
	opacity: 0;
}
.js-accordion .open .ttl::before {
	opacity: 0;
}
.js-accordion .open .ttl::after {
	opacity: 1;
}
.js-accordion .box {
	display: none;
}
.js-modal {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	z-index: 10005;
	backface-visibility: hidden;
}
.js-modal .wrap {
	width: 100%;
	height: 100%;
}
.js-modal .wrap_box {
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(57, 53, 42, 0.7);
}
.js-modal .scloll_area {
	transform: scale(.5);
	transition: all ease 1s;
}
.js-modal.open .scloll_area {
	transform: scale(1);
}
.js-modal .content {
	width: 100%;
	height: auto;
	max-height: 85vh;
	padding: clamp(15px, 2.6vw, 50px) clamp(15px, 1.6vw, 30px);
	position: relative;
	overflow-y: auto;
	overflow-x: hidden;
	background-color: #fff;
	border-radius: 15px;
}
.js-modal .js-sclollarea {
	width: min(90%, 1200px);
	margin: 30px;
	max-height: 90%;
	position: relative;
}
.js-modal .js-modalclose {
	cursor: pointer;
	z-index: 100000;
	position: absolute;
	top: -20px;
	right: -20px;
	width: clamp(35px, 2.6vw, 50px);
	height: clamp(35px, 2.6vw, 50px);
	border-radius: 25px;
	background-image: url('./library/images/modal_close.svg');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	transition: all ease 0.5s;
	filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.08));
}
.js-modal .js-modalclose:hover {
	transform: rotate(90deg);
}
.js-tabcontent {
	display: none;
}
.link_arrow {
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: 50%;
	bottom: 0;
	width: 1em;
	height: 1em;
	line-height: 1;
	transform: translate(-50%, -50%);
	font-family: "Shippori Mincho", serif;
}
.link_arrow:before,
.link_arrow:after {
	content: "→";
	position: absolute;
	top: 0;
	left: 0;
	animation-fill-mode: both;
	animation-duration: 0.3s;
	color: #6D5D52;
}
.link_arrow:after {
	transform: translateX(-100%);
}
.link_arrow.is-hover:before {
	animation-name: transformLeftRight;
	animation-delay: 0.1s;
}
.link_arrow.is-hover:after {
	animation-name: transformRightLeft;
}
.link_arrow.is-hover:hover:before {
	animation-name: transformRightLeft;
	animation-delay: 0s;
}
.link_arrow.is-hover:hover:after {
	animation-name: transformLeftRight;
	animation-delay: 0.1s;
}
@keyframes transformLeftRight {
	0% {
		transform: translateX(-100%);
	}
	100% {
		transform: translateX(0);
	}
}
@keyframes transformRightLeft {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(100%);
	}
}
.dot_link {
	position: relative;
	width: min(100%, 145px);
	transition: all ease 0.5s;
	padding: 10px clamp(25px, 2.3vw, 45px) 10px clamp(15px, 1.3vw, 25px);
	border-radius: 10px;
	line-height: 1.5;
	border: 1px dashed #C6BCB5;
	font-size: 14px;
	color: #6D5D52;
}
.dot_link:hover {
	background-color: #C6BCB5;
}
.dot_link .arrow {
	position: absolute;
	right: clamp(20px, 1.3vw, 25px);
	top: 50%;
	transform: translateY(-50%);
}
.green_btn {
	border: 1px solid #98A542;
	background-color: #98A542;
	transition: all ease 0.5s;
	text-align: center;
	color: #fff;
	font-size: 14px;
	padding: 8px;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.5;
}
.green_btn:hover {
	background-color: transparent;
	color: #98A542;
}
.green_btn2 {
	border: 1px solid #98A542;
	background-color: #98A542;
	transition: all ease 0.5s;
	text-align: center;
	color: #fff;
	font-size: 14px;
	padding: clamp(10px, 1.3vw, 25px);
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.5;
	width: min(100%, 485px);
	position: relative;
}
.green_btn2:hover {
	background-color: transparent;
	color: #98A542;
}
.green_btn2 svg {
	height: 8px;
	width: auto;
	position: absolute;
	right: clamp(10px, 1.3vw, 25px);
	top: 50%;
	transform: translateY(-50%);
}
.green_btn2 svg path {
	transition: all ease 0.5s;
}
.green_btn2:hover svg path {
	fill: #98A542;
}
.icn_link {
	padding: 10px;
	background-color: #F0EDD8;
	border-radius: 15px;
	position: relative;
	display: flex;
	align-items: center;
	font-size: 15px;
	transition: all ease 0.5s;
}
.icn_link:hover {
	background-color: #C8D384;
}
.icn_link .icn {
	height: clamp(40px, 3.4vw, 65px);
	width: clamp(40px, 3.4vw, 65px);
	background-color: #FDFCF8;
	border-radius: 12px;
	margin-right: clamp(10px, 1vw, 20px);
	display: grid;
	place-content: center;
	place-items: center center;
}
.icn_link .arrow {
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
}
/* 
 TOP
----------------------------------------------------------- */
.home .inner {
	padding: var(--padding-95) 0;
	width: min(90%, 1440px);
}
.top_h2 {
	font-size: var(--fontsize-25);
	font-family: "Shippori Mincho", serif;
	padding-left: 18px;
	line-height: 1.5;
	display: flex;
	align-items: center;
	color: var(--color-subgreen);
	position: relative;
	margin-bottom: clamp(15px, 1.6vw, 30px);
}
.top_h2.white {
	color: #fff;
}
.top_h2::before {
	content: "";
	position: absolute;
	height: 8px;
	width: 8px;
	border-radius: 4px;
	background-color: var(--color-main);
	left: 0;
	top: clamp(12px, 0.83vw, 16px);
}
.top_h2.white::before {
	background-color: #fff;
}
.top_h2::after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background-color: #D4D8A9;
	margin-left: clamp(10px, 1vw, 20px);
}
.top_h2.white::after {
	background-color: rgba(255, 255, 255, 0.5);
}
.top_h3 {
	font-family: "Shippori Mincho", serif;
	font-size: var(--fontsize-20);
	line-height: 1.5;
}
.top_h3 span {
	display: block;
	color: #819118;
	letter-spacing: 0.1em;
	font-family: "Marcellus", serif;
	font-size: 15px;
}
.top_h3 small {
	font-size: 15px;
}
.fv {
	width: 100%;
	position: relative;
	background-color: var(--bg-color);
	margin: clamp(100px, 9.6vw, 185px) 0 45px;
}
.fv::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(clamp(100px, 9.6vw, 185px) * -1);
	width: 100vw;
	height: 200%;
	z-index: -9;
	background-color: var(--bg-color);
}
.fv_slider {
	margin-bottom: 0 !important;
}
.fv_slider li {
	border-radius: 15px;
	margin: 0 7.5px;
	overflow: hidden;
}
.fv_txt {
	position: absolute;
	right: clamp(50px, 9.9vw, 190px);
	top: 0;
	height: 100.1%;
	width: clamp(300px, 27vw, 520px);
	z-index: 1;
	background-image: url("./library/images/fv_txt_bg.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	text-align: center;
}
.fv_txt img {
	width: clamp(230px, 18.8vw, 360px);
	margin: -20px auto 5px;
}
.fv_txt hgroup {
	display: grid;
	place-content: center;
	place-items: center center;
	position: relative;
	z-index: 2;
	text-align: center;
}
.fv_txt hgroup > div {
	writing-mode: vertical-rl;
}
.fv_txt h1 {
	writing-mode: vertical-rl;
	font-family: "Shippori Mincho", serif;
	margin: 0 auto;
	letter-spacing: 0.1em;
	font-size: clamp(22px, 2vw, 40px);
}
.fv_txt p {
	color: #C4565E;
	font-family: "Shippori Mincho", serif;
	font-size: var(--fontsize-18);
}
.important_news {
	position: absolute;
	left: 30px;
	bottom: -45px;
	background-color: #C4565E;
	border-radius: 15px;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: clamp(15px, 1vw, 20px) clamp(15px, 1.3vw, 25px) clamp(15px, 1vw, 20px) clamp(15px, 1.6vw, 30px);
	min-width: 650px;
	z-index: 2;
}
.important_news p {
	width: 170px;
	display: flex;
	align-items: center;
}
.important_news p i {
	font-size: 1.3em;
	margin-right: 10px;
}
.important_news > a {
	width: calc(100% - 170px);
	padding-left: clamp(20px, 1.3vw, 25px);
	border-left: 1px solid rgba(255, 255, 255, 0.5);
	display: flex;
	justify-content: space-between;
	color: #fff;
}
.important_news > a .txt {
	width: calc(100% - 2em);
}
.important_news > a .txt > span {
	color: #FFB1B7;
	font-size: 14px;
	display: block;
	line-height: 1.3;
}
.important_news > a .txt > h3 {
	font-size: 16px;
	line-height: 1.5;
}
.important_news > a .arrow {
	width: 1em;
	position: relative;
}
.important_news > a .arrow .link_arrow:before,
.important_news > a .arrow .link_arrow:after {
	color: #fff;
}
.top_calendar {
	background-color: var(--bg-color);
}
.top_calendar .inner {
	width: min(90%, 1080px);
}
.top_calendar a {
	display: block;
	background-color: #FCFDF8;
	border-radius: 15px;
	border: 1px solid #DEDABC;
	padding: clamp(15px, 1.3vw, 25px);
	line-height: 1.5;
	text-align: center;
	transition: all ease 0.3s;
	box-shadow: 0 2px #DEDABC;
	position: relative;
	top: 0;
}
.top_calendar a:hover {
	top: 2px;
	box-shadow: none;
}
.top_calendar a::before {
	content: "";
	position: absolute;
	right: clamp(20px, 2.6vw, 50px);
	top: 50%;
	transform: translateY(-50%);
	padding: clamp(18px, 1vw, 20px);
	background-image: url("./library/images/icn_calendarmaru.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.top_calendar a p {
	text-align: center;
	font-family: "Shippori Mincho", serif;
	font-size: var(--fontsize-22);
	position: relative;
	padding-right: 20px;
	width: fit-content;
	margin: 0 auto;
}
.top_calendar a p::before {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	padding: 6px;
	background-image: url("./library/images/icn_calendar.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.top_calendar a span {
	color: #819118;
	font-size: 14px;
	letter-spacing: 0.1em;
	font-family: "Marcellus", serif;
	display: block;
}
.top_guidance {
	position: relative;
	z-index: 3;
	background-color: var(--bg-color);
}
.top_guidance::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	width: 95%;
	height: 100%;
	border-radius: var(--borderradius-45);
	background-color: #F0EDD8;
	z-index: -1;
}
.top_guidance .inner {
	width: min(90%, 1730px);
}
.top_guidance ul {
	display: grid;
	gap: 15px;
	grid-template-columns: repeat(5, 1fr);
}
.top_guidance ul li .img {
	margin-bottom: clamp(8px, 0.8vw, 15px);
	position: relative;
	z-index: 1;
	overflow: hidden;
	border-radius: 15px;
}
.top_guidance ul li .img::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 15px;
	background-color: rgba(57, 57, 57, 0.25);
	transition: all ease 0.5s;
	z-index: 2;
}
.top_guidance ul li:hover .img::before {
	background-color: rgba(176, 198, 27, 0.25);
}
.top_guidance ul li .img img {
	width: 100%;
	height: 100%;
	aspect-ratio: 334 / 445;
	object-fit: cover;
	transition: all ease 0.5s;
}
.top_guidance ul li:hover .img img {
	transform: scale(1.1);
}
.top_guidance ul li .arrow {
	position: absolute;
	right: 0;
	bottom: 0;
	width: clamp(40px, 3.9vw, 75px);
	height: clamp(40px, 3.9vw, 75px);
	background-image: url("./library/images/top_guidance_arrow.svg");
	background-position: left top;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 2;
}
.top_guidance ul li .arrow .link_arrow {
	top: calc(50% + clamp(5px, 0.5vw, 10px));
	left: calc(50% + clamp(5px, 0.5vw, 10px));
}
.top_news {
	margin-top: var(--padding-95);
	position: relative;
	z-index: 1;
}
.top_news::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	background-color: #98A542;
	border-radius: var(--borderradius-45) var(--borderradius-45) 0 var(--borderradius-45);
}
.top_news::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: -95px;
	z-index: -2;
	background-color: var(--bg-color);
}
.top_news .flex {
	align-items: center;
}
.top_news .flex .linkbox {
	width: 250px;
}
.top_news .flex .news_slider_wrap {
	position: relative;
	width: 65vw;
	margin-right: calc(50% - 50vw);
}
.top_news .slick-track {
	display: flex;
}
.top_news .slick-slide {
	height: auto !important;
}
.news_slider {
	margin-bottom: 0 !important;
}
.news_slider li {
	background-color: #fff;
	border-radius: 15px;
	padding: clamp(20px, 2.6vw, 50px);
	display: flex !important;
	flex-direction: column;
	margin: 0 8px;
}
.news_slider li .date {
	font-size: 14px;
	color: #6D5D52;
}
.news_slider li h3 {
	font-size: 16px;
	color: #6D5D52;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: clamp(10px, 1vw, 20px);
	text-decoration: underline;
}
.news_slider li p {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	margin-bottom: clamp(10px, 1vw, 20px);
	color: #837D60;
	font-size: 14px;
	line-height: 1.5;
}
.news_slider li .cat {
	margin-bottom: 10px;
}
.news_slider li .dot_link {
	margin-top: auto;
	margin-left: auto;
}
.news_slider_wrap .slick-next,
.news_slider_wrap .slick-prev {
	width: clamp(40px, 4.1vw, 80px);
	height: clamp(40px, 4.1vw, 80px);
	border-radius: 35px;
	transition: all ease 0.5s;
	z-index: 3;
	top: auto !important;
	bottom: calc(clamp(90px, 10.3vw, 197px) * -1);
}
.news_slider_wrap .slick-prev {
	left: auto;
	right: calc(10% + 10px + clamp(40px, 4.1vw, 80px));
}
.news_slider_wrap .slick-next {
	right: 10%;
}
.news_slider_wrap .slick-next::before,
.news_slider_wrap .slick-prev::before {
	color: #FF7B29;
	opacity: 1;
	font-size: 18px;
}
.news_slider_wrap .slick-next:hover,
.news_slider_wrap .slick-prev:hover {
	animation-name: circleLink;
	animation-duration: 0.5s;
	animation-fill-mode: backwards;
	animation-iteration-count: 1;
}
.news_slider_wrap .slick-next:before {
	content: "";
	background-image: url("./library/images/slick_next.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	height: 100%;
	display: block;
}
.news_slider_wrap .slick-prev:before {
	content: "";
	background-image: url("./library/images/slick_prev.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	height: 100%;
	display: block;
}
.top_news_btm {
	position: relative;
	width: 50vw;
	height: clamp(40px, 4.7vw, 90px);
	background-color: #98A542;
	border-radius: 0 0 0 var(--borderradius-45);
	margin-left: auto;
}
.top_news_btm::before,
.top_news_btm::after {
	content: "";
	position: absolute;
	padding: clamp(10px, 1.1vw, 22px);
	background-image: url("./library/images/top_news_btm.svg");
	background-position: right top;
	background-repeat: no-repeat;
	background-size: contain;
}
.top_news_btm::before {
	right: 50vw;
	top: 0;
}
.top_news_btm::after {
	right: 0;
	bottom: calc(clamp(20px, 2.2vw, 43px) * -1);
}
.slider-indicators {
	position: absolute;
	top: clamp(15px, 1.3vw, 25px);
	left: clamp(60px, 5.2vw, 100px);
	display: flex;
	justify-content: center;
	width: clamp(200px, 21.9vw, 420px);
}
.indicator {
	width: calc(100% / 5);
	height: 1px;
	background-color: rgba(255, 255, 255, 0.2);
	transition: all 0.1s ease-out;
}
.indicator.active {
	background-color: #fff;
}
.top_bg_img {
	height: clamp(150px, 16.1vw, 310px);
	width: 100%;
}
.top_bg_img::before {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -10;
	width: 100%;
	height: 100vh;
	background-image: url('library/images/top_bg_img.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.top_features_top {
	position: relative;
	width: 50vw;
	height: clamp(40px, 4.7vw, 90px);
	background-color: var(--bg-color);
	border-radius: 0 var(--borderradius-45) 0 0;
}
.top_features_top::before,
.top_features_top::after {
	content: "";
	position: absolute;
	padding: clamp(10px, 1.1vw, 22px);
	background-image: url("./library/images/top_features_top.svg");
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: contain;
}
.top_features_top::before {
	left: 0;
	top: calc(clamp(20px, 2.2vw, 43px) * -1);
}
.top_features_top::after {
	left: 50vw;
	bottom: 0;
}
.top_features {
	border-radius: 0 var(--borderradius-45) 0 0;
	background-color: var(--bg-color);
	position: relative;
	z-index: 1;
}
.top_features::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: -130px;
	padding: clamp(70px, 7.6vw, 145px) clamp(300px, 26vw, 500px);
	background-image: url("./library/images/top_features_txt.svg");
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: contain;
}
.top_features .inner {
	padding-bottom: clamp(40px, 4.1vw, 80px);
}
.top_features .flex {
	align-items: center;
	margin-bottom: clamp(20px, 2.3vw, 45px);
}
.top_features .flex h3 {
	font-family: "Shippori Mincho", serif;
	font-size: clamp(35px, 3.4vw, 65px);
	line-height: 1.5;
	width: 455px;
}
.top_features .flex p {
	width: calc(95% - 455px);
}
.top_features ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	background-color: #fff;
	border-radius: 15px;
	padding: clamp(20px, 2vw, 40px) 0;
	box-shadow: 10px 10px 30px 0px rgba(0, 0, 0, 0.1);
	position: relative;
	z-index: 2;
}
.top_features ul li {
	padding: clamp(20px, 2vw, 40px) clamp(30px, 3.6vw, 70px);
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: clamp(10px, 1.6vw, 30px);
}
.top_features ul li:not(:last-child) {
	border-right: 1px dotted #C6C2AE;
}
.top_features ul li h4 {
	text-align: center;
	font-size: var(--fontsize-22);
	color: #819118;
	font-family: "Shippori Mincho", serif;
	line-height: 1.5;
}
.top_features ul li img {
	height: clamp(40px, 4.1vw, 80px);
	width: auto;
	margin: 0 auto;
}
.top_features ul li p {
	font-size: 15px;
}
.top_features ul li .green_btn {
	margin-top: clamp(10px, 1.6vw, 30px);
}
.top_features ul li .green_btn svg {
	height: 20px;
	width: auto;
	margin-right: 10px;
}
.top_features ul li .green_btn svg path,
.top_features ul li:nth-child(3) .green_btn svg rect {
	transition: all ease 0.5s;
}
.top_features ul li .green_btn:hover svg path,
.top_features ul li:nth-child(3) .green_btn:hover svg rect {
	fill: #98A542;
}
.top_overview {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	background-color: var(--bg-color);
}
.top_overview .txt {
	background-color: #F0EDD8;
	border-radius: 0 var(--borderradius-45) 0 0;
	padding: var(--padding-130);
	width: 44%;
	position: relative;
}
.top_overview .txt::before,
.top_overview .txt::after {
	content: "";
	position: absolute;
	padding: clamp(10px, 1.1vw, 22px);
	background-image: url("./library/images/top_overview_txt.svg");
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 2;
}
.top_overview .txt::before {
	left: 0;
	top: calc(clamp(20px, 2.2vw, 43px) * -1);
}
.top_overview .txt::after {
	right: calc(clamp(20px, 2.2vw, 43px) * -1);
	bottom: 0;
}
.top_overview .txt .linkbox {
	margin-top: clamp(15px, 1.6vw, 30px);
}
.top_overview .link {
	background-color: #FDFCF8;
	width: 56%;
	padding: clamp(40px, 8.6vw, 165px) clamp(40px, 5.5vw, 105px);
}
.top_overview .link ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	background-color: #fff;
	gap: clamp(10px, 0.8vw, 15px);
}
.top_contact {
	position: relative;
	z-index: 1;
	background-color: #FDFCF8;
}
.top_contact::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	border-radius: 0 var(--borderradius-45) 0 0;
	background-image: url('./library/images/top_contact_bg.jpg');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.top_contact .tac {
	color: #fff;
}
.top_contact ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(10px, 0.8vw, 15px);
	margin-top: clamp(15px, 1.6vw, 30px);
}
.top_contact ul li:nth-child(1),
.top_contact ul li:nth-child(2) a {
	background-color: #EBF2C2;
	border-radius: 10px;
	position: relative;
	padding: clamp(15px, 1.6vw, 30px);
	display: block;
	box-shadow: 0 3px #819118;
	text-align: center;
	line-height: 1.5;
}
.top_contact ul li p {
	font-family: "Shippori Mincho", serif;
	font-size: var(--fontsize-25);
	text-align: center;
}
.top_contact ul li span {
	display: block;
	color: #819118;
	font-size: 15px;
}
.top_contact ul li:nth-child(1) {
	font-size: 14px;
}
.top_contact ul li:nth-child(1) a {
	transition: all ease 0.5s;
	text-decoration: underline;
	font-family: "Marcellus", serif;
	font-size: var(--fontsize-25);
	letter-spacing: 0.1em;
	margin: 0 clamp(8px, 0.8vw, 15px);
}
.top_contact ul li:nth-child(1) a:hover {
	opacity: 0.7;
}
.top_contact ul li:nth-child(2) .arrow {
	position: absolute;
	right: clamp(20px, 1.6vw, 30px);
	top: 50%;
	transform: translateY(-50%);
}
/* 
 subpage共通
----------------------------------------------------------- */
.sub_fv {
	padding: clamp(120px, 11.7vw, 225px) 0 clamp(60px, 7.8vw, 150px);
	background-color: #F8F6E7;
	position: relative;
	z-index: 1;
}
.sub_fv::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	height: 1px;
	width: min(90%, 1440px);
	background-image: linear-gradient(to right, #A2B52C 30px, #E3DEBD 30px, #E3DEBD 100%);
}
.sub_fv h1 {
	font-size: clamp(24px, 2.6vw, 50px);
	width: min(90%, 1440px);
	margin-inline: auto;
	font-family: "Shippori Mincho", serif;
	line-height: 1.5;
	color: #6D5D52;
	position: relative;
	z-index: 1;
}
.sub_fv h1 span {
	display: block;
	letter-spacing: 0.1em;
	font-size: 16px;
	font-family: "Marcellus", serif;
	padding-left: 0.8em;
}
.sub_fv h1 small {
	font-size: clamp(16px, 1vw, 20px);
}
.sub_fv h1::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: -1;
	background-image: url('./library/images/logo_bg.svg');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	padding: clamp(70px, 7.8vw, 150px);
}
.sub_h2 {
	text-align: center;
	font-size: var(--fontsize-25);
	font-family: "Shippori Mincho", serif;
	margin-bottom: clamp(20px, 2vw, 40px);
}
.sub_h2 span {
	display: block;
	color: #A2B52C;
	font-size: 16px;
	padding-top: 1em;
	font-family: "Marcellus", serif;
	letter-spacing: 0.1em;
	background-image: url('./library/images/sub_h2.svg');
	background-size: auto 10px;
	background-position: center top 5px;
	background-repeat: no-repeat;
}
.sub_h2 small {
	display: block;
	font-size: 16px;
}
.tab_link {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(15px, 1.6vw, 30px);
}
.tab_link li a {
	display: block;
	padding: clamp(15px, 1.6vw, 30px);
	border: 1px solid #837D60;
	border-radius: 15px;
	transition: all ease 0.5s;
	text-align: center;
	line-height: 1.5;
}
.tab_link li a:hover,
.tab_link li a.active {
	background-color: #98A542;
	border: 1px solid #98A542;
	color: #fff;
}
.line_box {
	border: 1px solid #D7D6CB;
	background-color: #F8F7ED;
	border-radius: 15px;
	padding: clamp(20px, 2vw, 40px) clamp(20px, 3.9vw, 75px);
}
.maru_list li {
	font-size: 15px;
	padding-left: 1em;
	position: relative;
}
.maru_list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	width: 6px;
	height: 6px;
	border-radius: 3px;
	background-color: #98A542;
}
.maru_list li:not(:last-child) {
	margin-bottom: 10px;
}
.maru_list li span {
	color: #9B3A41;
}
.maru_list li a {
	text-decoration: underline;
}
.green_list li {
	padding-left: 23px;
	position: relative;
}
.green_list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 15px;
	height: 15px;
	border-radius: 8px;
	background-color: #E3E6C2;
	border: 3px solid #B3BF6B;
}
.green_list li:not(:last-child) {
	margin-bottom: 10px;
}
.green_list li .ttl {
	color: #819118;
	line-height: 1.5;
	margin-bottom: 3px;
}
.green_list li p:not(.ttl) {
	font-size: 14px;
	color: #635F46;
	line-height: 1.5;
}
.green_list2 > li {
	padding-left: 23px;
	position: relative;
	line-height: 1.5;
	font-size: 15px;
}
.green_list2 > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 15px;
	height: 15px;
	border-radius: 8px;
	background-color: #E3E6C2;
	border: 3px solid #B3BF6B;
}
.green_list2 > li:not(:last-child) {
	margin-bottom: 8px;
}
.contact_link li {
	position: relative;
}
.contact_link li:nth-child(1),
.contact_link li:nth-child(2) a {
	background-color: #F4F1DE;
	border-radius: 10px;
	position: relative;
	padding: clamp(15px, 1.3vw, 25px);
	display: block;
	text-align: center;
	line-height: 1.5;
	border: 1px solid #D0CCBD;
}
.contact_link li p {
	font-family: "Shippori Mincho", serif;
	font-size: var(--fontsize-20);
	text-align: center;
	color: #9B3A41;
}
.contact_link li span {
	display: block;
	color: #6B664F;
	font-size: 15px;
}
.contact_link li:nth-child(1) {
	font-size: 12px;
}
.contact_link li:nth-child(1) a {
	transition: all ease 0.5s;
	text-decoration: underline;
	font-family: "Marcellus", serif;
	font-size: var(--fontsize-20);
	letter-spacing: 0.1em;
	margin: 0 clamp(8px, 0.8vw, 15px);
	color: #9B3A41;
}
.contact_link li:nth-child(1) a:hover {
	opacity: 0.7;
}
.contact_link li:nth-child(2) .arrow {
	position: absolute;
	right: clamp(20px, 1.6vw, 30px);
	top: 50%;
	transform: translateY(-50%);
}
.red_box {
	background-color: #F1E7DA;
	border-radius: 10px;
	padding: 15px clamp(15px, 1.6vw, 30px);
}
.red_box .ttl {
	color: #9B3A41;
	font-family: "Shippori Mincho", serif;
}
.red_box p:not(.ttl) {
	font-size: 15px;
	line-height: 1.5;
}
.faq_list li:not(:last-child) {
	margin-bottom: 20px;
}
.faq_list li {
	background-color: #F0EDDC;
	padding: 10px;
	border-radius: 10px;
}
.faq_list li {
	background-color: #F0EDDC;
	padding: 10px;
	border-radius: 10px;
}
.faq_list li hgroup {
	color: #819118;
	position: relative;
	min-height: 40px;
	padding: 0 10px 0 40px;
}
.faq_list li hgroup::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	background-image: url('./library/images/q.svg');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	width: 40px;
	height: 40px;
}
.faq_list li h3 {
	padding-top: 7px;
	padding-right: 25px;
	position: relative;
	font-size: 16px;
}
.faq_list li h3::before {
	content: "";
	position: absolute;
	right: 0;
	top: 13px;
	background-image: url('./library/images/close.svg');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	transition: all ease 0.5s;
	padding: 8px;
}
.faq_list li.open h3::before {
	transform: rotate(45deg);
}
.faq_list li .box {
	background-color: #FAF7E8;
	border-radius: 10px;
	padding: clamp(20px, 1.6vw, 30px);
	margin-top: 10px;
}
.faq_list li .box p {
	font-size: 15px;
}
.ttl_area {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: clamp(35px, 3.4vw, 65px);
}
.ttl_area .ttl {
	width: 45%;
	font-size: clamp(23px, 1.7vw, 33px);
	color: #819118;
	font-family: "Shippori Mincho", serif;
}
.ttl_area p {
	width: 50%;
}
.ttl_area p a {
	text-decoration: underline;
	color: #819118;
	transition: all ease 0.5s;
}
.ttl_area p a:hover {
	opacity: 0.7;
}
.ttl_area p a img {
	width: 12px;
	height: auto;
	display: inline-block;
	margin: 0 3px;
}
.img_ttl {
	margin-bottom: clamp(30px, 4.1vw, 80px);
}
.img_ttl .img {
	border-radius: 15px;
	overflow: hidden;
}
.img_ttl .img img {
	width: 100%;
	height: auto;
}
.img_ttl .sub_h2 {
	padding-top: clamp(8px, 0.83vw, 16px);
	background-image: url("./library/images/img_ttl.svg");
	background-position: center top 1px;
	background-repeat: no-repeat;
	background-size: auto clamp(25px, 2.6vw, 50px);
	margin-top: calc(clamp(25px, 2.6vw, 50px) * -1);
	position: relative;
	z-index: 2;
	margin-bottom: 0;
}
.basic_price {
	width: 900px;
	max-width: 100%;
	margin: 0 auto clamp(40px, 4.1vw, 80px);
	background-color: #F8F6E7;
	padding: 20px;
	box-shadow: 10px 10px 30px 0px rgba(131, 125, 96, 0.08);
}
.basic_price .ttl {
	text-align: center;
	padding: 12px;
	background-color: #F0EDD8;
	font-family: "Shippori Mincho", serif;
	font-size: var(--fontsize-18);
}
.basic_price p {
	padding: 20px 20px clamp(10px, 1vw, 20px);
	text-align: center;
}
.table {
	border-top: 2px solid #837D60;
	border-bottom: 2px solid #837D60;
	position: relative;
}
.table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 1.5;
}
.table thead th {
	font-weight: 400;
	text-align: left;
	font-family: "Shippori Mincho", serif;
	padding: clamp(10px, 0.8vw, 15px) clamp(10px, 1vw, 20px) clamp(20px, 1.3vw, 25px);
	background-color: #F0EDD8;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	position: sticky;
	left: 0;
	z-index: 2;
	white-space: nowrap;
}
.table thead th:first-of-type {
	padding-left: 0;
}
.table thead th:not(:first-of-type)::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: calc(100% - 10px);
	background-color: rgba(0, 0, 0, 0.1);
}
.table tbody tr:not(:last-of-type) {
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.table tbody th,
.table tbody td {
	font-weight: 400;
	text-align: left;
	padding: clamp(10px, 1.3vw, 25px) clamp(10px, 1vw, 20px) clamp(20px, 1.8vw, 35px);
	vertical-align: baseline;
	position: relative;
}
.table tbody th {
	color: #635F46;
}
.table tbody th:first-of-type {
	padding-left: 0;
}
.table tbody td::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: calc(100% - 10px);
	background-color: rgba(0, 0, 0, 0.1);
}
.table .border_none::before {
	display: none;
}
.table .txt_c {
	vertical-align: middle;
}
.table_flex {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	border-top: 2px solid #837D60;
	border-bottom: 2px solid #837D60;
}
.table_flex .ttl {
	font-size: var(--fontsize-20);
	font-family: "Shippori Mincho", serif;
	padding: 15px 15px 15px 0;
	width: 20%;
	position: sticky;
	left: 0;
}
.table_flex .table {
	width: 80%;
	border-top: none;
	border-bottom: none;
}
.table_flex .table thead th:first-of-type,
.table_flex .table tbody th:first-of-type {
	padding-left: clamp(10px, 1vw, 20px);
}
.table_flex .table thead th:first-of-type::before,
.table_flex .table tbody th:first-of-type::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: calc(100% - 10px);
	background-color: rgba(0, 0, 0, 0.1);
}
.table_flex .table thead th:first-of-type {
	width: 65%;
}
.table_flex .table thead th:last-of-type {
	width: 35%;
}
.table_flex .table tbody th {
	color: #312C13;
}
.border_box {
	background-color: #F8F6E7;
	position: relative;
	z-index: 1;
	padding: clamp(20px, 2.6vw, 50px) clamp(20px, 4.7vw, 90px);
}
.border_box::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 4px;
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	border: 2px solid #A2B52C;
}
.border_box .ttl {
	width: fit-content;
	text-align: center;
	margin: 0 auto clamp(15px, 1.6vw, 30px);
	padding-bottom: 5px;
	border-bottom: 1px solid #D0CDBC;
	font-family: "Shippori Mincho", serif;
	font-size: var(--fontsize-18);
}
.border_box p {
	font-size: 15px;
}
.price {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	padding: 10px;
	background-color: #F0EDD8;
	font-size: 15px;
}
.price span {
	width: 40%;
	text-align: center;
}
.price p {
	width: 60%;
	background-color: #F8F6E7;
	padding: clamp(10px, 1vw, 20px) clamp(20px, 1.3vw, 25px);
}
.green_ttl {
	font-size: var(--fontsize-20);
	color: #819118;
	text-align: center;
	margin-bottom: clamp(15px, 1.3vw, 25px);
	font-family: "Shippori Mincho", serif;
}
.hyo {
	overflow-x: auto;
	font-size: 15px;
	line-height: 1.5;
}
.hyo dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-radius: 15px;
	overflow: hidden;
}
.hyo dl:not(:last-child) {
	margin-bottom: 12px;
}
.hyo dl dt {
	width: clamp(150px, 15.6vw, 300px);
	padding: clamp(10px, 1.3vw, 25px);
	background-color: #EBE8D2;
	text-align: center;
	display: grid;
	place-content: center;
	place-items: center center;
}
.hyo dl dd {
	width: calc(100% - clamp(150px, 15.6vw, 300px));
	padding: clamp(15px, 1.3vw, 25px) clamp(15px, 2.6vw, 50px);
	background-color: #F8F6E7;
}
/* 
 facility
----------------------------------------------------------- */
.facility::before {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -10;
	width: 100%;
	height: 100vh;
	background-image: url('library/images/facility_philosophy_bg.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.facility_outline,
.facility_access,
.facility_floor {
	background-color: var(--bg-subcolor);
}
.facility_outline .inner,
.facility_access .inner {
	padding-bottom: 0;
}
.facility_outline .hyo {
	margin-bottom: clamp(25px, 2.6vw, 50px);
}
.facility_outline img {
	width: 100%;
	height: auto;
	border-radius: 15px;
}
.facility_access .map {
	margin-bottom: clamp(15px, 1.6vw, 30px);
}
.facility_access .map iframe {
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
	transition: all ease 0.5s;
}
.facility_access .map iframe:hover {
	filter: none;
	-webkit-filter: none;
}
.facility_access .inner > ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.facility_access .inner > ul > li {
	border-right: 1px solid #DBD7B8;
	padding: clamp(10px, 1vw, 20px) clamp(20px, 2vw, 40px);
}
.facility_access .inner > ul > li:first-child {
	border-left: 1px solid #DBD7B8;
}
.facility_access .inner > ul > li h3 {
	font-family: "Shippori Mincho", serif;
	font-size: var(--fontsize-18);
	color: #819118;
	margin-bottom: clamp(10px, 1.1vw, 22px);
}
.facility_floor .box {
	background-color: #F8F6E7;
	border-radius: 15px;
	padding: clamp(15px, 2.6vw, 50px) clamp(15px, 3.1vw, 60px);
}
.facility_floor .box img {
	width: 100%;
	height: auto;
}
.facility_philosophy {
	position: relative;
}
.facility_philosophy::before,
.facility_philosophy::after,
.facility_philosophy > div::before,
.facility_philosophy > div::after {
	content: "";
	position: absolute;
	padding: 15px;
	background-image: url('library/images/facility_philosophy_kado.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.facility_philosophy::before {
	background-position: left top;
	left: 0;
	top: 0;
}
.facility_philosophy::after {
	background-position: right top;
	right: 0;
	top: 0;
	transform: scale(-1, 1);
}
.facility_philosophy > div::before {
	background-position: left bottom;
	left: 0;
	bottom: 0;
	transform: scale(1, -1);
}
.facility_philosophy > div::after {
	background-position: right bottom;
	right: 0;
	bottom: 0;
	transform: scale(-1, -1);
}
.facility_philosophy .box {
	width: min(100%, 800px);
	margin: 0 auto;
	background-color: #F8F6E7;
	border-radius: 15px;
	padding: clamp(20px, 4.9vw, 95px) clamp(20px, 4.1vw, 80px);
}
.facility_philosophy h3 {
	text-align: center;
	font-family: "Shippori Mincho", serif;
	font-size: clamp(20px, 1.7vw, 33px);
	color: #819118;
	margin-bottom: clamp(15px, 1.6vw, 30px);
}
.facility_philosophy img {
	width: 100%;
	height: auto;
	border-radius: 15px;
	margin-bottom: clamp(15px, 2.6vw, 50px);
}
.facility_certification {
	background-color: var(--bg-subcolor);
}
/* 
 fukuoka
----------------------------------------------------------- */
.fukuoka_checkups {
	background-color: var(--bg-subcolor);
}
.fukuoka_checkups .inner > ul {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(4, 1fr);
}
.fukuoka_checkups .inner > ul > li {
	background-color: #F8F6E7;
	border-radius: 15px;
	padding: clamp(25px, 2vw, 40px) clamp(20px, 1.6vw, 30px);
	box-shadow: 0 2px #A2B52C;
}
.fukuoka_checkups .inner > ul > li h4 {
	text-align: center;
	font-family: "Shippori Mincho", serif;
	font-size: var(--fontsize-20);
	color: #819118;
	margin-bottom: 10px;
}
.fukuoka_checkups .inner > ul > li h4 span {
	display: block;
	font-size: 15px;
}
.fukuoka_checkups .inner > ul > li img {
	height: clamp(30px, 2vw, 40px);
	width: auto;
	margin: 0 auto clamp(15px, 1.3vw, 25px);
}
.fukuoka_checkups .inner > ul > li .green_list2 {
	font-size: 14px;
}
/* 
 kyoukaikenpo
----------------------------------------------------------- */
#main.kyoukaikenpo {
	overflow: inherit;
}
.kyoukaikenpo_general {
	background-color: var(--bg-subcolor);
}
.kyoukaikenpo_general .innner {
	padding-bottom: clamp(50px, 8.3vw, 160px);
}
.kyoukaikenpo_general .table thead th:first-of-type,
.kyoukaikenpo_uterinecancer .table thead th:first-of-type {
	width: 30%;
}
.kyoukaikenpo_general .table thead th:nth-of-type(2),
.kyoukaikenpo_uterinecancer .table thead th:nth-of-type(2) {
	width: 31.5%;
}
.kyoukaikenpo_general .table thead th:last-of-type,
.kyoukaikenpo_uterinecancer .table thead th:last-of-type {
	width: 38.5%;
}
.kyoukaikenpo_general .table tbody th::before,
.kyoukaikenpo_uterinecancer .table tbody th::before {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 1px;
	height: calc(100% - 10px);
	background-color: rgba(0, 0, 0, 0.1);
}
.kyoukaikenpo_uterinecancer {
	background-color: var(--bg-subcolor);
}
.kyoukaikenpo_uterinecancer .inner {
	padding-top: 0;
	padding-bottom: clamp(50px, 8.3vw, 160px);
}
.kyoukaikenpo_option {
	background-color: var(--bg-subcolor);
}
.kyoukaikenpo_option .inner {
	padding-top: 0;
}
.kyoukaikenpo_option .tac {
	font-size: 14px;
	margin-bottom: clamp(15px, 1.3vw, 25px);
}
.kyoukaikenpo_option .green_ttl:not(:first-of-type) {
	margin-top: clamp(50px, 5.2vw, 100px);
}
.kyoukaikenpo_option .table.first thead th:first-of-type {
	width: 14%;
}
.kyoukaikenpo_option .table.first thead th:not(:first-of-type) {
	width: calc(86% / 3);
}
/* 
 ladies
----------------------------------------------------------- */
#main.ladies {
	overflow: inherit;
}
.ladies .linkbox {
	margin-top: clamp(25px, 2.6vw, 50px);
}
.ladies_breastcancer {
	background-color: var(--bg-subcolor);
}
.ladies_breastcancer .innner {
	padding-bottom: clamp(50px, 8.3vw, 160px);
}
.ladies_breastcancer .table thead th:not(:last-of-type),
.ladies_uterinecancer .table thead th:not(:last-of-type) {
	width: 42%;
}
.ladies_breastcancer .table thead th:last-of-type,
.ladies_uterinecancer .table thead th:last-of-type {
	width: 16%;
}
.ladies_breastcancer .table tbody th::before {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 1px;
	height: calc(100% - 10px);
	background-color: rgba(0, 0, 0, 0.1);
}
.ladies_breastcancer .border_box {
	margin-top: clamp(35px, 4.1vw, 80px);
}
.ladies_uterinecancer {
	background-color: var(--bg-subcolor);
}
.ladies_uterinecancer .inner {
	padding-top: 0;
	padding-bottom: clamp(50px, 8.3vw, 160px);
}
.ladies_option {
	background-color: var(--bg-subcolor);
}
.ladies_option .inner {
	padding-top: 0;
}
/* 
 dock
----------------------------------------------------------- */
#main.dock {
	overflow: inherit;
}
.dock .linkbox {
	margin-top: clamp(25px, 2.6vw, 50px);
}
.dock .img_ttl {
	margin-bottom: clamp(25px, 2.6vw, 50px);
}
.dock_dock {
	background-color: var(--bg-subcolor);
}
.dock_dock .innner {
	padding-bottom: clamp(50px, 8.3vw, 160px);
}
.dock_dock .table thead th:first-of-type {
	width: 15%;
}
.dock_dock .table thead th:not(:first-of-type) {
	width: 42.5%;
}
.dock_dock .linkbox {
	margin-bottom: clamp(35px, 4.1vw, 80px);
}
.dock_dock .border_box:not(:last-of-type) {
	margin-bottom: clamp(30px, 3.4vw, 65px);
}
.dock_dock .border_box .flex .img {
	width: 30%;
}
.dock_dock .border_box .flex .txt {
	width: 68%;
}
.dock_dock .border_box .flex .txt small {
	font-size: 12px;
}
.dock_dock .price {
	margin-bottom: clamp(15px, 1.6vw, 30px);
}
.dock_health {
	background-color: var(--bg-subcolor);
}
.dock_health .inner {
	padding-top: 0;
	padding-bottom: clamp(50px, 8.3vw, 160px);
}
.dock_health .box {
	width: 900px;
	max-width: 100%;
	background-color: #F8F6E7;
	padding: 20px;
	box-shadow: 10px 10px 30px 0px rgba(131, 125, 96, 0.08);
	margin: clamp(25px, 2.6vw, 50px) auto 0;
}
.dock_health .box h3 {
	text-align: center;
	padding: 15px;
	background-color: #F0EDD8;
	font-family: "Shippori Mincho", serif;
	font-size: var(--fontsize-18);
	margin-bottom: clamp(10px, 1vw, 20px);
	width: 100%;
}
.dock_health .box p:not(.tac) {
	margin: 0 auto;
	width: fit-content;
}
.dock_health .box .tac {
	margin-top: clamp(10px, 1.6vw, 30px);
	color: #D1303C;
}
.dock_health .box p span {
	color: #D1303C;
}
.dock_option {
	background-color: var(--bg-subcolor);
}
.dock_option .inner {
	padding-top: 0;
}
/* 
 flow
----------------------------------------------------------- */
.flow_about {
	background-color: var(--bg-subcolor);
}
.flow_about .sub_h2 {
	margin-bottom: clamp(40px, 4.1vw, 80px);
}
.flow_about .inner > ul > li:not(:last-child) {
	margin-bottom: clamp(60px, 5.2vw, 100px);
}
.flow_about .inner > ul > li:not(:last-child)::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(clamp(30px, 3.6vw, 70px) * -1);
	transform: translateX(-50%);
	background-image: url('./library/images/contact_wrap_arrow.png');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	padding: clamp(10px, 1vw, 20px);
}
.flow_about .inner > ul > li {
	background-color: #F8F6E7;
	border-radius: 15px;
	box-shadow: 10px 10px 30px 0px rgba(131, 125, 96, 0.08);
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flow_about .inner > ul > li h3 {
	width: 24.5%;
	padding: clamp(20px, 3.4vw, 65px);
	border-right: 1px solid #F0EDDC;
	font-family: "Shippori Mincho", serif;
	font-size: clamp(19px, 1.2vw, 24px);
}
.flow_about .inner > ul > li .txt {
	width: 75.5%;
	padding: clamp(20px, 3.4vw, 65px) clamp(20px, 2.6vw, 50px);
}
.flow_about .inner > ul > li .txt h4 {
	font-family: "Shippori Mincho", serif;
	font-size: var(--fontsize-20);
	margin-bottom: clamp(15px, 1.6vw, 30px);
}
.flow_about .inner > ul > li .txt > p {
	font-size: 15px;
	margin-bottom: clamp(15px, 1.6vw, 30px);
	color: #635F46;
}
.flow_about .contact_link {
	margin-top: clamp(15px, 1.6vw, 30px);
}
.flow_about .contact_link li {
	width: 500px;
	max-width: 100%;
}
.flow_about .contact_link li:not(:first-child) {
	margin-top: clamp(10px, 1.3vw, 25px);
}
.flow_about .red_box {
	margin-top: clamp(15px, 1.6vw, 30px);
}
/* 
 contact
----------------------------------------------------------- */
.contact_wrap {
	background-color: var(--bg-subcolor);
}
.contact_wrap .inner {
	width: min(90%, 1000px);
	padding-top: var(--padding-95);
}
.contact_wrap .inner > .tac {
	margin-bottom: clamp(25px, 2.6vw, 50px);
}
.contact_wrap .line_box {
	margin: clamp(60px, 7.8vw, 150px) 0 clamp(30px, 4.1vw, 80px);
	position: relative;
}
.contact_wrap .line_box::before {
	content: "";
	position: absolute;
	left: 50%;
	top: calc(clamp(35px, 4.1vw, 80px) * -1);
	transform: translateX(-50%);
	background-image: url('./library/images/contact_wrap_arrow.png');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	padding: clamp(10px, 1vw, 20px);
}
.contact_wrap .line_box h2 {
	text-align: center;
	font-size: var(--fontsize-20);
	font-family: "Shippori Mincho", serif;
	margin-bottom: clamp(10px, 1vw, 20px);
}
.contact_wrap #reserve .maru_list li a {
	color: #9B3A41;
}
.reserve_radio label {
	margin: 3px 1em 3px 0;
	white-space: nowrap;
}
.reserve_radio input {
	margin-right: 8px;
}
.radio_tab {
	display: none;
}
.wpcf7 dl,
.mw_wrap dl {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid #D5D1BD;
}
.wpcf7 dl.first,
.mw_wrap dl.first {
	border-top: 1px solid #D5D1BD;
}
.wpcf7 dt,
.mw_wrap dt {
	width: 35%;
	background-color: #E5E2D0;
	padding: clamp(10px, 1vw, 20px) clamp(10px, 3.6vw, 70px);
	display: grid;
	place-items: center start;
	font-size: 14px;
}
.wpcf7 dt span,
.mw_wrap dt span {
	background-color: #C4322C;
	margin-right: 10px;
	font-size: 12px;
	line-height: 1;
	padding: 3px 5px;
	border-radius: 3px;
	color: #fff;
}
.wpcf7 dd,
.mw_wrap dd {
	width: 65%;
	padding: clamp(10px, 1vw, 20px) clamp(10px, 1vw, 20px);
}
.wpcf7 dd .col2,
.mw_wrap dd .col2,
.wpcf7 dd .address > div > p,
.mw_wrap dd .address > div > p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.wpcf7 dd .col2 input,
.mw_wrap dd .col2 input {
	width: 200px;
	margin-right: 20px;
}
.wpcf7 dd .address > div .ttl,
.mw_wrap dd .address > div .ttl {
	width: 95px;
	font-size: 14px;
	display: block;
}
.wpcf7 dd .address > div span:not(.ttl),
.mw_wrap dd .address > div span:not(.ttl) {
	width: calc(100% - 95px);
}
.wpcf7 dd .address > div:nth-of-type(1) span:not(.ttl),
.mw_wrap dd .address > div:nth-of-type(1) span:not(.ttl),
.wpcf7 dd .address > div:nth-of-type(2) span:not(.ttl),
.mw_wrap dd .address > div:nth-of-type(2) span:not(.ttl) {
	width: 250px;
}
.wpcf7 dd .address > div:not(:last-of-type),
.mw_wrap dd .address > div:not(:last-of-type) {
	margin-bottom: 12px;
}
.wpcf7 dd .address > div input,
.mw_wrap dd .address > div input {
	width: 100%;
}
.wpcf7 dl.form_sub,
.mw_wrap dl.form_sub {
	margin-bottom: 10px;
}
.wpcf7 dl.form_sub dt p,
.mw_wrap dl.form_sub dt p {
	font-size: 16px;
}
.wpcf7 dt.form_sub_ttl,
.mw_wrap dt.form_sub_ttl {
	margin-bottom: 5px;
}
.wpcf7 dl .mail .sub,
.mw_wrap .mail .sub {
	margin-top: 15px;
}
.wpcf7 dd .hokensyo,
.mw_wrap dd .hokensyo {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 10px;
}
.wpcf7 dd .hokensyo > div,
.mw_wrap dd .hokensyo > div {
	width: 47.5%;
}
.wpcf7 dd .hokensyo img,
.mw_wrap dd .hokensyo img {
	margin: 0 auto;
}
.wpcf7 dd .hoken_number p,
.mw_wrap dd .hoken_number p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.wpcf7 dd .hoken_number .ttl,
.mw_wrap dd .hoken_number .ttl {
	width: 50px;
	font-size: 14px;
	display: block;
}
.wpcf7 dd .hoken_number span:not(.ttl),
.mw_wrap dd .hoken_number span:not(.ttl) {
	width: calc(100% - 50px);
}
.wpcf7 dd .hoken_number > div:not(:last-of-type),
.mw_wrap dd .hoken_number > div:not(:last-of-type) {
	margin-bottom: 12px;
}
.wpcf7 dd .birth_day p,
.mw_wrap dd .birth_day p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.wpcf7 dd .birth_day small,
.mw_wrap dd .birth_day small {
	padding: 0 20px 0 10px;
}
.wpcf7 dd .birth_day input,
.mw_wrap dd .birth_day input {
	width: 80px;
}
#reserve .wpcf7 dd .address,
#reserve .mw_wrap dd .address {
	margin-top: 10px;
}
.wpcf7 dd .calendar p,
.mw_wrap dd .calendar p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 10px;
}
.wpcf7 dd .calendar .ttl,
.mw_wrap dd .calendar .ttl {
	width: 75px;
	font-size: 14px;
	display: block;
}
.wpcf7 dd .calendar span:not(.ttl),
.mw_wrap dd .calendar span:not(.ttl) {
	width: calc(100% - 75px);
}
.wpcf7 dd .calendar > div:not(:last-of-type),
.mw_wrap dd .calendar > div:not(:last-of-type) {
	margin-bottom: 12px;
}
.wpcf7 dd.option .wpcf7-list-item {
	display: block;
}
.wpcf7 dd.option .option_ttl:not(:first-of-type) {
	margin-top: 15px;
}
.wpcf7-list-item {
	margin: 3px 1em 3px 0;
}
.wpcf7-date {
	background-color: #FCFBF8;
	max-width: 100%;
	border: 1px solid #DEDBC2;
	padding: 5px;
	font-size: 0.9rem;
	min-height: 38px;
}
.wpcf7 .subbtn,
.mw_wrap .subbtn {
	width: fit-content;
	margin: 30px auto 0;
}
.wpcf7 .subbtn > p {
	text-align: center;
}
.wpcf7 .flex,
.mw_wrap .flex {
	justify-content: center;
}
.wpcf7 .flex .subbtn,
.mw_wrap .flex .subbtn {
	margin: 30px 15px 0;
}
.subbtn input {
	width: 300px;
	padding: 10px;
	color: #FFF;
	border-style: none;
	background-color: var(--color-main);
	border-radius: 5px;
	transition: all ease 0.5s;
	margin: 0 auto;
	display: block;
}
.subbtn input:hover {
	opacity: 0.7;
}
.wpcf7-turnstile {
	text-align: center;
	margin-top: 1.5rem;
}
.wpcf7 .flex .subbtn:first-of-type input,
.mw_wrap .flex .subbtn:first-of-type input {
	background-color: #f4f6e5;
	color: #222;
}
.wpcf7-text,
.mw_txt {
	width: 100%;
	background-color: #FCFBF8;
	max-width: 100%;
	border: 1px solid #DEDBC2;
	padding: 5px;
	font-size: 0.9rem;
	min-height: 38px;
	border-radius: 3px;
}
.wpcf7-text:focus,
.wpcf7-textarea:focus {
	background-color: #fafeff;
}
.wpcf7-select,
.mw_select,
.wpcf7-file,
.me_file {
	background-color: #FCFBF8;
	max-width: 100%;
	border: 1px solid #DEDBC2;
	padding: 5px 10px;
	font-size: 0.9rem;
	min-height: 38px;
}
.wpcf7-textarea,
.mw_area {
	width: 100%;
	background-color: #FCFBF8;
	max-width: 100%;
	border: 1px solid #DEDBC2;
	padding: 5px;
	font-size: 0.9rem;
}
.wpcf7 dd .sub,
.mw_wrap dd .sub {
	font-size: 14px;
}
.shonin .wpcf7-list-item {
	margin: 15px auto 0;
	text-align: center;
	display: block;
	font-size: 14px;
}
.wpcf7 .flex,
.mw_wrap .flex {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.wpcf7 .flex .subbtn,
.mw_wrap .flex .subbtn {
	margin: 30px 15px 0;
}
.wpcf7 .flex .subbtn:first-of-type input,
.mw_wrap .flex .subbtn:first-of-type input {
	background-color: #e1dedc;
}
.priva {
	margin-top: clamp(30px, 3.1vw, 60px);
	font-size: 14px;
}
.priva p {
	text-align: left;
}
.priva h3 {
	font-size: 16px;
	margin-bottom: 5px;
}
.priva h3 span {
	font-size: 14px;
	margin-left: 15px;
	display: inline-block;
}
.priva ul {
	width: 100%;
	overflow-y: scroll;
	height: 250px;
	border: 1px solid #DEDBC2;
	background: #FFF;
	padding: 20px;
}
.priva li:not(:last-child) {
	margin-bottom: 20px;
}
.priva li h4 {
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: 1px solid #2B1A02;
	font-size: 14px;
	font-weight: 500;
}
.privabtn {
	text-align: center;
	margin-top: 30px;
	font-weight: bold;
}
/* 
 news index-archives page（サイドバー無し）
----------------------------------------------------------- */
.news_wrap {
	background-color: var(--bg-subcolor);
}
.news_info {
	margin-bottom: 30px;
}
.news_info span:first-of-type {
	margin-right: 5px;
	font-weight: normal;
	font-size: 14px;
}
.cat a {
	padding: 5px 15px;
	font-size: 12px;
	white-space: nowrap;
	margin: 3px 5px 3px 0;
	font-weight: normal;
	transition: all ease 0.5s;
	display: inline-block;
	line-height: 1.3;
	background-color: #ECE8E5;
	border-radius: 10px;
}
.cat a:hover {
	background-color: #312C13;
	color: #fff;
}
.ttl_maru {
	font-size: 16px;
	margin-bottom: 10px;
	color: #819118;
	position: relative;
	padding-left: 16px;
	font-family: "Shippori Mincho", serif;
}
.ttl_maru::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	padding: 5.5px;
	border-radius: 10px;
	background-color: #819118;
}
.list_wrap {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.l_cotent {
	width: 70%;
	margin-right: 5%;
}
.news_list {
	margin-bottom: clamp(30px, 2.3vw, 45px);
}
.news_list > li {
	background-color: #fff;
	padding: 20px;
	border-radius: 15px;
	position: relative;
	transition: all ease 0.5s;
	box-shadow: 0 2px #A2B52C;
	color: #6D5D52;
}
.news_list > li:hover {
	background-color: #f4f6e5;
}
.news_list > li:not(:last-child) {
	margin-bottom: 20px;
}
.news_list > li > a {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.news_list .news_info {
	margin-bottom: 0;
	padding-top: clamp(10px, 0.83vw, 16px);
	margin-top: clamp(10px, 0.83vw, 16px);
	border-top: 1px solid #EBE8D2;
}
.news_list > li h3 {
	font-size: 16px;
	background: none;
	padding-left: 0;
	text-align: justify;
	margin-bottom: 10px;
	text-decoration: underline;
	font-weight: 700;
}
.news_list > li p {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	color: #837D60;
	font-size: 14px;
	line-height: 1.5;
}
.sidebar {
	width: 25%;
}
.widgettitle {
	padding: 0 0 5px 16px;
	margin-bottom: 20px;
	border-bottom: 1px solid #E0DDC6;
	position: relative;
	padding-left: 15px;
	font-family: "Shippori Mincho", serif;
	color: #819118;
}
.widgettitle::before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	padding: 5.5px;
	border-radius: 6px;
	background-color: #819118;
}
.widget ul:not(.children) {
	margin-bottom: 30px;
}
.widget ul li:not(:last-child) a {
	margin-bottom: 10px;
}
.widget ul li a {
	width: 100%;
	font-size: 0.9rem;
	display: block;
	padding-left: 25px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	position: relative;
	transition: all ease 0.5s;
	-webkit-transition: all ease 0.5s;
	-moz-transition: all ease 0.5s;
}
.widget ul li a::before {
	content: "▶";
	font-size: 10px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.widget ul li a:hover {
	color: var(--color-main);
}
#archives-dropdown-2 {
	width: 100%;
	font-size: 0.9rem;
	padding: 10px 15px;
	border: 0px;
	background-color: #FFFFFF;
}
/* news single page
----------------------------------------------------------- */
.stitle {
	font-size: var(--fontsize-22);
	font-weight: 500;
	line-height: 1.3;
	color: var(--color-main);
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid #E0DDC6;
	position: relative;
	text-align: justify;
	font-family: "Shippori Mincho", serif;
}
.stitle::before {
	content: "";
	background-color: var(--color-main);
	bottom: -1px;
	position: absolute;
	left: 0;
	width: 50px;
	height: 1px;
}
.singlecont a {
	text-decoration: underline;
	color: inherit;
	font-weight: inherit;
}
.singlecont h1,
.singlecont h2,
.singlecont h3,
.singlecont h4,
.singlecont h5,
.singlecont h6 {
	line-height: inherit;
	font-weight: bold;
}
/* 
 foot
----------------------------------------------------------- */
.footer {
	background-color: #F0EDD8;
}
.footer a {
	transition: all ease 0.5s;
}
.footer a:hover {
	opacity: 0.7;
}
.footer .inner {
	width: min(90%, 1440px);
	padding: var(--padding-95) 0 10px;
}
.footer .flex {
	align-items: center;
}
.footer .info img {
	height: clamp(50px, 3.4vw, 65px);
	margin-bottom: clamp(15px, 1.6vw, 30px);
}
.footer .info p {
	font-size: 14px;
}
.footer .info p a {
	text-decoration: underline;
}
.footer .info i {
	color: #819118;
	margin-right: 3px;
}
.footer .info p:not(:last-of-type) {
	margin-bottom: clamp(15px, 1.3vw, 25px);
}
.footer .sitemap > ul {
	display: flex;
	justify-content: flex-end;
	font-size: 14px;
	flex-wrap: wrap;
}
.footer .sitemap > ul > li {
	margin-bottom: 20px;
}
.footer .sitemap > ul > li:not(:first-child) {
	margin-left: clamp(20px, 3.4vw, 65px);
	padding-left: 23px;
	position: relative;
}
.footer .sitemap > ul > li:not(:first-child)::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	padding: 9px;
	background-image: url("./library/images/sitemap.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.footer .sitemap > ul > li > ul {
	margin-top: clamp(10px, 0.8vw, 15px);
}
.footer .sitemap > ul > li:nth-child(4) > ul {
	margin-left: -23px;
}
.footer .sitemap > ul > li > ul > li {
	padding-left: 23px;
	position: relative;
	font-size: 12px;
}
.footer .sitemap > ul > li > ul > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	padding: 9px;
	background-image: url("./library/images/sitemap2.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.footer .sitemap > ul > li > ul > li:not(:last-child) {
	margin-bottom: 8xp;
}
.footer .sitemap > ul > li > ul > li a {
	color: #6B674E;
}
.footer .sitemap a {
	text-decoration: underline;
}
.footer .copy {
	font-size: 12px;
	font-family: "Marcellus", serif;
	padding-top: var(--padding-95);
	text-align: center;
}
/* 
 smartphone menu btn
----------------------------------------------------------- */
.spnavbtn {
	position: fixed;
	top: 4%;
	right: 2%;
	z-index: 999;
	text-align: center;
	padding: 12px 10px 5px 11px;
	cursor: pointer;
	display: none;
	background: var(--color-main);
}
.nav-trigger,
.nav-trigger span {
	display: inline-block;
	transition: all ease 0.5s;
	box-sizing: border-box;
}
.nav-trigger {
	position: relative;
	width: 30px;
	height: 18px;
}
.nav-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #FFF;
	border-radius: 20px;
}
.nav-trigger span:nth-of-type(1) {
	top: 0;
}
.nav-trigger span:nth-of-type(2) {
	top: 8px;
}
.nav-trigger span:nth-of-type(3) {
	bottom: 0;
}
/* 
 smartphone menu btn click
----------------------------------------------------------- */
.spnavbtn .activete {
	font-size: 0.9em;
	opacity: 0;
}
.spnavbtn .activete:before {
	content: "";
}
.nav-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}
.nav-trigger.active span:nth-of-type(2) {
	left: 60%;
	opacity: 0;
	-webkit-animation: active-menu-bar02 .8s forwards;
	animation: active-menu-bar02 .8s forwards;
}
@-webkit-keyframes active-menu-bar02 {
	100% {
		height: 0;
	}
}
@keyframes active-menu-bar02 {
	100% {
		height: 0;
	}
}
.nav-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
}
/* 
 smartphone menu btn click area
----------------------------------------------------------- */
.spnav {
	position: relative;
	z-index: 999;
}
.sp_close {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	z-index: 998;
	display: none;
}
.sp_close.open {
	display: inherit;
}
.spnav .trigger {
	width: 300px;
	height: 100%;
	transition: all ease 0.5s;
	position: fixed;
	top: 0;
	left: -300px;
	color: rgba(255, 255, 255, 0);
	overflow-y: scroll;
}
.spnav .open {
	width: 300px;
	max-width: 80%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	color: rgba(150, 150, 150, 1);
	overflow-y: scroll;
	-webkit-backdrop-filter: saturate(140%) blur(20px) brightness(130%);
	backdrop-filter: saturate(140%) blur(20px) brightness(130%);
	background: rgba(248, 246, 231, 0.7);
}
.spnav .trigger > p {
	width: 100%;
	padding: 15px;
	text-align: center;
}
.spnav .trigger > p img {
	height: 40px;
	width: auto;
	margin: 0 auto;
}
.spnav .trigger > ul > li {
	border-bottom: 1px solid rgba(162, 181, 44, 0.5);
	text-align: center;
	color: #231815;
	font-size: 0.9rem;
	transition: all ease 0.5s;
}
.spnav .trigger > ul > li:last-child {
	border-bottom: 1px solid rgba(162, 181, 44, 0.5);
}
.spnav ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	padding: 0 10px;
	height: 48px;
	transition: all ease 0.5s;
	line-height: 1.2;
}
.spnav ul li a:hover,
.spnav .navright:hover {
	background: #fff;
	color: #969696;
}
.spnav ul li.open_btn p {
	cursor: pointer;
	padding: 12px 0;
	text-align: center;
	font-size: 0.9rem;
}
.spnav ul li.open_btn span {
	font-size: 0.7em;
	position: relative;
	top: -1px;
	padding: 1em 0 1em 1em;
	color: var(--color-main);
}
.spnav ul li ul {
	display: none;
}
.spnav ul li ul li {
	border-top: 1px solid rgba(162, 181, 44, 0.2);
}
.spnav ul li ul li:last-child {
	border-bottom: none;
}
@media screen and (max-width: 1600px) {
	/* 
	 header
	----------------------------------------------------------- */
}
@media screen and (max-width: 1400px) {
	/* 
	 top
	----------------------------------------------------------- */
	.top_overview .link ul {
		grid-template-columns: repeat(2, 1fr);
	}
	.top_features .flex h3 {
		width: 335px;
	}
	.top_features .flex p {
		width: calc(95% - 335px);
	}
	/* 
	 footer
	----------------------------------------------------------- */
	.footer .sitemap > ul > li:not(:first-child) {
		margin-left: 20px;
	}
}
@media screen and (max-width: 1200px) {
	/* 
	 top
	----------------------------------------------------------- */
	.fv_txt img {
		margin-top: 0;
	}
	/* 
	 footer
	----------------------------------------------------------- */
	.footer .sitemap {
		width: calc(95% - 305px);
	}
}
@media screen and (max-width: 1100px) {
	.pc1100 {
		display: none;
	}
	br.pc1100 {
		display: none;
	}
	.sp1100 {
		display: block;
	}
	br.sp1100 {
		display: inherit;
	}
	/* 
	 header
	----------------------------------------------------------- */
	.navwrap {
		height: 60px;
		padding: 0 10px;
	}
	.navwrap ul {
		display: none;
	}
	/* 
	 top
	----------------------------------------------------------- */
	.fv {
		margin-bottom: 30px;
	}
	.fv_txt {
		display: grid;
		place-items: center center;
	}
	.fv_txt img {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		margin-bottom: 0;
		opacity: 0.4;
	}
	.important_news {
		position: relative;
		width: 90%;
		margin: 0 auto;
		left: 0;
		min-width: 0;
		bottom: 0;
	}
	.top_guidance ul {
		grid-template-columns: repeat(3, 1fr);
	}
	.top_news .flex .linkbox {
		width: 100%;
		margin-bottom: 30px;
	}
	.top_news .flex .news_slider_wrap {
		width: 95vw;
	}
	.slider-indicators {
		top: 0;
		left: 20px;
	}
	.top_features .flex h3 {
		width: 245px;
	}
	.top_features .flex p {
		width: calc(95% - 245px);
	}
	.top_features::before {
		bottom: 0px;
		padding: clamp(70px, 7.6vw, 145px) 300px;
	}
	.top_overview .txt {
		width: 100%;
		padding: 50px 5%;
	}
	.top_overview .link {
		width: 100%;
		padding: 50px 5%;
	}
	.top_overview .link ul {
		grid-template-columns: repeat(3, 1fr);
	}
	.top_contact ul {
		grid-template-columns: repeat(1, 1fr);
	}
	/* 
	 fukuoka
	----------------------------------------------------------- */
	.fukuoka_checkups .inner > ul {
		grid-template-columns: repeat(3, 1fr);
	}
	/* 
	 flow
	----------------------------------------------------------- */
	.flow_about .inner > ul > li h3 {
		width: 27%;
	}
	.flow_about .inner > ul > li .txt {
		width: 73%;
	}
	/* 
	 smartphone menu btn
	----------------------------------------------------------- */
	.spnavbtn {
		top: 10px;
		right: 10px;
		padding: 10px 10px 5px 11px;
		display: block;
	}
	.nav-trigger {
		width: 30px;
	}
	/* 
	 footer
	----------------------------------------------------------- */
	.footer .sitemap {
		width: 100%;
		margin-top: 30px;
	}
}
@media screen and (max-width:820px) {
	.pc {
		display: none;
	}
	br.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	br.sp {
		display: inherit;
	}
	.flex-prev {
		display: none !important;
	}
	.flex-next {
		display: none !important;
	}
	body {
		font-size: 0.9rem;
	}
	/* 
	 top
	----------------------------------------------------------- */
	.top_news_btm {
		width: 70vw;
	}
	.top_news_btm::before {
		right: 70vw;
	}
	.slider-indicators {
		width: 50%;
	}
	.top_features ul {
		grid-template-columns: repeat(1, 1fr);
	}
	.top_features ul li:not(:last-child) {
		border-right: none;
		position: relative;
	}
	.top_features ul li:not(:last-child)::before {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		width: 90%;
		height: 1px;
		border-bottom: 1px dotted #C6C2AE;
	}
	/* 
	 subpage共通
	----------------------------------------------------------- */
	.sub_h2 span {
		font-size: 0.9rem;
	}
	.maru_list li {
		font-size: 14px;
	}
	.maru_list li::before {
		top: 9px;
	}
	.faq_list li h3 {
		font-size: 0.9rem;
	}
	.faq_list li hgroup::before {
		width: 30px;
		height: 30px;
	}
	.faq_list li hgroup {
		padding: 0 10px 0 30px;
		min-height: 30px;
	}
	.green_list li::before {
		top: 3px;
	}
	.faq_list li h3 {
		padding-top: 5px;
		padding-right: 20px;
	}
	.faq_list li h3::before {
		top: 8px;
		padding: 6px;
	}
	.ttl_area .ttl {
		width: 100%;
		margin-bottom: 20px;
	}
	.ttl_area p {
		width: 100%;
	}
	.table table,
	.price,
	.border_box p {
		font-size: 14px;
	}
	/* 
	 fukuoka
	----------------------------------------------------------- */
	.fukuoka_checkups .inner > ul {
		grid-template-columns: repeat(2, 1fr);
	}
	/* 
	 flow
	----------------------------------------------------------- */
	.flow_about .inner > ul > li h3 {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #F0EDDC;
	}
	.flow_about .inner > ul > li .txt {
		width: 100%;
	}
	.flow_about .inner > ul > li .txt > p,
	.contact_link li span,
	.red_box p:not(.ttl),
	.faq_list li .box p {
		font-size: 14px;
	}
	/* 
	 news index-archives page
	----------------------------------------------------------- */
	.bcontwrap ul {
		grid-template-columns: repeat(2, 1fr);
	}
	/* news single page
	----------------------------------------------------------- */
	.l_cotent {
		width: 100%;
		margin: 0;
	}
	.sidebar {
		width: 100%;
		margin-top: 40px;
	}
	/* 
	 ページネーション
	----------------------------------------------------------- */
	.prev,
	.next {
		width: 100%;
		margin: 0 0 5px;
	}
	.next {
		float: right;
	}
	.single .nav-below {
		margin-top: 40px;
	}
	/* 
	 contact
	----------------------------------------------------------- */
	.cont_list {
		margin-bottom: 30px;
	}
	.cont_list li {
		font-size: 0.9rem;
		padding: 5px;
		line-height: 25px;
	}
	.wpcf7 dl,
	.mw_wrap dl {
		width: 100%;
		display: block;
	}
	.wpcf7 dt,
	.mw_wrap dt {
		width: 100%;
	}
	.wpcf7 dt span,
	.mw_wrap dt span {
		width: 100%;
	}
	.wpcf7 dd,
	.mw_wrap dd {
		width: 100%;
	}
	.mwform-tel-field input[type="text"],
	.mwform-zip-field input[type="text"] {
		display: inline-block;
		width: 26%;
	}
	.priva ul {
		font-size: 0.9rem;
	}
	.priva li p,
	.priva li h4 {
		font-size: 0.9rem !important;
	}
}
@media screen and (max-width:640px) {
	.pc640 {
		display: none;
	}
	br.pc640 {
		display: none;
	}
	.sp640 {
		display: block;
	}
	br.sp640 {
		display: inherit;
	}
	.top_back {
		display: none;
	}
	/* 
	 header
	----------------------------------------------------------- */
	.header_fix {
		bottom: -1px;
		right: auto;
		left: 0;
		width: 100%;
		display: flex;
	}
	.header_fix li {
		width: 50%;
	}
	.header_fix li:not(:last-child) {
		margin-bottom: 0;
	}
	.header_fix li a {
		writing-mode: inherit;
		border-radius: 10px 10px 0 0;
		padding: 10px;
	}
	.header_fix li a p {
		margin-bottom: 0;
		margin-right: 5px;
	}
	/* 
	 top
	----------------------------------------------------------- */
	.fv_txt {
		position: relative;
		right: auto;
		top: auto;
		width: 100%;
		margin-bottom: 30px;
	}
	.fv .slick-slider {
		margin-bottom: 30px !important;
	}
	.important_news p {
		width: 100%;
		display: flex;
		align-items: center;
		margin-bottom: 5px;
		font-size: 13px;
	}
	.important_news p i {
		margin-right: 5px;
	}
	.important_news > a {
		width: 100%;
		padding-left: 0;
		padding-top: 8px;
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.5);
	}
	.important_news > a .txt {
		width: 100%;
	}
	.important_news > a .txt > span {
		font-size: 12px;
	}
	.important_news > a .txt > h3 {
		font-size: 14px;
	}
	.important_news > a .arrow {
		display: none;
	}
	.top_calendar a::before {
		display: none;
	}
	.top_guidance ul {
		grid-template-columns: repeat(2, 1fr);
	}
	.top_guidance::before {
		width: 100%;
	}
	.top_news .flex .news_slider_wrap {
		width: 100%;
	}
	.news_slider_wrap .slick-prev {
		left: auto;
		right: calc(5% + 10px + clamp(40px, 4.1vw, 80px));
	}
	.news_slider_wrap .slick-next {
		right: 5%;
	}
	.slider-indicators {
		width: 40%;
	}
	.top_news .flex .linkbox .more_btn {
		margin: 0 auto;
	}
	.top_features .flex h3 {
		width: 100%;
		margin-bottom: 15px;
	}
	.top_features .flex p {
		width: 100%;
	}
	.top_overview .linkbox .more_btn {
		margin: 0 auto;
	}
	.top_overview .link ul {
		grid-template-columns: repeat(1, 1fr);
	}
	.top_contact .tac {
		text-align: justify;
	}
	.top_contact ul li span {
		font-size: 13px;
	}
	.top_contact ul li:nth-child(1),
	.top_contact ul li:nth-child(2) a {
		padding: 15px 10px;
	}
	.top_contact ul li:nth-child(2) .arrow {
		display: none;
	}
	.top_contact ul li p {
		font-size: 18px;
	}
	.top_contact ul li:nth-child(1) a {
		font-size: 18px;
	}
	/* 
	 subpage共通
	----------------------------------------------------------- */
	.tab_link {
		grid-template-columns: repeat(1, 1fr);
	}
	.table {
		overflow-x: auto;
	}
	.table table {
		width: 620px;
	}
	.table thead th,
	.table_flex .ttl {
		position: relative;
		top: 0 !important;
	}
	.table_flex .ttl,
	.table_flex .table {
		width: 100%;
	}
	.table_flex .table table {
		width: 100%;
	}
	.table_flex .table thead th {
		border-top: 1px solid rgba(0, 0, 0, 0.1);
	}
	.hyo dl dt {
		width: 100%;
	}
	.hyo dl dd {
		width: 100%;
	}
	/* 
	 facility
	----------------------------------------------------------- */
	.facility_access .map iframe {
		height: 250px;
	}
	.facility_access .inner > ul {
		grid-template-columns: repeat(1, 1fr);
	}
	.facility_access .inner > ul > li {
		border-right: none;
		border-bottom: 1px solid #DBD7B8;
		padding: 15px 10px;
	}
	.facility_access .inner > ul > li:first-child {
		border-left: none;
		border-top: 1px solid #DBD7B8;
	}
	.facility_philosophy .tac {
		text-align: justify;
	}
	/* 
	 fukuoka
	----------------------------------------------------------- */
	.fukuoka_checkups .inner > ul {
		grid-template-columns: repeat(1, 1fr);
	}
	/* 
	 kyoukaikenpo
	----------------------------------------------------------- */
	.kyoukaikenpo_option .tac {
		text-align: justify;
	}
	/* 
	 dock
	----------------------------------------------------------- */
	.dock_dock .table thead th:first-of-type {
		width: 130px;
	}
	.dock_dock .border_box .flex .img {
		width: 100%;
		margin-bottom: 10px;
	}
	.dock_dock .border_box .flex .txt {
		width: 100%;
	}
	.dock_health .inner > .tac,
	.dock_health .box .tac {
		text-align: justify;
	}
	.dock_option .table table {
		width: 100%;
	}
	/* 
	 contact
	----------------------------------------------------------- */
	.wpcf7 dd .hokensyo > div,
	.mw_wrap dd .hokensyo > div {
		width: 100%;
	}
	.wpcf7 dd .hoken_number,
	.mw_wrap dd .hoken_number {
		margin-bottom: 15px;
	}
	.wpcf7 dd .col2 input,
	.mw_wrap dd .col2 input {
		width: 145px;
		margin-right: 10px;
	}
	.wpcf7 dd .address > div .ttl,
	.mw_wrap dd .address > div .ttl {
		width: 100%;
	}
	.wpcf7 dd .address > div span:not(.ttl),
	.mw_wrap dd .address > div span:not(.ttl) {
		width: 100%;
	}
	/* 
	 foot
	----------------------------------------------------------- */
	.footer .inner {
		padding-bottom: 70px;
	}
	.footer .flex {
		justify-content: center;
	}
	.footer .sitemap {
		display: none;
	}
	.footer .copy {
		padding-top: 30px;
	}
}