@charset "utf-8";
/*
Theme Name: MIZUPURA
Theme URI: null
Description: Description
Author: 81bridge - SGX
Version: 1.0
*/

.aligncenter {
    display: block;
    margin: 0 auto;
}
.alignright {
    float: right;
}
.alignleft {
    float: left;
}
img[class*="wp-image-"],
img[class*="attachment-"] {
    height: auto;
    max-width: 100%;
}
.wp-block-image figure,
.wp-block-image figcaption {
    display: block;
}
a.nolink,
a.nolink:hover {
    opacity: 1;
    cursor: default;
    pointer-events: none;
}
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figcaption, figure, section, footer, header, main, hgroup, menu, nav, summary {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
@media all and (max-width: 374px) {
	html {
		font-size: calc(1000vw / 375);
	}
}
body, table, input, textarea, select, option {
	font-family: "Noto Sans JP", sans-serif;
	/*font-weight: 500;*/
}
article, aside, canvas, details, figcaption, figure, footer, header, main, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
chrome_annotation {
	border: none !important;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
address {
	font-style: normal;
}
a,
a:link {
	color: #111;
	text-decoration: none;
	transition: 0.3s;
}
a:visited {
	color: #111;
}
a:hover {
	color: #111;
}
a:active {
	color: #111;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 128rem;
	color: #111;
	font-size: 1.8rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
	font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
#container {
	text-align: left;
	overflow: hidden;
	position: relative;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.5rem;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 999;
}
#gHeader .hBox {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
#gHeader .logo {
	margin: 3.9rem 0 0 4.9rem;
	width: 18.3rem;
}
#gHeader .rightBox {
	max-width: 80rem;
	flex: 1;
	background: linear-gradient(to left, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
}
#gNavi .naviUl {
	margin-left: auto;
	padding-right: 0.6rem;
	max-width: 74rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	position: relative;
}
#gNavi .naviUl::before {
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(to left, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.5));
	content: "";
}
#gNavi .naviUl > li {
	position: relative;
}
#gNavi .naviUl > li::before {
	width: 0.5rem;
	height: 0.5rem;
	position: absolute;
	bottom: -0.2rem;
	left: 50%;
	background-color: #fff;
	transform: translateX(-50%);
	content: "";
}
#gNavi .naviUl > li > a {
	padding: 0 1.6rem 0.8rem 1.6rem;
	color: #fff;
	height: 6.3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	font-weight: 400;
	white-space:nowrap;
	letter-spacing: 0.07em;
	position: relative;
}
#gNavi .naviUl > li > a::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 0.2rem;
	background: #fff;
	bottom: 0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 0.3s;
}
#gNavi .dropBox {
	width: 33.4rem;
	position: absolute;
	top: 100%;
	padding-top: 2.2rem;
	display: none;
}
#gNavi .dropBox ul {
	padding: 1.7rem 4.1rem 3.4rem;
	background : rgba(32, 71, 115, 0.9);
	border-radius: 1rem;
}
#gNavi .dropBox a {
	color: #fff;
	font-size: 1.8rem;
	font-weight: 400;
	display: inline-block;
	padding-left: 1em;
	text-indent: -1em;
}
#gNavi .dropBox ul li {
	margin-bottom: 0.9rem;
}
#gNavi .dropBox ul li:last-child {
	margin-bottom: 0;
}
#gNavi .naviUl > li.on > a::after {
	transform: scale(1, 1);
}
@media all and (min-width: 897px) {
	#gNavi .naviUl > li > a:hover::after {
		transform: scale(1, 1);
	}
	#gNavi .dropBox a:hover {
		opacity: 0.7;
	}
}	
@media all and (max-width: 896px) {
	#gHeader .logo {
		margin: 2.9rem 0 0 2.4rem;
		width: 12.2rem;
		transition: 1s cubic-bezier(.19,1,.22,1);
		transition-delay: .4s;
	}
	.fixed #gHeader .logo {
		margin: 3.2rem 0 0 3rem;
		width: 11.7rem;
		transition-delay: 0s;
	}
}

/* menu */
.menu {
	position: absolute;
	top: 3rem;
	right: 2.9rem;
	height: 2rem;
	width: 4rem;
	cursor: pointer;
	z-index: 100;
	transition: 1s cubic-bezier(.19,1,.22,1);
	transition-delay: .4s;
}
.fixed .menu {
	top: 4.2rem;
	right: 3.5rem;
	transition-delay: 0s;
}
.menu.on .top {
	transform: translateY(1rem) translateX(0) rotate(-45deg);
}
.menu.on .middle {
	opacity: 0;
}
.menu.on .bottom {
	transform: translateY(-1rem) translateX(0) rotate(45deg);
}
.menu span {
	background: #fff;
	border: none;
	height: 1px;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: 1s cubic-bezier(.19,1,.22,1);
	transition-delay: .4s;
	cursor: pointer;
}
.menu.on span {
	transition-delay: 0s;
}
.menu span:nth-of-type(2) {
	top: 1rem;
}
.menu span:nth-of-type(3) {
	top: 2rem;
}


/* menuBox */
@media all and (min-width: 897px) {
	.menuBox {
		display: none !important;
	}
}
.menuBox {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	visibility: hidden;
}
.menuBox.open {
	visibility: visible;
	animation: menuopen 1s cubic-bezier(.19, 1, .22, 1) forwards;
}
.menuBox.close {
	visibility: visible;
	animation: menuclose 1s cubic-bezier(.19, 1, .22, 1) forwards;
	animation-delay: .4s;
}
@keyframes menuopen {
	0% {
		clip-path: inset(100% 0 0 0);
	}
	100% {
		clip-path: inset(0 0 0 0);
	}
}
@keyframes menuclose {
	0% {
		clip-path: inset(0 0 0 0);
	}
	100% {
		clip-path: inset(0 0 100% 0);
	}
}
.menuBox .bgBox,
.menuBox .innerBox {
	height: 100%;
}
.menuBox .innerBox {
	padding: 1.2rem 1.6rem;
	overflow-y: auto;
}
.menuBox .bgBox {
	padding: 8.5rem 2.1rem 4rem;
	color: #fff;
	background: rgba(32, 71, 115, 0.9);
	border-radius: 1rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 65rem;
}
.menuBox a {
	color: #fff;
}
.menuBox .naviUl {
	margin: 0 2.9rem;
	font-size: 1.6rem;
}
.menuBox .naviUl li {
	margin-bottom: 1.4rem;
}
.menuBox .naviUl li:last-child {
	margin-bottom: 0;
}
.menuBox .naviUl ul {
	margin: 1rem 0 0 1.6rem;
	font-size: 1.5rem;
	font-weight: 400;
}
.menuBox .naviUl ul li {
	margin-bottom: 0.7rem;
}
.menuBox .naviUl ul li:last-child {
	margin-bottom: 0;
}
.menuBox .btmBox {
	border-top: 1px solid #fff;
	text-align: center;
	margin-top: 3.7rem;
	padding-top: 2.7rem;
	opacity: 0;
}
.menuBox .btmBox .link {
	margin-bottom: 1.7rem;
	font-size: 1.4rem;
}
.menuBox .btmBox .link a {
	text-decoration: underline;
	display: inline-block;
	vertical-align: top;
}
.menuBox .ins img {
	width: 2.5rem;
}
.menuBox li {
	--delay: 0s;
}
.menuBox li > a {
	display: block;
	color: transparent;
}
.menuBox.open li > a {
	animation: menulinkopen .4s cubic-bezier(.19,1,.22,1) forwards;
	animation-delay: calc(.5s + var(--delay));
}
.menuBox.close li > a {
	animation: menulinkclose .4s cubic-bezier(.19,1,.22,1) forwards;
}
@keyframes menulinkopen {
	0% {
		transform: translateY(1rem);
		color: transparent;
	}
	100% {
		transform: translateY(0);
		color: #fff;
	}
}
@keyframes menulinkclose {
	0% {
		transform: translateY(0);
		color: #fff;
	}
	100% {
		transform: translateY(-1rem);
		color: transparent;
	}
}
.menuBox.open .btmBox {
	animation: menuBtnopen .4s cubic-bezier(.19,1,.22,1) forwards;
	animation-delay: calc(.5s + var(--delay));
}
.menuBox.close .btmBox {
	animation: menuBtnclose .4s cubic-bezier(.19,1,.22,1) forwards;
}
@keyframes menuBtnopen {
	0% {
		transform: translateY(1rem);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}	
@keyframes menuBtnclose {
	0% {
		transform: translateY(0);
		opacity: 1;
	}
	100% {
		transform: translateY(-1rem);
		opacity: 0;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 4.9rem 0 3.4rem;
	color: #fff;
	background: url("img/common/footer_bg.jpg") no-repeat center top / cover;
	border-top: 1.6rem solid #e9e9e9;
	margin-top: 14.4rem;
}
#gFooter a {
	color: #fff;
}
#gFooter .fBox {
	margin: 0 auto;
	max-width: 119.8rem;
	position: relative;
}
#gFooter .flexBox {
	padding-bottom: 1.9rem;
	display: flex;
	border-bottom: 1px solid #fff;
}
#gFooter .fLogo {
	margin-bottom: 2.1rem;
	width: 260px;
}
#gFooter .fTxt {
	font-size: 1.5rem;
	line-height: 1.7;
	font-weight: 400;
}
#gFooter .leftBox {
	flex: 1;
}
#gFooter .rightBox {
	width: 51.8rem;
	margin-top: 1.8rem;
}
#gFooter .btn a {
	width: 100%;
	height: 5.3rem;
	color: #085c6e;
	font-size: 1.8rem;
	background-color: #fff;
	border-radius: 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#gFooter address {
	text-align: center;
	font-weight: 300;
	font-size: 1.5rem;
	letter-spacing: 0.06em;
	margin-top: 1.8rem;
}
#gFooter .linkUl {
	display: flex;
	align-items: center;
	position: absolute;
	bottom: -1.3rem;
	right: 0;
	font-size: 1.4rem;
	gap: 1.4rem;
	letter-spacing: 0.04em;
	font-weight: 400;
}
#gFooter .linkUl a {
	text-decoration: underline;
}
#gFooter .linkUl .ins {
	margin-top: 0.3rem;
	width: 45px;
}
@media all and (min-width: 897px) {
	#gFooter .linkUl a:hover {
		opacity: 0.7;
	}
	#gFooter .btn a:hover {
		opacity: 0.7;
	}

}
@media all and (max-width: 896px) {
	#gFooter .flexBox {
		display: block;
		border-bottom: none;
		padding-bottom: 0;
	}
	#gFooter .rightBox {
		width: auto;
		margin-top: 0;
	}
	#gFooter .flexBox {
		display: block;
	}
	#gFooter .linkUl {
		margin-top: 1.6rem;
		display: block;
		text-align: center;
		position: relative;
		right: auto;
		bottom: auto;
	}
	#gFooter .linkUl li {
		margin-bottom: 1.9rem;
	}
	#gFooter .linkUl li.ins {
		width: auto;
	}
	#gFooter .linkUl li:last-child {
		margin-bottom: 0;
	}
	#gFooter .fLogo {
		margin-bottom: 2rem;
		text-align: center;
	}
	#gFooter .fLogo img {
		width: 17.4rem;
	}
	#gFooter {
		margin-top: 6rem;
		border-width: 0.8rem;
		padding: 2.9rem 3rem 3.3rem;
		background-image: url("img/common/sp_footer_bg.jpg");
	}
	#gFooter .fTxt {
		font-size: 1.4rem;
		line-height: 1.78;
	}
	#gFooter .leftBox {
		margin-bottom: 2.4rem;
	}
	#gFooter .btn a {
		margin: 0 auto;
		width: 24rem;
		height: 4rem;
		font-size: 1.5rem;
	}
	#gFooter .linkUl .ins {
		margin-top: 0;
	}
	#gFooter .linkUl .ins img {
		width: 2.5rem;
	}
	#gFooter address {
		font-size: 1.4rem;
		letter-spacing: 0.06em;
		margin-top: 2.4rem;
	}
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-lxh */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
.en {
	font-family: "Outfit", sans-serif;
}
.plus {
	font-family: "M PLUS 1", sans-serif;
}
.sc {
	font-family: "Noto Sans SC", sans-serif;
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.comTel {
	margin-bottom: 1.7rem;
	display: flex;
	line-height: 1;
	font-size: 1.4rem;
}
.comTel a {
	display: inline-block;
	font-weight: 700;
	font-size: 4rem;
	letter-spacing: 0.06em;
}
.comTel .sml {
	display: inline-block;
	line-height: 1.3;
	margin: 0.1rem 0 0 0.7rem;
	letter-spacing: 0.02em;
}
@media all and (max-width: 896px) {
	.comTel {
		margin-bottom: 2rem;
		display: block;
		text-align: center;
	}
	.comTel .sml {
		margin: 1.6rem 0 0 0;
		display: block;
	}
	.comTel a {
		font-size: 3rem;
	}

}


/* pagePath */
#pagePath {
    margin-bottom: 1.2rem;
}
#pagePath ul {
	color: #fff;
    display: flex;
    flex-wrap: wrap;
    font-size: 1.6rem;
}
#pagePath ul li {
    margin-right: 5rem;
    position: relative;
}
#pagePath ul li::after {
	position: absolute;
	top: 0.3rem;
	right: -3.3rem;
	font-size: 1.3rem;
	content: "＞";
}
#pagePath ul a {
    color: #fff;
    display: inline-block;
    vertical-align: top;
}
#pagePath ul li:last-child:after {
    display: none;
}
@media all and (min-width: 897px) {
    #pagePath ul a:hover {
        opacity: 0.7;
    }
}
@media all and (max-width: 896px) {
    #pagePath {
        margin: 7.1rem 2.7rem 0;
    }
}


/* mainVisual */
.mainVisual {
	margin-bottom: 2.7rem;
	padding: 8.65% 0 2rem;
	position: relative;
	color: #fff;
	aspect-ratio: 1400 / 553;
}
.mainVisual .image {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	overflow: hidden;
}
.mainVisual .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mainVisual .innerBox {
	margin: 0 auto;
	max-width: 120rem;
	position: relative;
	z-index: 10;
}
.mainVisual .title {
	font-weight: 500;
	font-size: 3rem;
}
.mainVisual .title .en {
	font-weight: 600;
	font-size: 12rem;
	display: inline-block;
	vertical-align: bottom;
	line-height: 1;
	margin: 0 0 -0.6rem -0.6rem;
}
.mainVisual .title .big {
	font-size: 13rem;
	margin: -0.8rem 1.7rem -1.3rem -0.6rem;
}
@media all and (max-width: 896px) {
	.mainVisual .title .en {
		font-size: 9.6vw;
		margin: 0 0 -0.2rem -0.6rem;
	}
	.mainVisual .title .big {
		font-size: 10.4vw;
		margin: 0 0.7rem -0.4rem -0.6rem;
	}
	.mainVisual .title {
		font-weight: 500;
		font-size: 2.4vw;
	}
	.mainVisual {
		margin-bottom: 2.3rem;
		padding: 23% 7.2vw 2rem;
		aspect-ratio: 1400 / 774;
	}
}

/* content */
.content {
	margin: 0 auto;
	max-width: 120rem;
}
@media all and (max-width: 896px) {
	.content {
		margin: 0 3rem;
		max-width: inherit;
	}
}


/* pp */
#pp .content {
	max-width: 92rem;
}
#pp .textBox p {
	line-height: 1.944;
}
#pp .textBox .title {
	margin-bottom: 1.7rem;
	font-size: 3.5rem;
	color: #0f4777;
	letter-spacing: 0.02em;
}
#pp .textBox * + .title {
	margin-top: 4.6rem;
}
#pp .textBox .txtUl {
	margin-top: 0.4rem;
}
#pp .textBox .txtUl li {
	margin-bottom: 0.8rem;
	padding-left: 1.1em;
	text-indent: -1.1em;
}
#pp .textBox .txtUl li:last-child {
	margin-bottom: 0;
}
#pp .textBox .btmTxt {
	text-align: right;
}
@media all and (max-width: 896px) {
	#pp .textBox .title {
		margin-bottom: 1rem;
		font-size: 1.8rem;
		letter-spacing: 0.02em;
		line-height: 1.75;
	}
	#pp .textBox p {
		line-height: 1.73;
		letter-spacing: 0.04em;
	}
	#pp .textBox * + .title {
		margin-top: 5.4rem;
	}
	#pp .textBox .txtUl {
		margin-top: 1.3rem;
		line-height: 1.73;
	}
	#pp .textBox .txtUl li {
		margin-bottom: 0;
	}
}


/* works */
#works #pagePath {
	margin-bottom: 0.4rem;
}
#works .mainVisual .title .en {
	font-size: 13rem;
	margin: 0 1.7rem -1.3rem -0.6rem;
}
#works .mainVisual {
	margin-bottom: 6.8rem;
}
#works .content {
	max-width: 121.2rem;
}
#works .sec01 .text {
	margin: 0 0 5.4rem 0.7rem;
	font-size: 1.8rem;
	line-height: 1.76;
	letter-spacing: 0.05em;
}
#works .sec01 .imgBox {
	margin: 0 0.4rem;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 10;
}
#works .sec01 .imgBox .photo {
	width: 52.2rem;
}
#works .sec01 .imgBox .photo img {
	width: 100%;
}
#works .sec01 .imgBox .textBox {
	flex: 1;
	margin: 3.1rem 3rem 0 0;
	font-size: 2rem;
	letter-spacing: 0.05em;
}
#works .sec01 .imgBox .textBox p {
	line-height: 1.75;
}
#works .sec02 {
	margin-top: -10.2rem;
	max-width: 134rem;
	position: relative;
	right: -0.3rem;
}
#works .sec02 .innerBox {
	width: 47.5rem;
	font-size: 1.8rem;
	position: absolute;
	top: 7rem;
	left: 16.5rem;
	z-index: 10;
}
#works .linkUl li {
	margin-bottom: 1rem;
}
#works .linkUl li:last-child {
	margin-bottom: 0;
}
#works .linkUl a {
	padding: 1rem 4rem;
	height: 7.2rem;
	color: #fff;
	font-size: 1.8rem;
	display: flex;
	align-items: center;
	position: relative;
	background : linear-gradient(90deg, rgba(74, 163, 168, 1) 0%, rgba(118, 215, 169, 1) 100%);
	border-radius: 5rem;
	overflow: hidden;
}
#works .linkUl a.on {
	background : linear-gradient(90deg, rgba(52, 60, 127, 1) 0%, rgba(69, 130, 183, 1) 100%);
}
#works .linkUl a::before {
	width: 0.6rem;
	height: 0.6rem;
	position: absolute;
	top: 50%;
	left: 2.5rem;
	transform: translateY(-50%);
	background: #fff;
	content: "";
}
#works .linkUl a::after {
	width: 2.8rem;
	height: 2.6rem;
	position: absolute;
	top: 50%;
	right: 2.7rem;
	transform: translateY(-50%);
	background: url("img/common/icon01.png") no-repeat left top / 100% 100%;
	content: "";
}
#works .sec02 .headLine01 {
	margin-bottom: 1.3rem;
	font-size: 2.4rem;
	text-align: center;
}
#works .sec02 .mapBox img {
	width: 100%;
}
@media all and (min-width: 897px) {
	#works .linkUl a:hover {
		background : linear-gradient(90deg, rgba(52, 60, 127, 1) 0%, rgba(69, 130, 183, 1) 100%);
	}
	#works .linkUl.row3 {
		display: flex;
		flex-wrap: wrap;
		gap: 2.8rem 3.8rem;
	}
	#works .linkUl.row3 li {
		margin-bottom: 0;
		width: calc((100% - 7.6rem)/3);
	}
	#works .linkUl.row3 a::after {
		right: 2.2rem;
	}
}
@media all and (max-width: 896px) {
	#works .mainVisual .title .en {
		font-size: 10.4vw;
		margin: 0 0.7rem -0.4rem -0.6rem;
	}
	#works .mainVisual {
		margin-bottom: 4.6rem;
	}
	#works .sec01 .text {
		margin: 0 0 1.8rem;
		font-size: 1.5rem;
		line-height: 1.73;
		letter-spacing: 0.05em;
	}
	#works .sec01 .imgBox .photo {
		width: auto;
	}
	#works .sec01 .imgBox {
		/*margin: 0 2.3rem;*/
		display: block;
	}
	#works .sec01 .imgBox .textBox {
		margin: 0;
	}
	#works .sec01 .imgBox .headLine01 {
		font-size: 1.9rem;
        line-height: 1.71;
	}
	#works .sec01 .imgBox .textBox .wpTxt {
		font-size: 1.5rem;
		line-height: 1.73;
		text-align: justify;
	}
	#works .sec02 .innerBox {
		width: auto;
		margin: 0 auto;
		max-width: 27.2rem;
		font-size: 1.8rem;
		position: static;
		top: auto;
		left: auto;
		z-index: 10;
	}
	#works .linkUl a {
		height: 4rem;
		padding: 1rem 4.3rem;
		font-size: 1.5rem;
	}
	#works .sec02 .headLine01 {
		margin-bottom: 1.8rem;
		font-size: 1.8rem;
		text-align: center;
	}
	#works .sec02 {
		margin-top: -5.6rem;
		right: auto;
	}
	#works .linkUl a::before {
		width: 0.5rem;
		height: 0.5rem;
		left: 3.1rem;
	}
	#works .linkUl a::after {
		width: 2rem;
		height: 1.8rem;
		right: 2.1rem;
	}
	#works .sec02 .mapBox {
		margin: -19.3rem -5.3rem 0 4.2rem;
	}
}


#works.areaPage .content {
	max-width: 120rem;
}
#works.areaPage .headLine02 {
	margin: 0 0 7.4rem -0.6rem;
}
#works.areaPage .linkUl {
	margin: 0 0 7.4rem;
}
#works.areaPage .areaBox {
	display: flex;
	justify-content: space-between;
}
#works.areaPage .areaBox .subBox {
	width: calc(50% - 3.1rem);
}
#works.areaPage .tableBox {
	margin-left: 2.8rem;
}
#works.areaPage .tableBox table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	font-size: 1.7rem;
	font-weight: 500;
	border: none;
}
#works.areaPage .tableBox table th,
#works.areaPage .tableBox table td {
	padding: 1.9rem 0.5rem 2.1rem;
	font-weight: 500;
	vertical-align: middle;
	box-sizing: border-box;
}
#works.areaPage .tableBox table th {
	padding-left: 2.1rem;
	width: 60%;
}
#works.areaPage .tableBox table tr:nth-child(even) {
	background-color: #ececec;
}
#works.areaPage .right .tableBox table th {
	width: 61.4%;
}

/* 一行 */
#works.areaPage .tableBox table.only_one tr {
	background-color: #F5F5F5;
}
#works.areaPage .tableBox table.only_one th,
#works.areaPage .tableBox table.only_one td {
	border-top: 1px dotted #ccc;
}
#works.areaPage .tableBox + .headLine04 {
	margin-top: 8rem;
}
@media all and (max-width: 896px) {
	#works.areaPage .areaBox .subBox {
		width: auto;
	}
	#works.areaPage .areaBox .subBox + .subBox {
		margin-top: 8rem;
	}
	#works.areaPage .areaBox {
		display: block;
	}
	#works.areaPage .tableBox {
		margin: 0 -3rem;
	}
	#works.areaPage .headLine02 {
		margin: 0 0 3.7rem;
	}
	#works.areaPage .linkUl {
		margin: 0 2rem 3.3rem;
	}
	#works.areaPage .headLine01 {
		text-align: center;
		font-size: 1.9rem;
	}
	#works.areaPage .tableBox table {
		font-size: 1.25rem;
	}
	#works.areaPage .tableBox table th,
	#works.areaPage .tableBox table td {
		padding: 1.4rem 0.5rem 1.3rem;
	}
	#works.areaPage .tableBox table th {
		padding-left: 3.5rem;
		width: 56.6%;
	}
}




/* headLine01 */
.headLine01 {
	margin-bottom: 1.6rem;
	color: #0f4777;
	font-size: 4rem;
	font-weight: 800;
	line-height: 1.5;
	font-family: "M PLUS 1", sans-serif;
  	letter-spacing: -0.02em;
}

/* headLine02 */
.headLine02 {
	margin-bottom: 3.9rem;
	display: flex;
	align-items: flex-end;
	color: #73808c;
	font-size: 1.9rem;
	letter-spacing: 0.05em;
	font-family: "M PLUS 1", sans-serif;
  	font-weight: 800;
}
.headLine02 span {
	margin: 0 0 -0.2rem 1.3rem;
}
@media all and (max-width: 896px) {
	.headLine02 img {
		width: 25.7rem;
	}
	.headLine02 {
		margin-bottom: 2.7rem;
		font-size: 1rem;
	}
	.headLine02 span {
		margin: 0 0 -0.1rem 0.7rem;
	}
}

/* comBg */
.comBg {
	margin-top: -8rem;
	position: relative;
}
.comBg img {
	height: 37rem;
	width: 100%;
	max-width: inherit;
}
.comBg .dot {
	width: 30rem;
	height: auto !important;
	position: absolute;
	right: 7rem;
	bottom: -7.2rem;
	mix-blend-mode: multiply;
}
@media all and (max-width: 896px) {
	.comBg img {
		height: auto !important;
	}
	.comBg {
		margin-top: -4.4rem;
	}
	.comBg .dot {
		width: 15.2rem;
		right: 1.8rem;
		bottom: -1rem;
	}
}



/* business */
#business {

}
#business .mainVisual {
	margin-bottom: 6.7rem;
}
#business .sec01 .text {
	font-size: 1.8rem;
	line-height: 1.76;
	letter-spacing: 0.05em;
}
#business .textImg {
	text-align: center;
	margin: 2.9rem 0 -21.2rem;
}
@media all and (max-width: 896px) {
	#business .sec01 .text {
		font-size: 1.5rem;
		line-height: 1.73;
		letter-spacing: 0.05em;
	}
	#business .mainVisual {
		margin-bottom: 4.6rem;
	}
	#business .headLine02 img {
		width: 27.2rem;
	}
	#business .headLine02 {
		margin: 0 -2rem 2.5rem 0;
	}
	#business .textImg {
		margin: 3.1rem -6.5rem -7.8rem -4.4rem;
	}
}



/* comLinkUl */
.comLinkUl {
	margin: 0 auto;
	max-width: 120rem;
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
}
.comLinkUl li {
	width: calc((100% - 12rem) / 4);
}
.comLinkUl a {
	aspect-ratio: 269 / 132;
	color: #fff;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 2.5rem;
	overflow: hidden;
	position: relative;
	font-size: 2.2rem;
	line-height: 1.27;
	letter-spacing: 0.02em;
}
.comLinkUl img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}
.comLinkUl .txt {
	width: 100%;
	position: relative;
	z-index: 10;
	text-align: center;
	display: block;
}
@media all and (min-width: 897px) {
	.comLinkUl a:hover {
		opacity: 0.7;
	}
	.comLinkUl.row3 {
		gap: 4.2rem;
	}
	.comLinkUl.row3 li {
		width: calc((100% - 8.4rem) / 3);
	}
	.comLinkUl.row3 a {
		aspect-ratio: 269 / 121;
		font-size: 3rem;
		font-weight: 500;
	}
}
@media all and (max-width: 896px) {
	.comLinkUl {
		justify-content: space-between;
		gap: 1.8rem 0;
		margin: 0 3.1rem;
	}
	.comLinkUl li {
		width: calc(50% - 1rem);
	}
	.comLinkUl a {
		height: auto;
		aspect-ratio: 269 / 132;
		border-radius: 1.5rem;
		font-size: 1.4rem;
		line-height: 1.4;
	}
	
}



/* message */
#message .mainVisual {
	margin-bottom: 2rem;
}
#message .sec01 .headLine01 {
	margin-bottom: 6rem;
	text-align: center;
	font-size: 3.73rem;
	line-height: 1.8;
	letter-spacing: 0.05em;
	font-weight: 700;
}
#message .sec01 .imgBox {
	color: #4a4a4a;
	font-size: 1.9rem;
	display: flex;
}
#message .sec01 .imgBox p {
	line-height: 2.3;
}
#message .sec01 .imgBox .photoBox {
	margin: -0.8rem 0 0 6rem;
	width: calc(50% - 29.5rem);
	color: #333;
}
#message .sec01 .imgBox .image {
	background-color: #eaeaea;
	padding: 1.8rem 0 1.8rem 1.8rem;
	border-radius: 9.5rem 0 0 9.5rem;
}
#message .sec01 .imgBox .image img {
	width: 100%;
	border-radius: 7.5rem 0 0 7.5rem;
}
#message .sec01 .imgBox .textBox {
	flex: 1;
	text-align: justify;
}
#message .sec01 .imgBox .widBox {
	max-width: 83.4rem;
	margin-left: auto;
}
#message .sec01 .imgBox .name {
	margin: 2.4rem 0 0 6rem;
	font-size: 1.4rem;
	line-height: 1;
}
#message .sec01 .imgBox .name .txt {
	margin-bottom: 0.8rem;
	display: block;
	color: #000000;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
}
#message .sec01 .imgBox .name .big {
	font-size: 2.6rem;
	font-weight: 900;
	margin-right: 1rem;
}
#message .sec01 {
	margin-bottom: 28rem;
}
@media all and (max-width: 896px) {
	#message .sec01 .headLine01 {
		margin-bottom: 3.5rem;
		font-size: 1.8rem;
		line-height: 1.8;
	}
	#message .sec01 .imgBox .widBox {
		max-width: inherit;
		margin-left: 0;
	}
	#message .sec01 .imgBox {
		color: #000;
		display: block;
		font-size: 1.5rem;
	}
	#message .sec01 .imgBox .photoBox {
		margin: 0;
		width: auto;
		color: #000;
	}
	#message .sec01 .imgBox .image {
		width: 20.5rem;
		float: right;
		margin: -0.8rem -3rem 0 3.1rem;
		padding: 0.9rem 0 0.9rem 0.9rem;
		border-radius: 4.5rem 0 0 4.5rem;
	}
	#message .sec01 {
		margin: 0 3rem 11.7rem;
	}
	#message .sec01 .imgBox p {
		line-height: 1.76;
	}
	#message .sec01 .imgBox .image img {
		border-radius: 3.5rem 0 0 3.5rem;
	}
	#message .sec01 .imgBox .name .big {
		margin-bottom: 0.6rem;
		font-size: 2rem;
		font-weight: normal;
		margin-right: 0;
		display: block;
	}
	#message .sec01 .imgBox .name {
		margin: 3.3rem -0.3rem 0 0;
		font-size: 1.32rem;
		text-align: right;
	}
	#message .sec01 .imgBox .name .txt {
		margin-bottom: 0.9rem;
		font-size: 1.32rem;
	}
	#message .comLinkUl {
		margin: 0;
		gap: 1rem;
	}
	#message .comLinkUl li {
		width: calc((100% - 2rem) / 3);
	}
	#message .comLinkUl a {
		aspect-ratio: 269 / 120;
		border-radius: 0.7rem;
		font-size: 1.4rem;
	}
}




/* headLine03 */
.headLine03 {
	margin-bottom: 3.9rem;
	color: #73808c;
	position: relative;
	z-index: 2;
	line-height: 1;
	font-size: 1.9rem;
	letter-spacing: 0.02em;
	font-family: "M PLUS 1", sans-serif;
  	font-weight: 800;
}
.headLine03 img {
	width: 156.4rem;
	max-width: inherit;
	position: absolute;
	top: -11.8rem;
	left: -10.1rem;
	z-index: -1;
}
.headLine03 .en {
	color: #0eb4cd;
	font-size: 8rem;
	font-weight: 600;
	display: block;
	margin: 0 0 1.2rem -0.9rem;
	letter-spacing: 0.02em;
}
.headLine03 .jp {
	display: block;
}
@media all and (max-width: 896px) {
	.headLine03 {
		margin-bottom: 1.4rem;
		font-size: 1rem;
	}
	.headLine03 .en {
		font-size: 4rem;
		margin: 0 0 0.6rem -0.4rem;
		letter-spacing: 0.02em;
	}
	.headLine03 img {
		width: 42.4rem;
		top: -2.7rem;
		left: -3.1rem;
	}
}

/* company */
#company .mainVisual {
	margin-bottom: 6.8rem;
}
#company .sec01 .content {
	position: relative;
	z-index: 10;
}
#company .sec01 .flexBox {
	display: flex;
	justify-content: space-between;
}
#company .sec01 .flexBox .subBox {
	width: calc(50% - 3rem);
}
#company .sec01 .txtDl {
	display: flex;
	flex-wrap: wrap;
	color: #4a4a4a;
	line-height: 1.55;
	letter-spacing: 0.03em;
}
#company .sec01 .txtDl a {
	color: #4a4a4a;
}
#company .sec01 .txtDl dt {
	padding: 1.3rem 0 1.6rem;
	width: 12rem;
	color: #0f4777;
	font-size: 1.8rem;
	position: relative;
	text-align: center;
	letter-spacing: 0.16em;
}
#company .sec01 .txtDl dt::after {
	width: 100%;
	height: 0.3rem;
	position: absolute;
	bottom: -0.1rem;
	left: 0;
	background: linear-gradient(to right,  #15a599 0%,#1e84a8 50%, #2763b7 100%);
	content: "";
}
#company .sec01 .txtDl dd {
	padding: 1.3rem 0 1.6rem 4.7rem;
	width: calc(100% - 12rem);
	border-bottom: 1px solid #dadada;
}
#company .sec01 .headLine02 {
	margin-bottom: 6.5rem;
}
#company .sec01 .comBg {
	margin-top: -3rem;
}
#company .sec01 {
	margin-bottom: 4.3rem;
}
#company .sec02 {
	margin-bottom: 5.6rem;
}
#company .sec02 .txt {
	color: #242526;
	font-size: 2.4rem;
	text-align: center;
	line-height: 2.08;
}
#company .sec02 .headLine01 {
	margin-bottom: 3.5rem;
	text-align: center;
	font-size: 5rem;
}
#company .sec02 .headLine02 {
	margin-bottom: 7.4rem;
	justify-content: flex-end;
}
#company .sec02 .headLine02 span {
	margin: 0 2rem -0.2rem 0;
}
#company .sec02 .comBg {
	margin-top: -0.8rem;
}
#company .sec02 .comBg img {
	height: 26.2rem;
}
#company .sec03 .imgBox {
	display: flex;
	justify-content: space-between;
}
#company .sec03 .imgBox .photoBox {
	width: 49.4rem;
	order: 3;
}
#company .sec03 .imgBox .leftBox {
	flex: 1;
	margin: -1.7rem 0 0 0;
}
#company .sec03 .headLine02 {
	margin-bottom: 8.6rem;
}
#company .sec03 .imgUl li {
	margin-bottom: 1.3rem;
	border-radius: 2.5rem;
	overflow: hidden;
}
#company .sec03 .imgUl li:last-child {
	margin-bottom: 0;
}
#company .sec03 .imgUl img {
	width: 100%;
}
#company .sec03 .listUl {
	position: relative;
}
#company .sec03 .listUl::before {
	width: 16rem;
	height: 93%;
	position: absolute;
	top: 4.4rem;
	left: 1.4rem;
	background: url("img/company/line.png") no-repeat left top / 100% 100%;
	content: "";
}
#company .sec03 .listUl li {
	margin-bottom: 8.1rem;
	padding-left: 4.9rem;
	color: #4a4a4a;
	display: flex;
	font-size: 2rem;
	min-height: 6rem;
	align-items: center;
	position: relative;
}
#company .sec03 .listUl li:last-child {
	margin-bottom: 0;
}
#company .sec03 .listUl li::before {
	margin-top: 0.4rem;
	width: 3.2rem;
	height: 3.2rem;
	position: absolute;
	top: 50%;
  	left: 0.1rem;
	transform: translateY(-50%);
	background: url("img/company/icon.png") no-repeat left top / 100% 100%;
	content: "";
}
#company .sec03 .listUl .item01,
#company .sec03 .listUl .item09 {
	margin-left: 22%;
}
#company .sec03 .listUl .item02,
#company .sec03 .listUl .item08 {
	margin-left: 12%;
}
#company .sec03 .listUl .item03,
#company .sec03 .listUl .item07 {
	margin-left: 5.2%;
}
#company .sec03 .listUl .item04,
#company .sec03 .listUl .item06 {
	margin-left: 1%;
}
#company .sec03 .listUl .ttl {
	margin-right: 2rem;
	color: #0f4777;
	font-size: 2.4rem;
	font-weight: 800;
	white-space: nowrap;
	font-family: "M PLUS 1","Noto Sans JP", sans-serif;
}
#company .sec03 .listUl .txt {
	flex: 1;
}
@media all and (min-width: 897px) {
	#company .sec01 .txtDl dd:last-child {
		border-bottom: none;
	}
	#company .sec01 .txtDl dt:nth-last-child(2)::after {
		display: none;
	}
}
@media all and (max-width: 896px) {
	#company .sec01 .flexBox {
		display: block;
	}
	#company .sec01 .flexBox .subBox {
		width: auto;
	}
	#company .sec01 .txtDl {
		display: block;
		color: #000;
	}
	#company .sec01 .txtDl dt {
		padding: 0 0 0.9rem 1.3rem;
		width: 9rem;
		color: #000;
		font-size: 1.5rem;
		font-weight: 700;
		text-align: left;
		letter-spacing: 0;
	}
	#company .sec01 .txtDl dd {
		margin-bottom: 1.6rem;
		padding: 1.2rem 0 1.7rem 1.3rem;
		width: auto;
	}
	#company .sec01 .txtDl a {
		color: #000;
	}
	#company .comBg img {
		height: 18.5rem;
	}
	#company .mainVisual {
		margin-bottom: 5.3rem;
	}
	#company .headLine02 img {
		width: 23.7rem;
	}
	#company .sec01 .headLine02 {
		margin-bottom: 3.3rem;
	}
	#company .sec01 .txtDl dt::after {
		height: 0.2rem;
	}
	#company .sec01 .content {
		margin: 0 3.2rem;
	}
	#company .sec01 .comBg {
		margin-top: 9rem;
	}
	#company .sec02 .headLine02 {
		display: block;
		text-align: right;
		margin: 0 -0.4rem 2rem;
	}
	#company .sec02 .headLine02 img {
		width: 32rem;
	}
	#company .sec02 .headLine02 span {
		margin: 0.4rem 0 0 0;
		display: block;
		text-align: right;
	}
	#company .sec01 {
		margin-bottom: -0.7rem;
	}
	#company .sec02 {
		margin-bottom: 1.1rem;
		position: relative;
		z-index: 10;
	}
	#company .sec02 .headLine01 {
		margin-bottom: 1.3rem;
		font-size: 1.8rem;
	}
	#company .sec02 .txt {
		font-size: 1.5rem;
		text-align: left;
		line-height: 1.733;
	}
	#company .sec02 .comBg img {
		height: 11rem;
	}
	#company .sec02 .comBg {
		margin-top: 6.4rem;
	}
	#company .sec03 .imgBox {
		display: block;
	}
	#company .sec03 .imgBox .photoBox {
		margin-bottom: 2.7rem;
		width: auto;
	}
	#company .sec03 .imgBox .leftBox {
		margin: 0;
	}
	#company .sec03 .imgUl {
		margin: 0 0.2rem;
		display: flex;
		flex-wrap: wrap;
		gap: 0.6rem;
	}
	#company .sec03 .imgUl li {
		margin-bottom: 0;
		width: calc((100% - 1.2rem) / 3);
		border-radius: 0.5rem;
	}
	#company .sec03 .listUl {
		max-width: 32rem;
		margin: 0 auto;
	}
	#company .sec03 .listUl li {
		margin-bottom: 3rem;
		font-size: 1.4rem;
		padding-left: 2.3rem;
		min-height: 0;
		color: #000;
		align-items: flex-start;
		font-weight: normal;
	}
	#company .sec03 .listUl .ttl {
		margin-right: 1rem;
		font-size: 1.2rem;
	}
	#company .sec03 .headLine02 img {
		width: 25.4rem;
	}
	#company .sec03 .headLine02 {
		margin-bottom: 2.6rem;
	}
	#company .sec03 .listUl li::before {
		margin-top: 0.4rem;
		width: 1.6rem;
		height: 1.6rem;
		top: 0;
		left: 0;
		transform: translateY(0);
	}
	
	#company .sec03 .listUl::before {
		width: 8rem;
		height: 96%;
		top: 1.3rem;
		left: 0.5rem;
	}
	#company .sec03 .listUl .item01,
	#company .sec03 .listUl .item09 {
		margin-left: 24%;
	}
	#company .sec03 .listUl .item02,
	#company .sec03 .listUl .item08 {
		margin-left: 12.4%;
	}
	#company .sec03 .listUl .item03 {
		margin-left: 7%;
	}
	#company .sec03 .listUl .item04 {
		margin-left: 2%;
	}
	#company .sec03 .listUl .item05 {
		margin-left: -0.8%;
	}
	#company .sec03 .listUl .item06 {
		margin-left: -0.8%;
	}
	#company .sec03 .listUl .item07 {
		margin-left: 3.5%;
	}
}


/* top */
#top .mainImg {
	margin-bottom: 9.2rem;
}
#top .mainImg .showBox {
	position: relative;
}
#top .mainImg .imgUl {
	font-size: 0;
	line-height: 1;
}
#top .mainImg .imgUl li {
	position: relative;
}
#top .mainImg .imgUl .image {
	overflow: hidden;
	aspect-ratio: 1400 / 900;
}
#top .mainImg .imgUl .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
}
#top .mainImg .innerBox {
	margin-left: -60.3rem;
	width: 88rem;
	position: absolute;
	top: 17.3%;
	left: 50%;
}
#top .mainImg .title {
	position: relative;
	mix-blend-mode: overlay;
}
#top .mainImg .txt {
	font-size: 3.3rem;
	color: #fff;
	font-weight: 900;
	text-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.7);
	position: absolute;
	bottom: 4rem;
	right: -0.1rem;
	letter-spacing: 0.06em;
}
#top .pickupBox {
	position: relative;
	z-index: 10;
	margin: -3.7rem auto 0;
	max-width: 120rem;
	text-align: right;
}
#top .pickupBox .headLine03 {
	margin: 0 -0.2rem 1.5rem;
}
#top .pickupBox .headLine03 .en {
	font-size: 5.5rem;
	font-weight: 700;
	letter-spacing: 0;
}
#top .pickupBox .listUl a {
	padding-left: 1.6rem;
	max-width: 100%;
	display: inline-flex;
	position: relative;
	font-size: 1.8rem;
	letter-spacing: 0.07em;
	border-bottom: 1px solid #111;
	line-height: 1.45;
}
#top .pickupBox .listUl a::before {
	width: 0.8rem;
	height: 0.8rem;
	position: absolute;
	top: 1.4rem;
	left: 0;
	background-color: #0eb4cd;
	content: "";
}
#top .pickupBox .listUl .time {
	letter-spacing: 0.05em;
	margin-right: 1.5rem;
	white-space:nowrap;
	flex-shrink: 0;
}
#top .pickupBox .listUl .right {
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#top .pickupBox .listUl li {
	margin-bottom: 1.2rem;
}
#top .pickupBox .listUl li:last-child {
	margin-bottom: 0;
}
#top .headLine02 {
	margin-bottom: 2.2rem;
	display: block;
}
#top .headLine02 span {
	display: block;
	margin: 1.2rem 0 0 0;
}
#top .aboutBox .headLine01 {
	font-size: 4.5rem;
	margin-bottom: 1.2rem;
	text-align: left;
}
#top .aboutBox .imgBox {
	margin-bottom: -1.9rem;
	font-size: 1.8rem;
	display: flex;
	align-items: flex-start;
	position: relative;
	z-index: 10;
}
#top .aboutBox .imgBox p {
	line-height: 1.76;
}
#top .aboutBox .imgBox .photoBox {
	margin: -1.5rem -12.1rem 0 6rem;
	width: calc(50% - 1.5rem);
	background-color: #eaeaea;
	padding: 1.8rem 0 1.8rem 1.8rem;
	border-radius: 9.5rem 0 0 9.5rem;
}
#top .aboutBox .imgBox .photoBox img {
	width: 100%;
	border-radius: 7.5rem 0 0 7.5rem;
}
#top .aboutBox .imgBox .textBox {
	flex: 1;
	text-align: justify;
}
#top .aboutBox .imgBox .widBox {
	max-width: 67.6rem;
	margin-left: auto;
}
#top .comBg {
	margin-top: 0;
}
#top .comBg .dot {
	width: 30.3rem;
	right: 3.7rem;
	bottom: -2rem;
}
#top .aboutBox {
	margin-bottom: 2.8rem;
}
#top .businessBox .headLine02 {
	text-align: right;
	margin-bottom: 3.7rem;
}
#top .businessBox .flexBox {
	display: flex;
}
#top .businessBox .flexBox .left {
	flex: 1;
}
#top .businessBox .flexBox .right {
	margin-left: 4rem;
	width: 37.3rem;
}
#top .businessBox .linkUl img {
	width: 100%;
	border-radius: 2.5rem;
}
#top .businessBox .linkUl a {
	color: #0c888c;
	font-size: 1.8rem;
	display: block;
	font-weight: 800;
}
#top .businessBox .linkUl li {
	margin-bottom: 3.3rem;
}
#top .businessBox .linkUl li:last-child {
	margin-bottom: 0;
}
#top .businessBox .linkUl.row2 {
	display: flex;
	justify-content: space-between;
}
#top .businessBox .linkUl.row2 li {
	margin-bottom: 0;
	width: calc(50% - 2rem);
}
#top .businessBox .linkUl .txt {
	margin-top: 2.5rem;
	text-align: center;
	letter-spacing: 0.07em;
}
#top .businessBox .linkUl .txt span {
	padding-left: 1.8rem;
	display: inline-block;
	vertical-align: top;
	position: relative;
}
#top .businessBox .linkUl .txt span::before {
	width: 0.6rem;
	height: 0.6rem;
	position: absolute;
	top: 1.3rem;
	left: 0.2rem;
	background-color: #0c888c;
	content: "";
}
#top .businessBox {
	margin-bottom: 28rem;
}
#top .constructionBox .headLine03 .en {
	font-size: 10rem;
	margin: 0 0 0.6rem -0.4rem;
}
#top .constructionBox .headLine03 {
	margin-bottom: 4rem;
}
#top .constructionBox .headLine03 img {
	width: 166.9rem;
	top: -10.6rem;
	left: 16.4rem;
}
#top .constructionBox .comBtn {
	margin-top: 4.9rem;
}
#top .constructionBox .comBg img {
	height: 35rem;
}
#top .constructionBox .comBg {
	margin-top: 1.2rem;
}
#top .constructionBox .comBg .dot {
	width: 41.5rem;
	right: 12.3rem;
	bottom: -6.5rem;
}
#top .constructionBox {
	margin-bottom: 10.2rem;
}
#top .intiativeBox .headLine01 {
	font-size: 4.5rem;
	margin-bottom: 1.2rem;
	letter-spacing: 0.02em;
	text-align: right;
}
#top .intiativeBox .imgBox {
	margin-bottom: -1.9rem;
	font-size: 1.8rem;
	display: flex;
	align-items: flex-start;
}
#top .intiativeBox .imgBox p {
	line-height: 1.76;
}
#top .intiativeBox .imgBox .photoBox {
	margin: -1.7rem 6.8rem 0 -12.2rem;
	width: calc(50% - 1.5rem);
	background-color: #eaeaea;
	padding: 1.8rem 1.8rem 1.8rem 0;
	border-radius: 0 9.5rem 9.5rem 0;
}
#top .intiativeBox .imgBox .photoBox img {
	width: 100%;
	border-radius: 0 7.5rem 7.5rem 0;
}
#top .intiativeBox .imgBox .textBox {
	flex: 1;
	text-align: justify;
	order: 3;
}
#top .intiativeBox .imgBox .widBox {
	max-width: 67.6rem;
}
#top .intiativeBox .headLine02 {
	text-align: right;
	margin: 0 0.6rem 2.2rem 0;
}
#top .intiativeBox .headLine02 span {
	margin-top: 1.5rem;
}
#top .intiativeBox .headLine01 {
	text-align: right;
	margin-bottom: 1.5rem;
}
#top .intiativeBox {
	margin-bottom: 18.7rem;
}
#top .blogBox .headLine03 .en {
	font-size: 10rem;
	margin: 0 0 0.6rem -0.4rem;
}
#top .blogBox .headLine03 {
	margin-bottom: 4rem;
}
#top .blogBox .headLine03 img {
	width: 58rem;
	top: -10.6rem;
	left: 12.6rem;
}
#top .blogBox .comBtn {
	margin-top: 4.9rem;
}
#top .blogBox .comBg img {
	height: 26.2rem;
}
#top .blogBox {
	margin-bottom: 3.1rem;
}
#top .bannerUl {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 9rem;
}
#top .bannerUl li {
	width: 15%;
}
#top .bannerUl a {
	display: block;
}
#top .slideBox .comList li {
	margin: 0;
}
#top .slideBox .comList .slick-slide > div {
	margin: 0 2rem;
	width: 27rem;
}
@media all and (min-width: 897px) {
	#top .bannerUl a:hover {
		opacity: 0.7;
	}
	#top .businessBox .linkUl a:hover {
		opacity: 0.7;
	}
	#top .pickupBox .listUl a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#top .mainImg .slick-dots {
		position: absolute;
		top: 50%;
		right: 3.1rem;
		bottom: auto;
		width: auto;
		left: auto;
		transform: translateY(-50%);
		margin-top: -9.6rem;
		display: block;
	}
	#top .mainImg .slick-dots button {
		display: none !important;
	}
	#top .mainImg .slick-dots li {
		margin: 0 0 0.7rem !important;
		width: 0.5rem !important;
		height: 0.5rem !important;
		border-radius: 5rem;
		overflow: hidden;
		background-color: #fff;
		display: block !important;
		box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.3);
	}
	#top .mainImg .slick-dots .slick-active {
		background-color: #7cd2d6;
	}
	#top .mainImg .slick-dots li:last-child {
		margin-bottom: 0 !important;
	}
	#top .aboutBox .imgBox {
		margin-bottom: 0;
		display: block;
		font-size: 1.5rem;
		position: relative;
		z-index: 10;
	}
	#top .aboutBox .imgBox .widBox {
		width: auto;
		max-width: inherit;
		margin: 0;
	}
	#top .aboutBox .imgBox .photoBox {
		width: auto;
	}
	#top .businessBox .flexBox {
		display: block;
	}
	#top .businessBox .flexBox .right {
		margin-left: 0;
		width: auto;
	}
	#top .businessBox .linkUl {
		display: flex;
		justify-content: space-between;
		gap: 1rem 0;
	}
	#top .businessBox .linkUl li {
		width: calc(50% - 0.9rem);
	}
	#top .businessBox .linkUl .txt span {
		padding-left: 0;
	}
	#top .businessBox .linkUl .txt span::before {
		display: none;
	}
	#top .mainImg {
		margin-bottom: 4.1rem;
		position: relative;
	}
	#top .mainImg::after {
		width: 100%;
		height: 14rem;
		position: absolute;
		bottom: -0.2rem;
		left: 0;
		background: url("img/index/main_bg.png") no-repeat left top / 100% 100%;
		content: "";
	}
	#top .mainImg .imgUl .image {
		aspect-ratio: inherit;
		height: 73.3rem;
	}
	#top .mainImg .innerBox {
		padding-bottom: 7.4rem;
		margin-left: -16.7rem;
		width: 32rem;
		top: 12.5%;
		left: 50%;
	}
	#top .mainImg .txt {
		font-size: 4rem;
		text-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.3);
		bottom: 1rem;
		right: auto;
		width: 100%;
		text-align: center;
		font-weight: 700;
		white-space:nowrap;
		letter-spacing: 0.03em;
	}
	#top .pickupBox {
		position: absolute;
		bottom: 6.3rem;
		right: 0;
		padding: 0 3.4rem 0 1.5rem;
		width: 100%;
	}
	#top .pickupBox .listUl a {
		padding-left: 0;
		font-size: 1.4rem;
		letter-spacing: 0;
		text-shadow: 0.1rem 0.1rem 0.2rem #fff;
	}
	#top .pickupBox .listUl a::before {
		display: none;
	}
	#top .pickupBox .headLine03 .en {
		margin-bottom: 0;
		display: inline-block;
		vertical-align: top;
		background-color: #fff;
		font-size: 3.3rem;
		padding: 0.6rem 1.3rem;
		letter-spacing: 0.02em;
	}
	#top .pickupBox .listUl .time {
		letter-spacing: 0;
		margin-right: 0.6rem;
	}
	#top .pickupBox .listUl li {
		margin-bottom: 0.3rem;
	}
	#top .pickupBox .headLine03 {
		margin: 0 0 1.6rem;
	}
	#top .aboutBox {
		margin: 0 2.9rem 0;
	}
	#top .aboutBox .headLine02 img {
		width: 22.8rem;
	}
	#top .headLine02 span {
		margin: 0.5rem 0 0 0;
	}
	#top .aboutBox .headLine01 {
		font-size: 2rem;
		line-height: 1.45;
		margin-bottom: 1.5rem;
	}
	#top .headLine02 {
		margin-bottom: 1.8rem;
	}
	#top .aboutBox .imgBox p {
		line-height: 1.65;
	}
	#top .aboutBox .comBg {
		margin: -1.4rem -2.9rem 0;
	}
	#top .aboutBox .comBg img {
		height: 18.5rem;
	}
	#top .comBg .dot {
		width: 15.2rem;
		right: 1.8rem;
		bottom: -1rem;
	}
	#top .businessBox {
		margin-bottom: 8.2rem;
		position: relative;
		z-index: 10;
	}
	#top .businessBox .headLine02 img {
		width: 30.2rem;
	}
	#top .businessBox .headLine02 {
		margin-bottom: 2.7rem;
	}
	#top .businessBox .linkUl img {
		border-radius: 1rem;
	}
	#top .businessBox .linkUl.row2 li {
		width: calc(50% - 0.9rem);
	}
	#top .businessBox .flexBox .left {
		margin-bottom: 1.7rem;
	}
	#top .businessBox .linkUl a {
		font-size: 1.5rem;
		line-height: 1.3;
	}
	#top .businessBox .linkUl .txt {
		margin-top: 1.4rem;
		letter-spacing: 0;
	}
	#top .constructionBox .headLine03 .en {
		font-size: 4rem;
		margin: 0 0 0.6rem;
	}
	#top .constructionBox .headLine03 img {
		width: 67.9rem;
		top: -4.3rem;
		left: 6.4rem;
	}
	#top .constructionBox .headLine03 {
		margin-bottom: 2.4rem;
	}
	#top .constructionBox .comBg img {
		height: 16.5rem;
	}
	#top .constructionBox .comBg .dot {
		width: 20.7rem;
		right: -10.1rem;
		bottom: -3.6rem;
	}
	#top .intiativeBox {
		margin: 0 3rem 11rem;
	}
	#top .constructionBox {
		margin-bottom: 4.2rem;
	}
	#top .intiativeBox .headLine02 span {
		margin-top: 0.5rem;
	}
	#top .intiativeBox .headLine01 {
		font-size: 2rem;
		margin-bottom: 1.9rem;
	}
	#top .intiativeBox .headLine02 {
		margin: 0 0 2.4rem -1rem;
		text-align: right;
	}
	#top .intiativeBox .imgBox .photoBox {
		margin: 1.8rem 2.5rem 0 -12.3rem;
		width: 81.6%;
		padding: 0.7rem 0.7rem 0.7rem 0;
		border-radius: 0 3.5rem 3.5rem 0;
		float: left;
		max-width: 40rem;
	}
	#top .intiativeBox .imgBox .innerBox {
		clear: both;
	}
	#top .intiativeBox .imgBox .widBox {
		max-width: inherit;
	}
	#top .intiativeBox .imgBox {
		font-size: 1.5rem;
	}
	#top .intiativeBox .headLine02 img {
		width: 31.6rem;
	}
	#top .intiativeBox .imgBox .photoBox img {
		border-radius: 0 2.8rem 2.8rem 0;
	}
	#top .intiativeBox .imgBox p {
		line-height: 1.65;
	}
	#top .intiativeBox .comBtn {
		margin-top: 4.2rem;
	}
	#top .blogBox .headLine03 .en {
		font-size: 4.7rem;
		margin: 0 0 0.2rem -0.4rem;
	}
	#top .blogBox .headLine03 .en {
		margin-bottom: 0.4rem;
	}
	#top .blogBox .headLine03 {
		margin-bottom: 2.2rem;
	}
	#top .slideBox .comList .slick-slide > div {
		margin: 0 1.5rem;
		width: 22rem;
	}
	#top .slideBox {
		margin-right: -3rem;
	}
	#top .blogBox .comBtn {
		margin-top: 2.6rem;
	}
	#top .blogBox .headLine03 img {
		width: 27.6rem;
		top: -5rem;
		left: 6rem;
	}
	#top .blogBox .comBg {
		margin-top: 3.8rem;
	}
	#top .blogBox .comBg img {
		height: 10.9rem;
	}
	#top .blogBox {
		margin-bottom: -0.2rem;
	}
	#top .bannerUl {
		margin: 0 auto;
		/*max-width: 30rem;*/
		align-items: flex-end;
		gap: 1rem;
	}
	#top .bannerUl li {
		width: 25%;
	}
	/*#top .bannerUl img {
		width: 12rem;
	}
	#top .bannerUl .bnr02 img {
		width: 8.7rem;
	}
	#top .bannerUl .bnr03 img {
		width: 12.8rem;
	}*/
}



/* comBtn */
ul.comBtn {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}
.comBtn {
	margin-top: 4.4rem;
}
.comBtn a {
	letter-spacing: 0.05em;
  	padding: 0 4.6rem 0.2rem;
	width: 31.8rem;
	height: 6.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 2rem;
	border-radius: 5rem;
	background-color: #0eb4cd;
	position: relative;
}
.comBtn a::after {
	width: 2.8rem;
	height: 2.6rem;
	position: absolute;
	top: 50%;
	right: 1.8rem;
	transform: translateY(-50%);
	background: url("img/common/icon01.png") no-repeat left top / 100% 100%;
	content: "";
}
.comBtn.right a {
	margin-left: auto;
}
@media all and (min-width: 897px) {
	.comBtn a:hover {
		background-color: #1d456f;
	}
}
@media all and (max-width: 896px) {
	ul.comBtn {
		gap: 1rem 0;
	}
	ul.comBtn li {
		width: 100%;
	}
	.comBtn a {
		margin: 0 auto;
		width: 24rem;
		height: 4rem;
		font-size: 1.5rem;
	}
	.comBtn {
		margin-top: 2.1rem;
	}
	.comBtn a::after {
		width: 2rem;
		height: 1.8rem;
		right: 2.1rem;
	}
}

/* comBtn02 */
.comBtn02 {
	margin-top: 2rem;
}
.comBtn02 a {
	height: 4.9rem;
	font-size: 2rem;
	font-weight: 800;
	color: #0eb4cd;
	border: 2px solid #0eb4cd;
	background-color: #fff;
}
.comBtn02 a::after {
	display: none;
}
@media all and (min-width: 897px) {
	.comBtn02 a:hover {
		color: #fff;
		background-color: #0eb4cd;
	}
}
@media all and (max-width: 896px) {
	.comBtn02 a {
		border-width: 1px;
		height: 4rem;
		font-size: 1.5rem;
	}
}

/* comList */
.comList {
	margin: 0 -2rem;
	display: flex;
	flex-wrap: wrap;
	font-size: 1.9rem;
	word-break: break-word;
	font-weight: 700;
}
.comList li {
	margin: 0 2rem;
	width: 27rem;
}
.comList a {
	display: block;
}
.comList .image {
	margin-bottom: 2.5rem;
	aspect-ratio: 269 / 270;
	overflow: hidden;
	border-radius: 2.7rem;
}
.comList .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.comList .topTxt {
	margin-bottom: 1.1rem;
	color: #0eb4cd;
	font-weight: 800;
	font-size: 1.6rem;
}
.comList .topTxt span {
	margin-left: 1.5rem;
	display: inline-block;
	vertical-align: top;
	position: relative;
}
.comList .topTxt span::before {
	width: 0.2rem;
	height: 1.7rem;
	position: absolute;
	top: 0.5rem;
	left: -1rem;
	background-color: #0eb4cd;
	content: "";
}
.comList .topTxt .time {
	font-weight: 700;
	margin-left: 0;
}
.comList .topTxt .time::before {
	display: none;
}
@media all and (min-width: 897px) {
	.comList a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comList {
		display: block;
		font-size: 1.5rem;
		margin: 0 -1.5rem;
	}
	.comList li {
		width: auto;
	}
	.comList .image {
		margin: 0 0 1.6rem;
		border-radius: 2rem;
	}
	.comList .topTxt {
		margin-bottom: 0.2rem;
		font-size: 1.3rem;
		letter-spacing: 0.05em;
	}
	.comList .topTxt span::before {
		width: 0.1rem;
		height: 1.3rem;
		top: 0.4rem;
		left: -0.7rem;
	}
	.comList .topTxt .time {
		letter-spacing: -0.05em;
	}
	.comList .topTxt span {
		margin-left: 1rem;
	}
	.comList a {
		line-height: 1.66;
	}
}

/* comList02 */
.comList02 {
	margin: 0;
	gap: 7rem 4rem;
}
.comList02 li {
	margin: 0;
	width: calc((100% - 8rem) / 3);
}
.comList02 .image {
	margin-bottom: 2.5rem;
	aspect-ratio: 371 / 279;
	border-radius: 2.5rem;
}
@media all and (min-width: 897px) {
	.comList02 a {
		color: #0f4777;
		font-size: 2.2rem;
	}
	.comList02 .topTxt {
		margin-bottom: 0.5rem;
		color: #4f5050;
		font-size: 1.8rem;
		font-weight: normal;
	}
	.comList02 .topTxt .time {
		font-weight: 500;
	}
	.comList02 .topTxt span::before {
		background-color: #4f5050;
	}
}
@media all and (max-width: 896px) {
	.comList02 li {
		margin: 0 0 2.8rem;
		width: auto;
	}
	.comList02 .image {
		aspect-ratio: 269 / 270;
		margin: 0 2.5rem 2.5rem;
	}
}

/* contact */
#contact .headLine01 {
	margin-bottom: 5.7rem;
	font-size: 3.5rem;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.92;
	text-align: center;
}
#contact .telList {
	margin-bottom: 5.8rem;
	display: flex;
	justify-content: space-between;
}
#contact .telList li {
	padding: 2rem 1.5rem 1.5rem 11.7rem;
	min-height: 14.3rem;
	width: calc(50% - 2rem);
	color: #fff;
	background: linear-gradient(to right,  #12a5aa 0%,#147f86 100%);
	position: relative;
	font-size: 2.2rem;
	font-weight: 800;
	border-radius: 2.5rem;
	overflow: hidden;
}
#contact .telList a {
	color: #fff;
	display: inline-block;
	vertical-align: top;
}
#contact .telList small {
	margin-top: 0.4rem;
	display: block;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}
#contact .telList .num {
	margin-top: 0.4rem;
	font-size: 4rem;
	line-height: 1;
	letter-spacing: 0.02em;
	display: inline-block;
	vertical-align: top;
}
#contact .telList .image {
	width: 16rem;
	position: absolute;
	top: 0;
	left: 0;
}
#contact .telList .txt {
	position: relative;
	z-index: 10;
}
#contact .wpcf7-list-item {
    margin: 0;
}
#contact .wpcf7-form-control-wrap {
    display: flex;
    flex-direction: column;
	gap: 0.5rem;
}
#contact .wpcf7-not-valid-tip {
    order: -1;
	padding-bottom: 5px;
}
#contact .wpcf7-not-valid-tip::before {
    content: "▼";
}
.formBox .radioUl li:not(:first-child) .wpcf7-not-valid-tip {
    display: none;
}
.formBox select + .wpcf7-not-valid-tip,
.formBox .radioUl li:first-child .wpcf7-not-valid-tip {
	font-size: 0;
}
.formBox select + .wpcf7-not-valid-tip:after,
.formBox .radioUl li:first-child .wpcf7-not-valid-tip:after {
	content: "選択してください";
}
.formBox select + .wpcf7-not-valid-tip:before,
.formBox select + .wpcf7-not-valid-tip:after,
.formBox .radioUl li:first-child .wpcf7-not-valid-tip:before,
.formBox .radioUl li:first-child .wpcf7-not-valid-tip:after {
	font-size: 1.9rem;
}
.wpcf7-not-valid-tip {
	color: #D36344 !important;
}
.wpcf7-response-output {
	display: none;
}
@media all and (max-width: 896px) {
	#contact .telList {
		margin: 0 auto 2.7rem;
		max-width: 40rem;
		display: block;
	}
	#contact .telList li {
		margin-bottom: 0.9rem;
		width: auto;
		min-height: 7.7rem;
		padding: 1.1rem 1.5rem 0.5rem 6.3rem;
		border-radius: 1.3rem;
		font-size: 1.2rem;
	}
	#contact .telList .num {
		margin-top: 0.2rem;
		font-size: 1.8rem;
	}
	#contact .telList small {
		font-size: 0.8rem;
		margin-top: 0.3rem;
	}
	#contact .telList li:last-child {
		margin-bottom: 0;
		min-height: 6.6rem;
	}
	#contact .headLine01 {
		margin-bottom: 2.5rem;
		text-align: left;
		font-size: 1.8rem;
		line-height: 1.88;
	}
	#contact .telList .image {
		width: 8.7rem;
	}
	.formBox select + .wpcf7-not-valid-tip:before,
	.formBox select + .wpcf7-not-valid-tip:after,
	.formBox .radioUl li:first-child .wpcf7-not-valid-tip:before,
	.formBox .radioUl li:first-child .wpcf7-not-valid-tip:after {
		font-size: 1.4rem;
	}
}

/* formBox */
.formBox {
	padding: 4.3rem 13.6rem 6.6rem;
	border: 0.3rem solid #35e0da;
	border-radius: 4rem;
	background: #fff url("img/contact/icon03.png") no-repeat left 1.4rem top -5.3rem;
}
.formBox .title {
	margin-bottom: 1.7rem;
	color: #148187;
	font-size: 2.8rem;
	text-align: center;
	font-weight: 700;
}
.formBox .topTxt {
	margin-bottom: 7.1rem;
	font-size: 1.7rem;
	text-align: center;
	line-height: 1.76;
	letter-spacing: 0.05em;
}
.comTable {
	width: 100%;
	border-collapse: collapse;
}
.comTable th,
.comTable td {
	padding: 1rem 0;
	font-size: 1.9rem;
	text-align: left;
	vertical-align: top;
	box-sizing: border-box;
	border-bottom: 1px solid #dbdbdb;
	line-height: 1.36;
}
.comTable th {
	padding-top: 2.7rem;
	font-weight: 500;
	width: 25.4%;
}
.formBox .must {
	margin: -0.5rem 0 0 0.8rem;
	color: #fff;
	line-height: 1;
	font-weight: 500;
	font-size: 1.6rem;
	background-color: #ee5924;
	border-radius: 0.5rem;
	padding: 0.4rem 0.8rem 0.5rem;
	display: inline-block;
	vertical-align: middle;
}
.formBox input[type="text"],
.formBox input[type="email"],
.formBox input[type="tel"],
.formBox textarea,
.formBox select {
	width: 100%;
	height: 6.3rem;
	font-size: 1.9rem;
	border-radius: 0.8rem;
	background: #f8f8f8;
	padding: 0 1.6rem;
	box-sizing: border-box;
	border: 1px solid #dbdbdb;
	letter-spacing: 0.05em;
	appearance: none;
	-webkit-appearance: none; 
}
.formBox input[type="text"]::placeholder,
.formBox input[type="email"]::placeholder,
.formBox input[type="tel"]::placeholder,
.formBox textarea::placeholder {
	color: rgba(23,23,23,0.3);
}
.formBox .wid01 {
	width: 44.4rem !important;
}
.formBox .wid02 {
	width: 23.6rem !important;
}
.formBox .wid03 {
	width: 34.4rem !important;
}
.formBox .wid04 {
	width: 59.3rem !important;
}
.formBox textarea {
	padding: 1.6rem;
	height: 32.9rem;
}
.formBox select {
	margin-bottom: 1.2rem;
	padding-right: 4rem;
	width: 25rem;
	color: #1a1a1a;
	background: #fff url("img/common/icon02.png") no-repeat right 1.2rem center;
	background-size: 2.2rem auto;
}
.formBox select::-ms-expand { display: none; }
.formBox .radioUl {
	display: flex;
	flex-wrap: wrap;
	padding: 2.2rem 0 1.2rem;
	gap: 1rem 3.3rem;
	position: relative;
}
.formBox .radioUl .wpcf7-form-control-wrap {
	position: static;
}
.formBox .radioUl .wpcf7-not-valid-tip {
	position: absolute;
	top: -0.7rem;
	left: 0;
}
.formBox input[type="radio"] {
	display: none; 
}
.formBox input[type="radio"] ~ span {
	padding: 0 0 0.7rem 2.8rem;
	line-height: 1.6rem;
	color: #242526;
	border-radius: 0;
	border: none;
	display: inline-block;
	vertical-align: top;
	background: url(img/common/radio_icon01.png) no-repeat left top 0.2rem;
	background-size: 1.6rem 1.6rem;
	letter-spacing: 0.02em;
	cursor: pointer;
}
.formBox input[type="radio"]:checked ~ span {
	background-image: url(img/common/radio_icon02.png);
}
.formBox input[type="checkbox"] {
	display: none; 
}
.formBox input[type="checkbox"] ~ span {
	padding: 0 0 2.2rem 4rem;
	line-height: 2.5rem;
	border-radius: 0;
	border: none;
	display: inline-block;
	vertical-align: top;
	background: url(img/common/check_icon01.png) no-repeat left top 0.3rem;
	background-size: 2.5rem 2.5rem;
	letter-spacing: 0.07em;
	cursor: pointer;
}
.formBox input[type="checkbox"]:checked ~ span {
	background-image: url(img/common/check_icon02.png);
}
.formBox .error {
	border-color: #E23223 !important;
}
.formBox .agreeTxt {
	margin-top: 3.2rem;
}
.formBox .agreeTxt span {
	color: #000;
	letter-spacing: 0 !important;
}
.formBox .agreeTxt .errorMsg {
	font-weight: normal;
}
.formBox .linkTxt {
	letter-spacing: 0.03em;
	line-height: 1.95;
	padding-top: 1rem;
}
.formBox .linkTxt a {
	color: #0c5ea4;
	text-decoration: underline;
}
.formBox .submit {
	margin-top: 4.4rem;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.formBox .submit li {
	margin: 0 1.7rem;
	position: relative;
}
.formBox .submit input {
	letter-spacing: 0.05em;
  	padding: 0 5.5rem 0.2rem 4rem;
	width: 31.8rem;
	height: 6.2rem;
	color: #fff;
	font-size: 2.4rem;
	border-radius: 5rem;
	background: #0eb4cd url("img/common/icon01.png") no-repeat right 1.8rem center;
	background-size: 2.8rem auto;
	position: relative;
	border: none;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	transition: 0.3s;
	cursor: pointer;
}
.formBox .submit .return input {
	background-image: url("img/common/icon03.png");
	padding: 0 4rem 0.2rem 5.5rem;
	background-position: left 1.8rem center;
}
.formBox .submit .wpcf7-spinner {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
}
@media all and (min-width: 897px) {
	.formBox .submit input:hover {
		background-color: #1d456f;
	}
	.formBox .linkTxt a:hover {
		text-decoration: none;
	}
	.confirmBox .comTable td {
		padding-top: 2.7rem;
	}
}
@media all and (max-width: 896px) {
	.formBox {
		padding: 2.9rem 1.8rem 3.1rem;
		border-width: 0.2rem;
		border-radius: 0.5rem;
		background-position: left 1.2rem top -2.7rem;
		background-size: 15.1rem auto;
	}
	.formBox input[type="text"],
	.formBox input[type="email"],
	.formBox input[type="tel"],
	.formBox textarea,
	.formBox select {
		height: 4.3rem;
		border-radius: 0.3rem;
		font-size: 1.4rem;
	}
	.formBox textarea {
		height: 17.8rem;
	}
	.formBox .wid01 {
		width: 100% !important;
	}
	.formBox .wid02 {
		width: 100% !important;
	}
	.formBox .wid03 {
		width: 100% !important;
	}
	.formBox .wid04 {
		width: 100% !important;
	}
	.formBox select {
		background-size: 1.8rem auto;
	}
	.comTable th,
	.comTable td {
		padding: 0 0 0.9rem;
		width: 100%;
		float: left;
		font-size: 1.4rem;
	}
	.comTable th {
		margin-bottom: 0;
		padding: 1.4rem 0 0.9rem 1rem;
		border-bottom: none;
	}
	.formBox .must {
		float: right;
		font-size: 1.2rem;
		padding: 0.3rem 0.7rem 0.4rem;
		border-radius: 0.2rem;
		margin: 0.1rem 1.2rem 0 0;
	}
	.formBox .agreeTxt small {
		display: block;
		font-size: 1.2rem;
		margin-top: 0.9rem;
	}
	.formBox .topTxt {
		margin-bottom: 1.3rem;
		font-size: 1.4rem;
		text-align: left;
		line-height: 1.85;
		letter-spacing: 0.05em;
	}
	.formBox .title {
		margin-bottom: 1.4rem;
		font-size: 1.6rem;
	}
	.formBox .linkTxt {
		margin-left: 1.2rem;
		letter-spacing: 0.03em;
		line-height: 1.88;
		padding-top: 0.3rem;
	}
	.formBox .agreeTxt {
		margin: 1.4rem 0 0 1.4rem;
	}
	.formBox input[type="checkbox"] ~ span {
		padding: 0 0 2.2rem 2.8rem;
		line-height: 1.8rem;
		background-size: 1.8rem 1.8rem;
	}
	.formBox .submit input {
		padding: 0 5.5rem 0 4rem;
		width: 20rem;
		height: 4rem;
		font-size: 1.5rem;
		background-position: right 2.2rem center;
		background-size: 1.8rem auto;
	}
	.formBox .submit .return input {
		padding: 0 4rem 0 5.5rem;
		background-position: left 2.2rem center;
	}
	.formBox .submit {
		text-align: center;
		margin: 3.1rem -1.5rem 0;
	}
	.formBox .submit li {
		margin: 0 0.3rem;
	}
	.confirmBox .comTable th,
	.confirmBox .comTable td {
		padding: 0.3rem 1rem 1.8rem;
		width: 100%;
		float: left;
		font-size: 1.4rem;
	}
	.confirmBox .comTable th {
		padding: 1.4rem 0 0.9rem 1rem;
	}
	.confirmBox .submit input {
		width: 13.8rem;
	}
	.confirmBox .submit input {
		padding: 0 4.8rem 0 3rem;
		background-position: right 1.6rem center;
	}
	.confirmBox .submit .return input {
		padding: 0 3rem 0 4.8rem;
		background-position: left 1.6rem center;
	}
}


/* thanksBox */
#contact .thanksBox {
	text-align: center;
}
#contact .thanksBox p {
	margin-bottom: 5rem;
}
#contact .thanksBox p:last-child {
	margin-bottom: 0;
}
@media all and (min-width: 897px) {
	#contact .thanksBox p a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#contact .thanksBox {
		text-align: left;
	}
	#contact .thanksBox .headLine01 {
		text-align: center;
		margin-bottom: 2.5rem;
	}
	#contact .thanksBox p {
		margin-bottom: 2.7rem;
		line-height: 1.73;
	}
}


/* headLine04 */
.headLine04 {
	margin-bottom: 1.3rem;
	position: relative;
	color: #0f4777;
	font-size: 3.5rem;
	font-family: "M PLUS 1", sans-serif;
	font-weight: 800;
}
.headLine04::after {
	margin-top: 0.3rem;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 0;
	background-color: #000000;
	content: "";
}
.headLine04 span {
	padding-right: 1.4rem;
	position: relative;
	background-color: #fff;
	z-index: 10;
}
@media all and (max-width: 896px) {
	.headLine04 {
		margin-bottom: 2.2rem;
		font-size: 1.9rem;
	}
}


/* ex */
#ex .mainVisual {
	margin-bottom: 6.8rem;
}
#ex .headLine02 {
	margin-bottom: 10rem;
}
#ex .headLine02 + .headLine01 {
	margin: -4rem 0 4rem;
}
#ex .detailBox {
	margin-top: -2.3rem;
}
#ex .detailBox .titleBox {
	margin-bottom: 7.6rem;
}
#ex .detailBox .innerBox p {
	letter-spacing: 0.03em;
}

@media all and (min-width: 897px) {
	#ex .detailBox .innerBox {
		margin: 0 auto;
		width: 960px;
	}
	#ex .detailBox .wp-block-columns {
		/*margin: 0 auto 3rem;
		max-width: 107rem;*/
		margin: 0 auto 3rem;
		max-width: 960px;
		/*padding-left: 3rem;*/
	}
	#ex .detailBox .wp-block-columns .wp-block-column {
		/*width: calc(50% - 2.3rem) !important;*/
	}
	#ex .detailBox .innerBox p {
		/*margin-bottom: 6.2rem;
		margin-left: 2rem;
		margin-right: 2rem;*/
		margin: 0 auto 6.2rem auto;
	}
}
@media all and (max-width: 896px) {
	#ex .headLine01 {
		font-size: 1.9rem;
	}
	#ex .headLine02 + .headLine01 {
		margin: -2rem 0 3rem;
	}
	#ex .mainVisual .title .big {
		font-size: 9.6vw;
		margin: -0.2rem 0 0.3rem -0.2rem;
	}
	#ex .mainVisual .title {
		font-size: 2.2vw;
	}
	#ex .mainVisual {
		margin-bottom: 5rem;
	}
	#ex .headLine02 img {
		width: 26.5rem;
	}
	#ex .headLine02 {
		margin: 0 0 5rem -0.4rem;
	}
	#ex .comList02 {
		margin: 0 1rem;
	}
	#ex .detailBox {
		margin-top: -1.7rem;
	}
	#ex .detailBox .titleBox .title {
		margin-bottom: 0.5rem;
	}
	#ex .detailBox .titleBox {
		margin-bottom: 3.6rem;
	}
}


/* public */
#public .mainVisual {
	margin-bottom: 8.3rem;
}
#public .mainVisual .title .big {
	font-size: 6rem;
	font-weight: 900;
}
#public .mainVisual .title .big .size {
	font-size: 12rem;
	font-weight: 600;
}
#public #pagePath {
	margin-bottom: 1.9rem;
}
#public .detailBox {
	margin-top: -3.6rem;
}
@media all and (max-width: 896px) {
	#public .detailBox {
		margin-top: -0.5rem;
	}
	#public .mainVisual .title .big {
		font-size: 5vw;
		display: block;
		margin: 0 0 0.4vw;
	}
	#public .mainVisual .title .big .size {
		font-size: 10.4vw;
	}
	#public .mainVisual .title br.sp {
		display: none;
	}
	#public .mainVisual .title {
		font-size: 2.6vw;
	}
	#public .mainVisual {
		margin-bottom: 4.6rem;
	}
}

/* comList03 */
.comList03 li {
	margin-bottom: 4.6rem;
	padding-bottom: 5.4rem;
	border-bottom: 1px solid #cbcbcb;
}
.comList03 li:last-child {
	margin-bottom: 0;
}
.comList03 a {
	padding-right: 7rem;
	color: #000000;
	display: flex;
	font-size: 1.8rem;
	line-height: 1.66;
	font-weight: 600;
	position: relative;
	letter-spacing: 0.05em;
}
.comList03 a::after {
	margin: 0.2rem 0.1rem 0 0;
	width: 6.4rem;
	height: 6.4rem;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url("img/common/icon04.png") no-repeat left top / 100% 100%;
	content: "";
}
.comList03 .left {
	color: #4f5050;
	width: 17.8rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.03em;
}
.comList03 .right {
	margin-top: -0.1rem;
	flex: 1;
}
.comList03 .title {
	margin-bottom: 2rem;
	padding-left: 1.9rem;
	color: #0f4777;
	font-size: 3rem;
	font-weight: 700;
	position: relative;
	line-height: 1.2;
}
.comList03 .title::before {
	width: 0.6rem;
	height: 0.6rem;
	position: absolute;
	top: 1.6rem;
	left: 0.1rem;
	background-color: #2ea2a6;
	content: "";
}
.comList03 .time {
	margin-bottom: 1.2rem;
}
.comList03 .lable span {
	display: block;
	margin-bottom: 0.8rem;
}
.comList03 .lable span:last-child {
	margin-bottom: 0;
}
@media all and (min-width: 897px) {
	.comList03 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comList03 a {
		padding-right: 4rem;
		display: block;
		font-size: 1.4rem;
		line-height: 1.78;
		color: #000000;
		font-weight: 400;
	}
	.comList03 .left {
		color: #000000;
		margin-bottom: 0.5rem;
		width: auto;
		display: flex;
		font-size: 1.2rem;
	}
	.comList03 .right {
		margin: 0;
	}
	.comList03 .title {
		margin-bottom: 0;
		font-size: 1.9rem;
		padding-left: 0;
		line-height: 1.71;
	}
	.comList03 .title::before {
		display: none;
	}
	.comList03 a::after {
		margin: 0.2rem 0.1rem 0 0;
		width: 3.2rem;
		height: 3.2rem;
	}
	.comList03 .time {
		margin-bottom: 0;
		letter-spacing: -0.01em;
	}
	.comList03 li {
		margin-bottom: 2.8rem;
		padding-bottom: 2.1rem;
	}
	.comList03 .lable span {
		margin-left: 1.3rem;
		display: inline-block;
		position: relative;
	}
	.comList03 .lable span::before {
		width: 0.1rem;
		height: 1.2rem;
		position: absolute;
		top: 0.3rem;
		left: -0.7rem;
		background-color: #000;
		content: "";
	}
}


/* wp-pagenavi */
.wp-pagenavi {
	margin-top: 7rem;
	font-size: 0;
	clear: both;
	text-align: center;
}
.wp-pagenavi a,
.wp-pagenavi span {
	min-height: 4.9rem;
	min-width: 4.9rem;
	color: #4c4d4e;
	font-size: 2.6rem;
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
	border: none;
	padding: 1rem 0.5rem 0;
	margin: 0 0.3rem;
	border-radius: 50%;
	font-family: "M PLUS 1", sans-serif;
	line-height: 1;
}
.wp-pagenavi span.current {
	background-color: #0eb4cd;
	color: #fff;
}
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .pages {
	display: none;
}
.wp-pagenavi .extend {
	padding: 0;
	margin: 0.4rem 1.4rem 0;
	min-height: 0;
	min-width: 0;
	vertical-align: middle;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	padding: 0;
	margin: 0.8rem 1.4rem 0;
	vertical-align: middle;
	min-height: 0;
	min-width: 0;
	border-radius: 0;
	background-color: transparent !important;
	display: none;
}
@media all and (min-width: 897px) {
	.wp-pagenavi a:hover {
		background-color: #0eb4cd;
		color: #fff;
	}
	.wp-pagenavi .previouspostslink:hover,
	.wp-pagenavi .nextpostslink:hover {
		opacity: 0.7;
		color: #4c4d4e;
	}
}
@media all and (max-width: 896px) {
	.wp-pagenavi {
		margin: 7rem -3rem 0;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		padding-top: 0.8rem;
		font-size: 1.8rem;
		min-width: 3.6rem;
		min-height: 3.6rem;
	}
	.wp-pagenavi .extend {
		vertical-align: middle;
		margin: 0 1rem 0;
	}
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink {
		padding: 0;
		margin: 0.6rem 1rem 0;
	}
}


/* detailBox */
.detailBox {
	max-width: 121rem;
	word-break: break-all;
}
.detailBox .titleBox {
	margin-bottom: 6.4rem;
}
.detailBox .titleBox .title {
	color: #204773;
	font-size: 3rem;
	font-weight: 900;
	margin-bottom: 2.4rem;
}
.detailBox .titleBox .txt {
	font-size: 1.8rem;
	color: #204773;
	display: flex;
	flex-wrap: wrap;
}
.detailBox .titleBox .lable span {
	margin-left: 1.7rem;
	display: inline-block;
	position: relative;
}
.detailBox .titleBox .lable span::before {
	width: 0.1rem;
	height: 2rem;
	position: absolute;
	top: 0.5rem;
	left: -1rem;
	background-color: #204773;
	content: "";
}
.detailBox .wp-block-image {
	/*margin: 0 auto 4.3rem;
	max-width: 96rem;*/
	margin: 0 auto 5rem;
	max-width: 960px;
}
.detailBox .wp-block-image img {
	width: 100%;
	border: 5px solid #fff;
}
.detailBox .innerBox p {
	line-height: 2;
	margin-bottom: 4.1rem;
}
.detailBox .innerBox p:last-child {
	margin-bottom: 0;
}
.detailBox .wp-block-columns {
	margin: 0 auto 4.3rem;
	max-width: 96rem;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 2.2rem 0;
}
#main .detailBox .wp-block-columns .wp-block-column {
	/*width: calc(50% - 1.1rem);*/
    flex-grow: inherit !important;
	flex-basis: inherit !important;
}
.detailBox .wp-block-columns .wp-block-image {
	margin: 0;
	max-width: inherit;
}
.detailBox .alignright {
	margin: 1.4rem 0.8rem 0 7rem;
	width: 55.9rem;
	float: right;
}
.detailBox .innerBox h3 {
	margin-bottom: 2.4rem;
	font-size: 3rem;
	line-height: 1.75;
	font-weight: 900;
}
.detailBox .innerBox p + h3 {
	margin-top: 5rem;
}
.detailBox .innerBox p a {
	color: #0000cc;
	text-decoration: underline;
}
.detailBox .wp-block-media-text {
	margin-bottom: 5.2rem;
	display: flex;
	align-items: flex-start;
}
.detailBox .wp-block-media-text > .wp-block-media-text__content {
	padding: 0;
	flex: 1;
	align-self: flex-start;
}
.detailBox .wp-block-media-text__media {
	width: 55.9rem;
	margin: 1rem 4rem 0 0 !important;
	align-self: flex-start !important;
}
.detailBox .wp-block-columns .wp-element-caption {
	display: block;
	margin-top: 1.3rem;
}
@media all and (min-width: 897px) {
	.detailBox .innerBox p a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.detailBox .titleBox .title {
		margin-bottom: 0;
		font-size: 1.9rem;
		line-height: 1.7;
	}
	.detailBox .titleBox .txt {
		font-size: 1.2rem;
	}
	.detailBox .titleBox .lable span {
		margin-left: 1.3rem;
	}
	.detailBox .titleBox .lable span::before {
		width: 0.1rem;
		height: 1.2rem;
		top: 0.4rem;
		left: -0.7rem;
	}
	.detailBox .titleBox {
		margin-bottom: 2.6rem;
	}
	.detailBox .alignright {
		width: auto;
  		float: none;
	}
	.detailBox .innerBox p {
		line-height: 1.66;
		margin-bottom: 2.2rem;
	}
	.detailBox .wp-block-image {
		margin: 0 0 2rem;
		max-width: inherit;
	}
	.detailBox .wp-block-columns .wp-block-column {
		width: calc(50% - 0.5rem) !important;
	}
	.detailBox .wp-block-columns {
		margin: 0 auto 2.1rem;
		max-width: inherit;
		gap: 1rem 0;
	}
	.detailBox .innerBox h3 {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
	.detailBox .wp-block-media-text {
		display: block;
		margin-bottom: 3.7rem;
	}
	.detailBox .wp-block-media-text__media {
		width: auto;
		margin: 2.4rem 0 2rem !important;
	}
	.detailBox .wp-block-columns .wp-element-caption {
		display: block;
		margin-top: 0;
		font-size: 1.2rem;
	}
}


/* pageNavi */
.pageNavi {
	margin: 8.3rem auto 0;
	max-width: 88.4rem;
	position: relative;
}
.pageNavi .comBtn {
	margin: 0;
}
.pageNavi .comBtn a {
	margin: 0 auto;
}
.pageNavi .arrow {
	position: absolute;
	top: 0;
	left: 0;
}
.pageNavi .next {
	left: auto;
	right: 0;
}
.pageNavi .arrow a {
	font-size: 2rem;
	font-weight: 500;
	display: inline-block;
}
.pageNavi .arrow img {
	margin-left: 1.9rem;
	display: inline-block;
	vertical-align: middle;
}
.pageNavi .arrow.prev img {
	margin: 0 1.9rem 0 0;
	transform: scaleX(-1);
}
@media all and (min-width: 897px) {
	.pageNavi .arrow a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.pageNavi {
		margin-top: 2.8rem;
		border-top: 1px solid #cccccc;
		padding-top: 7.3rem;
	}
	.pageNavi .arrow a {
		font-size: 1.3rem;
	}
	.pageNavi .arrow img {
		margin-left: 1.7rem;
		width: 3.2rem;
	}
	.pageNavi .arrow {
		top: 1.8rem;
	}

	.pageNavi .arrow.prev img {
		margin: 0 1.7rem 0 0;
	}
}


/* pageNaviBox */
.pageNaviBox {
	padding: 3.8rem 6.5rem 3.3rem;
	margin-top: 5.8rem;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	font-weight: 700;
	letter-spacing: 0.1em;
}
.pageNaviBox ul {
	display: flex;
	flex-wrap: wrap;
}
.pageNaviBox ul li {
	margin-right: 5rem;
	position: relative;
}
.pageNaviBox ul li::before {
	position: absolute;
	top: 0;
	left: -3.6rem;
	content: "／";
}
.pageNaviBox ul li:first-child {
	margin-right: 3.4rem;
}
.pageNaviBox ul li:first-child::before,
.pageNaviBox ul li:nth-child(2)::before {
	display: none;
}
@media all and (min-width: 897px) {
	.pageNaviBox a:hover {
		opacity: 0.7;
	}
}
/* comImgBox */
.comImgBox .photoBox img {
	width: 100%;
	border: 1.8rem solid #eaeaea;
	border-right: none;
	border-radius: 9.3rem 0 0 9.3rem;
}
.comImgBox .img {
	margin-bottom: 2.7rem;
}
.comImgBox .img img {
	width: 100%;
}
.comImgBox p {
	margin-bottom: 2.7rem;
	font-size: 1.8rem;
	line-height: 1.76;
}
@media all and (min-width: 897px) {
	.comImgBox {
		margin-bottom: 4rem;
		display: flex;
		justify-content: flex-end;
		gap: 5rem;
	}
	.comImgBox .photoBox {
		width: calc(50% - 3.9rem);
		order: 2;
	}
	.comImgBox .textBox {
		margin: 1.8rem 0 0;
		width: 58.8rem;
	}
}
@media all and (max-width: 896px) {
	.comImgBox {
		padding: 0 3rem 2rem;
	}
	.comImgBox .photoBox {
		margin: 0 -3rem 0 1.5rem;
		float: right;
		width: calc(50% + 2rem);
	}
	.comImgBox .photoBox img {
		border-radius: 2.4rem 0 0 2.4rem;
		border-width: 0.5rem;
	}
	.comImgBox .textBox {
		padding-top: 0.6rem;
	}
	.comImgBox p {
		margin-bottom: 1.1rem;
		font-size: 1.5rem;
	}
	.comImgBox .img {
		margin: 0 0 2.6rem;
		width: calc(50% - 1.1rem);
		aspect-ratio: 293/122;
	}
	.comImgBox .img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

/* comSlideBox */
.comSlideBox {
	margin-bottom: 8.5rem;
	position: relative;
	font-size: 0;
  	line-height: 1;
}
.comSlideBox .arrow li {
	width: 6.8rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.comSlideBox .arrow .prev {
	left: -8.5rem;
}
.comSlideBox .arrow .next {
	right: -8.5rem;
}
.comSlideBox li {
	display: inline-block;
}
.comSlideBox li img {
	width: 100%;
	border-radius: 2.5rem;
}
.comSlideBox .slick-slide > div {
	margin: 0 2rem;
	width: 40rem;
}
.comSlideBox img {
	width: 100%;
}
@media all and (min-width: 897px) and (max-width: 1380px) {
	.comSlideBox .arrow .prev {
		left: -3.6rem;
	}
	.comSlideBox .arrow .next {
		right: -3.6rem;
	}
}
@media all and (min-width: 897px) {
	.comSlideBox .arrow li {
		cursor: pointer;
		transition: 0.3s;
	}
	.comSlideBox .arrow li:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comSlideBox {
		margin: 0 -3rem 2rem;
		padding: 0 0;
	}
	.comSlideBox .slick-list {
		padding: 0 4rem;
	}
	.comSlideBox .slick-slide > div {
		margin: 0 1rem;
		width: 20rem;
	}
	.comSlideBox .arrow li {
		width: 4.2rem;		
	}
	.comSlideBox .arrow .prev {
		left: 1rem;
	}
	.comSlideBox .arrow .next {
		right: 1rem;
	}
	.comSlideBox .slick-slide > div img {
		border-radius: 1.5rem;
	}
}

/* golf */
#golf .mainVisual {
	margin-bottom: 6.8rem;
}
#golf p {
	margin-bottom: 8.1rem;
	font-size: 1.8rem;
	line-height: 1.76;
}
#golf .comImgBox p {
	margin-bottom: 2.7rem;
}
#golf .shopList .img {
	margin-bottom: 2rem;
}
#golf .shopList .img img {
	width: 100%;
}
#golf .shopList h4 {
	margin-bottom: 1.5rem;
	color: #0f4777;
	font-size: 2.6rem;
	/*font-family: "M PLUS 1", sans-serif;*/
	font-weight: 800;
}
#golf .shopList p {
	margin-bottom: 0;
	line-height: 1.52;
}
#golf .snsBox {
	padding-top: 3.1rem;
	position: relative;
	display: flex;
	justify-content: space-between;
}
#golf .snsBox::before {
	width: 100%;
	height: 0.4rem;
	position: absolute;
	left: 0;
	top: 0;
	content: '';
	background: linear-gradient(90deg, #30b5b3 0%, #3a5fb3 100%);
}
#golf .snsBox .link a {
	padding: 1rem 5.7rem;
	display: inline-block;
	color: #0f4777;
	font-size: 2.6rem;
	background: url(img/common/icon05.png) no-repeat left center / 4.4rem;
}
#golf .snsBox .link {
	margin-bottom: 0;
}
#golf .snsList {
	margin: 1rem 0 0;
	display: flex;
	gap: 1.5rem;
	flex-wrap: wrap;
}
#golf .snsList li {
	width: 4.5rem;
}
#golf .snsList .ins {
	width: 4.3rem;
}
#golf .snsList a {
	display: flex;
}
@media all and (min-width: 897px) {
	#golf .shopList {
		margin: -0.5rem 0 9.7rem;
		display: flex;
		gap: 4rem;
		flex-wrap: wrap;
	}
	#golf .shopList li {
		width: 37.3rem;
	}
	#golf .shopList .img img {
		width: 100%;
		border-radius: 2.5rem;
	}
	#golf .snsBox .link a:hover {
		text-decoration: underline;
	}
	#golf .snsList a:hover {
		opacity: 0.7;
	}
	#golf .headLine01 {
		font-size: 4.5rem;
		line-height: 1.47;
	}
}
@media all and (max-width: 896px) {
	#golf .mainVisual {
		margin-bottom: 4.7rem;
	}
	#golf .headLine02 {
		margin-bottom: 5rem;
	}
	#golf .headLine02 img {
		width: 15.8rem;
	}
	#golf p {
		margin-bottom: 2.8rem;
		font-size: 1.5rem;
	}
	#golf .headLine01 {
		font-size: 1.9rem;
		line-height: 1.71;
	}
	#golf .shopList {
		margin-top: 3.5rem;
		padding: 3.6rem 4.1rem;
		border-top: 0.1rem solid #30b5b3;
	}
	#golf .shopList li:not(:last-child) {
		margin-bottom: 3.7rem;
	}
	#golf .shopList .img img {
		border-radius: 1.5rem;
	}
	#golf .shopList h4 {
		margin-bottom: 1.2rem;
		font-size: 1.9rem;
		line-height: 1.71;
		text-align: center;
	}
	#golf .shopList p {
		font-size: 1.5rem;
		line-height: 1.72;
		text-align: center;
	}
	#golf .snsBox {
		padding-top: 2rem;
		display: block;
	}
	#golf .snsBox .link a {
		padding: 0.5rem 4rem;
		font-size: 1.5rem;
		background-size: 3rem;
	}
	#golf .snsList {
		justify-content: flex-end;
	}
	#golf .snsList li {
		width: 3rem !important;
	}
}
/* hotbath */
#hotbath .mainVisual {
	margin-bottom: 6.8rem;
}
#hotbath .text {
	margin-bottom: 8.1rem;
	font-size: 1.8rem;
	line-height: 1.76;
}
#hotbath .headLine02 {
	margin-bottom: 4.9rem;
}
#hotbath .comLinkUl02 {
	margin-bottom: 3rem;
}
#hotbath .comBg {
	margin: -4rem 0 -3.2rem;
	position: relative;
	z-index: -1;
}
#hotbath .comBg01 {
	margin: 6.5rem 0 5rem;
}
#hotbath .comImgBox .textBox {
	margin: -3rem 0 0;
}
#hotbath .comImgBox .logoBox {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 5px;
}
#hotbath .comImgBox .logo01 {
	margin: 0 3rem 0 -2.4rem;
}
#hotbath .comImgBox .sns {
	width: 60px;
    margin-left: 10px;
}
#hotbath .comImgBox .logo02 {
	margin: -2.5rem -1.2rem 4.5rem -0.5rem;
	width: 100%;
}
#hotbath .comImgBox .logo02 img {
	width: 60%;
}
#hotbath .comImgBox p {
	margin-bottom: 2rem;
}
#hotbath .comImgBox .headLine01 {
	margin: 3.7rem 0 1rem;
	font-size: 3rem;
}
#hotbath .comImgBox .address {
	line-height: 1.52;
}
#hotbath .comSlideBox {
	margin-bottom: 8.4rem;
}
#hotbath .device .textList {
	margin: -1rem 0 0;
	display: flex;
	flex-wrap: wrap;	
	gap: 0 4.5rem;
}
#hotbath .device .textList li {
	padding: 1.5rem 0 1.5rem 1.5rem;
	width: calc((100% - 9rem)/3);
	font-size: 1.8rem;
	position: relative;
	letter-spacing: 0.1rem;
	border-bottom: 0.1rem solid #d1d1d1;
}
#hotbath .device .textList li::before {
	margin-top: -0.2rem;
	position: absolute;
	left: 0;
	top: 50%;
	width: 0.6rem;
	height: 0.6rem;
	content: '';
	background-color: #2ea2a6;
}
#hotbath .comImgBox .logoBox .sns a {
	display: inline-block;
}
#hotbath .comImgBox .logoBox .sns a:hover {
	opacity: 0.7;
}
@media all and (min-width: 897px) {
	#hotbath .comImgBox .address a:hover {
	    text-decoration: underline;
	}
}
@media all and (max-width: 896px) {
	#hotbath .comImgBox .photoBox {
		width: calc(50% + 1.4rem);
	}
	#hotbath .mainVisual {
		margin-bottom: 4.6rem;
	}
	#hotbath  .headLine02 {
		margin-bottom: 3.5rem;
		display: block;
	}
	#hotbath  .headLine02 img {
		width: 29.4rem;
	}
	#hotbath  .headLine02 span {
		margin: 0.6rem 0 0;
		display: block;
	}
	#hotbath .comLinkUl02 a {
		height: 4rem;
	}
	#hotbath .text {
		margin-bottom: 0;
		font-size: 1.5rem;
	}
	#hotbath .comBg {
		margin: -6rem 0 -7.5rem;
	}
	.comImgBox .photoBox {
		margin-bottom: 1rem;
		width: calc(50% + 2rem);
	}
	#hotbath .comImgBox .logoBox {
		margin: 0 0 2.5rem;
		flex-wrap: wrap;
	}
	#hotbath .comImgBox .logoBox .sns {
		margin: 0 0.2rem;
		width: 100%;
	}
	#hotbath .comImgBox .logoBox .sns img {
		width: 3.1rem;
	}
	#hotbath .comImgBox .logo01 {
		margin: 2.1rem -1.6rem -1rem -0.7rem;
	}
	#hotbath .comImgBox p {
		margin-bottom: 1.4rem;
		line-height: 1.64;
	}
	#hotbath .comImgBox .headLine01 {
		font-size: 1.9rem;
	}
	#hotbath .comSlideBox {
		margin-bottom: 2.4rem;
	}
	#hotbath .comSlideBox .slick-slide > div {
		width: 25rem;
		margin: 0 1.3rem;
	}
	#hotbath .headLine01 {
		font-size: 1.9rem;
	}
	#hotbath .device .textList {
		display: block;
	}
	#hotbath .device .textList li {
		padding: 0.7rem 0 0.7rem 1.5rem;
		width: 100%;
		font-size: 1.4rem;
	}
	#hotbath .device .textList li::before {
		left: 0.7rem;
		width: 0.4rem;
		height: 0.4rem;
	}
	#hotbath .comBg01 {
		margin: 2rem 0 2.5rem;
	}
	#hotbath .comBg img {
		width: 100%;
		height: auto;
	}
	#hotbath .comImgBox .logo02 {
		margin: 1.5rem 0 0.5rem;
	}
	#hotbath .comImgBox .logo02 img {
		max-width: 10.5rem;
	}
}


/* comLinkUl02 */
.comLinkUl02 {
	margin-bottom: 7.7rem;
	gap: 3.4rem;
	display: flex;
	flex-wrap: wrap;
	position: relative;
	z-index: 10;
}
.comLinkUl02 li {
	width: 43.2rem;
}
.comLinkUl02 a {
	color: #0f4777;
	font-size: 2.2rem;
	font-weight: 800;
	height: 8.7rem;
	border: 2px solid #b9b9b9;
	border-radius: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.05em;
	padding-bottom: 0.2rem;
	font-family: "M PLUS 1", sans-serif;
}
.comLinkUl02.row3 li {
	width: calc((100% - 6.8rem)/3);
}
@media all and (min-width: 897px) {
	.comLinkUl02 a:hover {
		color: #fff;
		background-color: #0f4777;
	}
}
@media all and (max-width: 896px) {
	.comLinkUl02 li {
		width: calc(50% - 0.4rem);
	}
	.comLinkUl02 {
		margin-bottom: 3rem;
		gap: 2rem 0;
		justify-content: space-between;
	}
	.comLinkUl02 a {
		padding-bottom: 0;
		height: 5.8rem;
		line-height: 1.3;
		border-width: 1px;
		border-radius: 0.5rem;
		text-align: center;
		font-size: 1.3rem;
	}
	.comLinkUl02 .arrow {
		padding-right: 4.5rem !important;
		background: url("img/common/icon06.png") no-repeat right 2.4rem center / 1.8rem auto;
	}
	.comLinkUl02.row3 {
		gap: 0.7rem 0;
	}
	.comLinkUl02.row3 li {
		width: 100%;
	}
	.comLinkUl02.row3 a {
		font-size: 1.5rem;
		justify-content: flex-start;
		height: 4.1rem;
		padding: 0 2rem;
		letter-spacing: 0;
	}
}

/* headLine05 */
.headLine05 {
	margin-bottom: 2.1rem;
	color: #0f4777;
	font-size: 5.5rem;
	font-family: "M PLUS 1", sans-serif;
	font-weight: 800;
}
.headLine05 small {
	margin-top: 2.2rem;
	display: block;
	color: #0eb4cd;
	font-size: 3rem;
}
@media all and (max-width: 896px) {
	.headLine05 {
		margin-bottom: 0.8rem;
		font-size: 1.9rem;
	}
	.headLine05 small {
		margin-top: 0.5rem;
		line-height: 1.6;
		font-size: 1.5rem;
		letter-spacing: -0.05em;
	}
}
/* products */
#products .mainVisual {
	margin-bottom: 6.9rem;
}
#products .headLine02 {
	margin-bottom: 3.3rem;
	display: block;
}
#products .headLine02 span {
	display: block;
	margin: 2rem 0 0 0;
}
#products .sec01 .photo {
	margin: 30px auto 0 auto;
	max-width: 120rem;
}
#products .sec01 .photo img {
	width: 100%;
}
#products .sec01 .h3Title {
	margin-bottom: 1.1rem;
	text-align: center;
	color: #182073;
	font-weight: 900;
	font-size: 6.913rem;
	line-height: 1.22;
	position: relative;
	letter-spacing: -0.05em;
}
#products .sec01 .h3Title::after {
	margin-top: 2.5rem;
	width: 100%;
	height: 0.7rem;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-color: #e4e4e4;
	content: "";
}
#products .sec01 .h3Title .inner {
	display: inline-block;
	vertical-align: top;
	padding: 0 2rem;
	background-color: #fff;
	position: relative;
	z-index: 10;
}
#products .sec01 .h3Title small {
	margin-bottom: 0.8rem;
	display: block;
	color: #0896b0;
	font-size: 2.8rem;
	font-weight: 800;
	letter-spacing: 0;
}
#products .comBg {
	margin: -16.3rem 0 6.2rem;
}
#products .headLine03 {
	margin-bottom: 5.1rem;
	z-index: 10;
}
#products .headLine03 .en {
	margin-bottom: 0.7rem;
	font-size: 10rem;
}
#products .headLine03 img {
	width: 102rem;
	top: -10.6rem;
	left: 17.2rem;
}
#products .comLinkUl02.row3 {
	margin-bottom: 5.3rem;
}
#products .showBox {
	margin-bottom: 6.5rem;
	border: 0.2rem solid #b9b9b9;
	border-radius: 3rem;
	padding: 5.7rem 6.2rem 3.5rem;
	position: relative;
}
#products .box03 {
	margin-bottom: 0 !important;
}
#products .showBox::before {
	width: 5.3rem;
	height: 9.8rem;
	position: absolute;
	top: 7.4rem;
	right: calc(100% + 0.2rem);
	background-color: #0eb4cd;
	content: "";
}
#products .topBox p {
	font-size: 1.8rem;
	line-height: 1.76;
	letter-spacing: 0.05em;
}
#products .topBox {
	margin-bottom: 6.8rem;
}
#products .listUl {
	display: flex;
	font-size: 1.7rem;
	flex-wrap: wrap;
	overflow: hidden;
}
#products .listUl > li {
	padding: 3rem 2rem 3rem 0;
	width: 50%;
	display: flex;
	position: relative;
}
#products .listUl > li::before {
	width: 999.9rem;
	height: 1px;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #75e5f6;
	content: "";
}
#products .listUl > li:nth-child(2n) {
	padding: 3rem 0 3rem 2rem;
}
#products .listUl > li:first-child,
#products .listUl > li:nth-child(2) {
	padding-top: 0;
}
#products .listUl > li:first-child::before,
#products .listUl > li:nth-child(2)::before {
	display: none;
}
#products .listUl p {
	margin-bottom: 2.8rem;
	letter-spacing: 0.05em;
	text-align: justify;
	line-height: 1.6;
}
#products .listUl p:last-child {
	margin-bottom: 0;
}
#products .listUl .headLine05 {
	margin: 0 -3rem 1.4rem 0;
	font-size: 3rem;
	color: #0f4777;
	line-height: 1.23;
}
#products .listUl .headLine05 small {
	margin: 2.3rem 3rem 0 0;
	color: #242526;
	font-size: 2rem;
	line-height: 1.4;
}
#products .listUl .photo {
	width: 20rem;
	flex-shrink: 0;
	margin-right: 1.3rem;
}
#products .listUl .textBox {
	flex: 1;
	margin: -0.7rem 0 0 0;
}
#products .listUl .comBtn02 a {
	max-width: 30.4rem;
	width: auto;
}
#products .txtUl {
	padding-top: 0.6rem;
	font-size: 1.7rem;
	line-height: 1.529;
}
#products .txtUl li {
	padding-left: 1em;
	text-indent: -1em;
}
#products .box02 .listUl .heightBox {
	min-height: 23.3rem;
}
#products .box03 .btmBox {
	border-top: 1px solid #75e5f6;
	padding: 3.2rem 0 2.9rem;
	margin-top: -3.2rem;
}
#products .box03 .btmBox .headLine05 {
	margin-bottom: 5.1rem;
	text-align: center;
	font-size: 3rem;
	line-height: 1.333;
}
#products .box03 .comBtn02 {
	margin-top: 3.6rem;
}
#products .box03 .comBtn02 a {
	max-width: 60.6rem;
	width: auto;
	margin: 0 auto;
}
#products .txtUl02 {
	color: #242526;
	display: flex;
	flex-wrap: wrap;
	font-size: 2rem;
	font-weight: 700;
	margin-left: 7.8rem;
} 
#products .txtUl02 > li {
	width: 43.1%;
}
#products .txtUl02 > li:nth-child(3n - 1) {
	width: 32.6%;
}
#products .txtUl02 > li:nth-child(3n) {
	width: 24.3%;
}
#products .txtUl02 ul li {
	margin-bottom: 1rem;
	padding-left: 2rem;
	position: relative;
}
#products .txtUl02 ul li:last-child {
	margin-bottom: 0;
}
#products .txtUl02 ul li::before {
	width: 0.8rem;
	height: 0.8rem;
	position: absolute;
	top: 1.2rem;
	left: 0;
	background-color: #0eb4cd;
	content: "";
}

#products .box03 .topBox_IsuiYosui {
	display: flex;
}
#products .box03 .topBox_IsuiYosui .topBox_IsuiYosuiIn01 {
	width: 75%;
}
#products .box03 .topBox_IsuiYosui .topBox_IsuiYosuiPhoto {
	width: 25%;
}
#products .box03 .topBox_IsuiYosui .topBox_IsuiYosuiPhoto img {
	width: 75%;
}

@media all and (max-width: 896px) {
	#products .mainVisual {
		margin-bottom: 4.6rem;
	}
	#products .headLine02 img {
		width: 31.4rem;
	}
	#products .headLine02 span {
		margin: 1rem 0 0 0;
	}
	#products .headLine02 {
		margin-bottom: 2.6rem;
	}
	#products .sec01 .h3Title {
		margin: 0 -3rem 1.2rem;
		font-size: 3.4rem;
	}
	#products .sec01 .h3Title small {
		margin-bottom: 0.4rem;
		font-size: 1.4rem;
	}
	#products .sec01 .h3Title .inner {
		padding: 0 1rem;
	}
	#products .sec01 .h3Title::after {
		margin-top: 1.3rem;
		height: 0.4rem;
	}
	#products .comBg {
		margin: -5.4rem 0 3.2rem;
	}
	#products .sec01 .photo {
		margin: 0 -1.8rem 0 -4rem
	}
	#products .comBg img {
		height: 14.1rem;
	}
	#products .headLine03 .en {
		margin-bottom: 0.7rem;
		font-size: 4rem;
	}
	#products .headLine03 img {
		width: 40.8rem;
		top: -4.2rem;
		left: 6.8rem;
	}
	#products .headLine03 {
		margin-bottom: 2.1rem;
	}
	#products .showBox {
		padding: 2.3rem 2rem;
		border-width: 1px;
		border-radius: 0.5rem;
	}
	#products .comLinkUl02.row3 {
		margin-bottom: 2.8rem;
	}
	#products .showBox::before {
		width: 5.3rem;
		height: 3.8rem;
		top: 2rem;
		right: calc(100% + 1px);
	}
	#products .topBox p {
		font-size: 1.4rem;
		line-height: 1.85;
		letter-spacing: 0.05em;
	}
	#products .listUl {
		display: block;
		font-size: 1.3rem;
	}
	#products .listUl > li {
		padding: 2.2rem 0 2.6rem 0 !important;
		width: auto;
		display: block;
		border-top: 1px solid #75e5f6;
	}
	#products .listUl > li::before {
		display: none;
	}
	#products .listUl .photo {
		margin: 0 0 1.5rem;
		display: flex;
		width: auto;
		align-items: center;
	}
	#products .listUl .photo img {
		width: 37%;
		max-width: inherit;
		height: auto;
		flex-shrink: 0;
	}
	#products .listUl .headLine05 {
		font-size: 1.5rem;
		margin: 0 0 1.4rem 0;
	}
	#products .listUl .photo .headLine05 {
		flex: 1;
		margin: 0 0 0 1.5rem;
	}
	#products .topBox {
		margin-bottom: 2.9rem;
	}
	#products .listUl .headLine05 small {
		margin: 1rem 0 0 0;
		font-size: 1.4rem;
		line-height: 1.4;
	}
	#products .listUl .textBox {
		margin: 0;
	}
	#products .listUl p {
		line-height: 2;
	}
	#products .listUl .comBtn02 a {
		width: auto;
	}
	#products .txtUl {
		font-size: 1.3rem;
	}
	#products .box02 .listUl .heightBox {
		min-height: 0;
	}
	#products .box03 .btmBox .headLine05 {
		font-size: 1.5rem;
		line-height: 1.6;
		margin-bottom: 2rem;
	}
	#products .txtUl02 {
		display: block;
		font-size: 1.4rem;
		margin-left: 0;
	}
	#products .txtUl02 > li {
		width: auto !important;
	}
	#products .txtUl02 ul li {
		margin-bottom: 0.5rem;
		padding-left: 1rem;
	}
	#products .txtUl02 ul li:last-child {
		margin-bottom: 0;
	}
	#products .box03 .btmBox {
		padding: 2.1rem 0;
		margin-top: -0.8rem;
	}
	#products .txtUl02 ul li::before {
		width: 0.4rem;
		height: 0.4rem;
		top: 1rem;
		left: 0.1rem;
	}
}


/* support */
#support .mainVisual {
	margin-bottom: 6.9rem;
}
#support .headLine02 {
	margin-bottom: 3.3rem;
	display: block;
}
#support .headLine02 span {
	display: block;
	margin: 2rem 0 0 0;
}
#support .comBg {
	margin-top: -10.6rem;
}
#support .sec01 {
	margin-bottom: 7.1rem;
}
#support .sec02 .headLine03 .en {
	margin: 0 -8rem 0.7rem 0;
	font-size: 10rem;
}
#support .sec02 .headLine03 img {
	width: 97.2rem;
	top: -10.5rem;
  	left: 16rem;
}
#support .sec02 .imgBox {
	margin-top: -0.1rem;
	font-size: 1.8rem;
	display: flex;
	align-items: flex-start;
}
#support .sec02 .imgBox .headLine05 {
	margin-bottom: 0.4rem;
	font-size: 4.5rem;
}
#support .sec02 .imgBox p {
	margin-bottom: 3.8rem;
	line-height: 1.76;
	letter-spacing: 0.05em;
}
#support .sec02 .imgBox p:last-child {
	margin-bottom: 0;
}
#support .sec02 .imgBox .photoBox {
	margin: -0.4rem 0 0 6rem;
	width: calc(50% - 13.5rem);
	color: #333;
	background-color: #eaeaea;
	padding: 1.8rem 0 1.8rem 1.8rem;
	border-radius: 9.5rem 0 0 9.5rem;
	order: 3;
}
#support .sec02 .imgBox .photoBox img {
	width: 100%;
	border-radius: 7.5rem 0 0 7.5rem;
}
#support .sec02 .imgBox .textBox {
	flex: 1;
	text-align: justify;
}
#support .sec02 .imgBox .widBox {
	max-width: 67.6rem;
	margin-left: auto;
}
#support .sec03 .headLine05 {
	margin-bottom: 1.9rem;
	font-size: 4.5rem;
}
#support .sec02 {
	margin-bottom: 6.5rem;
}
#support .showBox {
	padding: 2.8rem 6.2rem 3.7rem;
	color: #fff;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.75;
	background : linear-gradient(90deg, #3fb98a 0%, #0d8a90 100%);
	overflow: hidden;
	border-radius: 2.5rem;
	position: relative;
}
#support .showBox ul,
#support .showBox .headLine05 {
	position: relative;
	z-index: 10;
}
#support .showBox .image {
	width: 30rem;
	position: absolute;
	top: -1.7rem;
	right: -1.8rem;
	transform: rotate(-2.5deg);
	opacity: 0.8;
}
#support .showBox .image img {
	width: 100%;
}
#support .showBox .headLine05 {
	margin-bottom: 0.2rem;
	color: #fff;
	font-size: 4rem;
}
#support .showBox .txtUl {
	margin-left: 4.3rem;
}
#support .listUl {
	margin-top: 3.4rem;
	display: flex;
	gap: 4rem;
}
#support .listUl li {
	padding: 1rem;
	height: 18rem;
	width: calc((100% - 8rem) / 3);
	display: flex;
	align-items: center;
	justify-content: center;
}
#support .listUl .headLine05 {
	margin-bottom: 0;
	text-align: center;
	font-size: 3rem;
	line-height: 1.5;
}
#support .listUl .image {
	width: 19.4rem;
	opacity: 1;
}
#support .listUl .box02 .headLine05,
#support .listUl .box04 .headLine05 {
	line-height: 1.7;
}
@media all and (min-width: 897px) {
	#support .listUl .box02 .image {
		top: 1.3rem;
		transform: rotate(-14.5deg);
	}
	#support .listUl .box03 .image {
		top: 2.2rem;
		transform: rotate(1.5deg);
		width: 18.6rem;
		right: -0.9rem;
	}
	#support .listUl .box04 .image {
		top: 2.5rem;
		transform: rotate(4.5deg);
		width: 21.6rem;
		right: -2.1rem;
	}
}
@media all and (max-width: 896px) {
	#support .sec02 .imgBox .widBox {
		max-width: inherit;
		margin-left: 0;
	}
	#support .sec02 .imgBox {
		color: #000;
		display: block;
		font-size: 1.5rem;
		margin: 0 3.2rem;
	}
	#support .sec02 .imgBox .photoBox {
		width: 17.6rem;
		float: right;
		margin: 0.2rem -3.2rem 0 3.1rem;
		padding: 0.5rem 0 0.5rem 0.5rem;
		border-radius: 3rem 0 0 3rem;
	}
	#support .sec02 .imgBox p {
		margin-bottom: 2.7rem;
		line-height: 1.76;
		letter-spacing: 0;
	}
	#support .sec02 .imgBox .photoBox img {
		border-radius: 2.5rem 0 0 2.5rem;
	}
	#support .headLine02 img {
		width: 31.5rem;
	}
	#support .mainVisual {
		margin-bottom: 4.6rem;
	}
	#support .headLine02 span {
		margin: 1rem 0 0 0;
	}
	#support .headLine02 {
		margin-bottom: 2.6rem;
	}
	#support .comBg img {
		height: 14.8rem;
	}
	#support .comBg {
		margin-top: -3.6rem;
	}
	#support .sec02 .headLine03 .en {
		margin: 0 0 0.7rem 0;
		font-size: 3.9rem;
		line-height: 1.08;
	}
	#support .sec01 {
		margin-bottom: 3.1rem;
	}
	#support .sec02 .headLine03 img {
		width: 24.4rem;
		top: -2.7rem;
		left: 6rem;
	}
	#support .sec02 .imgBox .headLine05 {
		margin-bottom: 0.7rem;
		font-size: 1.9rem;
		line-height: 1.71;
	}
	#support .sec02 .headLine03 {
		margin-bottom: 3.5rem;
	}
	#support .sec03 .headLine05 {
		margin-bottom: 1.4rem;
		font-size: 1.7rem;
	}
	#support .sec03 .showBox {
		padding: 1.8rem 2.6rem 2.3rem;
		background : linear-gradient(90deg, rgba(120, 218, 169, 1) 0%, rgba(76, 164, 168, 1) 100%);
		border-radius: 0.5rem;
		line-height: 1.75;
		font-size: 1.4rem;
	}
	#support .listUl {
		display: block;
		margin-top: 1.1rem;
	}
	#support .listUl li {
		margin-bottom: 2rem;
		width: auto;
		height: auto;
		display: block;
	}
	#support .listUl li:last-child {
		margin-bottom: 0;
	}
	#support .sec02 {
		margin-bottom: 2.6rem;
	}
	#support .sec03 .showBox .headLine05 {
		margin-bottom: 0.7rem;
	}
	#support .showBox .txtUl {
		margin-left: 2rem;
	}
	#support .showBox .txtUl li {
		position: relative;
	}
	#support .showBox .txtUl li::before {
		width: 0.6rem;
		height: 0.6rem;
		position: absolute;
		top: 0.9rem;
		left: -1.4rem;
		border-radius: 50%;
		background-color: #fff;
		content: "";
	}
	#support .sec03 .listUl .headLine05 {
		margin-bottom: 0;
		text-align: left;
	}
	#support .sec03 .listUl li {
		margin-bottom: 1.2rem;
		padding-bottom: 2rem;
	}
	#support .sec03 .listUl li:last-child {
		margin-bottom: 0;
	}
	#support .sec03 .listUl .box03 .headLine05 {
		line-height: 1.75;
	}
	#support .showBox .image {
		width: 15.1rem;
		top: -0.2rem;
		right: -4.3rem;
		transform: rotate(0);
		opacity: 0.8;
	}
	#support .listUl .image {
		width: 10rem;
		right: -0.6rem;
		top: -0.9rem;
	}
	#support .listUl .box03 .image {
		top: 1.7rem;
  		right: -0.9rem;
	}
	#support .listUl .box04 .image {
		top: 0.3rem;
	}
}

/* relaxation */
#relaxation {
	font-feature-settings: normal;
}
#relaxation .sec01 .text {
	font-size: 1.8rem;
	line-height: 1.761;
	font-feature-settings: normal;
	position: relative;
	z-index: 1;
}
#relaxation .secBox {
	position: relative;
	z-index: 1;
}
#relaxation .secBox .headLine03 img {
	width: auto;
	height: 16.5rem;
	left: 16.5rem;
	top: -10.5rem;
}
#relaxation .secBox .imgBox {
	margin-bottom: 6.7rem;
	display: flex;
	justify-content: space-between;
}
#relaxation .secBox .textBox {
	margin-left: calc((100% - 120rem) / 2);
	flex: 1;
	font-size: 1.8rem;
	line-height: 1.761;
	text-align: justify;
	font-feature-settings: normal;
}
#relaxation .secBox .imgBox .photoBox {
	margin:-16.9rem 0 0 4rem;
	width: calc(50% - 13.8rem);
	border-radius: 9.2rem 0 0 9.2rem;
	border: 1.8rem solid #eaeaea;
	border-right: none;
	background-color: #eaeaea;
	overflow: hidden;
	position: relative;
	z-index: 2;
}
#relaxation .secBox .photoBox img {
	width: 100%;
}
#relaxation .secBox .list {
	margin-bottom: 9.9rem;
	line-height: 1.578;
	border-radius: 3.6rem;
	overflow: hidden;
	color: #fff;
	text-align: center;
	background: linear-gradient( 90deg, rgb(77,221,165) 0%, rgb(15,165,170) 100%);
}
#relaxation .secBox .list li {
	padding: 2.8rem 3.5rem 2rem;
	position: relative;
}
#relaxation .secBox .list li:first-of-type::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: rgba(59, 62, 88, 0.369);
}
#relaxation .secBox .list h3 span {
	position: relative;
	z-index: 1;
}
#relaxation .secBox .list h3 .en {
	display: block;
}
#relaxation .secBox .list .jp {
	font-size: 3.2rem;
}
#relaxation .secBox .list .en {
	font-size: 1.8rem;
	font-weight: 400;
	opacity: 0.46;
	font-family: "M PLUS 1", sans-serif;
}
#relaxation .secBox .list .txt {
	font-size: 1.9rem;
	position: relative;
	width: 33.33%;
}
#relaxation .secBox .list .txt::after {
	background: #fff;
	content: "";
	width: 0.2rem;
	top: 0.5rem;
	bottom: 0.5rem;
	position: absolute;
	right: 0;
}
#relaxation .secBox .list .txt:last-of-type::after {
	display: none;
}
#relaxation .secBox .list .item {
	padding: 2.6rem 0.6rem 3.1rem;
	display: flex;
	font-weight: 700;
	justify-content: space-between;
}
#relaxation .secBox .infoBox {
	margin-bottom: 5rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 6.4rem;
}
#relaxation .secBox .infoBox.last {
	margin-bottom: 9rem;
}
#relaxation .secBox .infoBox .photoBox {
	width: 46.4rem;
	border-radius: 2.6rem;
	overflow: hidden;
}
#relaxation .secBox .infoBox .textBox {
	margin: -1rem 0 0;
	text-align: justify;
} 
#relaxation .secBox .infoBox .headLine01 {
	margin-bottom: 1.4rem;
}
#relaxation .secBox .listBox .headLine01 {
	margin-bottom: 3.5rem;
	font-size: 3.4rem;
}
#relaxation .secBox .listBox .headLine01 small{
	margin-top: 1rem;
	font-size: 1.8rem;
	font-weight: 500;
	display: block;
	color: #242526;
}
#relaxation .secBox .listBox .listUl {
	display: flex;
	flex-wrap: wrap;
	gap: 4.9rem 8.4rem;
}
#relaxation .secBox .listBox .listUl li {
	width: calc((100% - 16.8rem) / 3);
}
#relaxation .secBox .listBox li h4 {
	margin-bottom: 0.4rem;
	padding-bottom: 1.4rem;
	font-size: 2rem;
	color: #0f776c;
	letter-spacing: 0.05em;
	position: relative;
}
#relaxation .secBox .listBox li h4::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 0.3rem;
	background: linear-gradient(90deg, rgb(21,165,153) 0%, rgb(40,97,184) 100%);
}
#relaxation .secBox .listBox li p {
	font-size: 1.8rem;
	line-height: 2;
	color: #4a4a4a;
}
#relaxation .secBox .image {
	margin-bottom: 6.1rem;
}
#relaxation .secBox .innBox .headLine01 {
	margin-bottom: 1.4rem;
}
#relaxation .secBox .innBox p + p {
	margin-top: 3.7rem;
}
#relaxation .secBox .imgList {
	margin-top: 4.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 3.3rem 4rem;
}
#relaxation .secBox .imgList li {
	width: calc((100% - 8rem) / 3);
	border-radius: 2.6rem;
	overflow: hidden;
}
#relaxation .secBox .imgList li img {
	width: 100%;
}
#relaxation .comBg.bg01 img {
	height: 37.6rem;
}
#relaxation .comBg.bg01 .dot {
	width: 41.6rem;
	right: -0.5rem;
	bottom: -0.7rem;
}
@media all and (min-width: 897px) {
	#relaxation .mainVisual {
		margin-bottom: 6.8rem;
	}
	#relaxation .sec01 .headLine02 {
		margin-bottom: 3.5rem;
	}
	#relaxation .sec01 .comLinkUl02 {
		margin-bottom: 4.7rem;
	}
	#relaxation .comBg {
		margin: -5.4rem 0 8.2rem;
	}
	#relaxation .secBox .headLine03 .en {
		margin-bottom: 0.7rem;
		font-size: 10rem;
	}
	#relaxation .secBox .headLine03 {
		margin-bottom: 4.3rem;
	}
	#relaxation .secBox .headLine01 {
		margin-bottom: 2.4rem;
		font-size: 3rem;
		line-height: 1.333;
		letter-spacing: 0;
	}
	#relaxation .comBg.bg01 {
		margin: 4.5rem 0 11.1rem;
	}
}
@media all and (max-width: 896px) {
	#relaxation .mainVisual {
		margin-bottom: 4.5rem;
	}
	#relaxation .headLine02 {
		margin-bottom: 3.7rem;
		display: block
	}
	#relaxation .headLine02 span {
		margin-left: 0;
		margin-top: 1.4rem;
		display: block;
	}
	#relaxation .headLine02 img {
		width: 31.5rem;
	}
	#relaxation .sec01 .text {
		font-size: 1.5rem;
		line-height: 1.73333;
		letter-spacing: 0.025em;
		text-align: justify;
		font-feature-settings: "palt";
	}
	#relaxation .comLinkUl02 {
		margin-bottom: 2.6rem;
	}
	#relaxation .comBg {
		margin-bottom: 2.7rem;
	}
	#relaxation .comBg.bg01 {
		margin: 2rem 0 1.2rem;
	}
	#relaxation .secBox .headLine03 {
		margin-bottom: 4.4rem;
	}
	#relaxation .secBox .headLine03 .en {
		margin-bottom: 0.2rem;
	}
	#relaxation .secBox .headLine03 img {
		height: 6.5rem;
		left: 6.8rem;
		top: -4.2rem;
	}
	#relaxation .secBox .textBox {
		margin: 0 3rem;
		font-size: 1.5rem;
		line-height: 1.73333;
		letter-spacing: 0.025em;
		font-feature-settings: "palt";
	}
	#relaxation .secBox .headLine01 {
		font-size: 1.9rem;
		line-height: 1.71;
	}
	#relaxation .secBox .imgBox {
		margin-bottom: 1.7rem;
		position: relative;
	}
	#relaxation .secBox .imgBox .photoBox {
		position: absolute;
		right: 0;
		top: -4vw;
		margin: 0;
		width: 47.2vw;
		border-width: 0.6rem;
		border-radius: 3rem 0 0 3rem;
	}
	#relaxation .secBox .imgBox .headLine01 {
		margin-bottom: 0.3rem;
		width: 50%;
		min-height: 38.9333vw;
	}
	#relaxation .secBox .list {
		margin-bottom: 3rem;
		border-radius: 0.6rem;
		border: 1px solid #B9B9B9;
		background: linear-gradient(to right,#78DAA9 0%,#4CA4A8 100%);
	}
	#relaxation .secBox .list li {
		padding: 1.4rem 1.5rem;
	}
	#relaxation .secBox .list .jp {
		margin-bottom: 0.3rem;
		line-height: 1.75;
		font-size: 1.7rem;
	}
	#relaxation .secBox .list .en {
		font-size: 1.2rem;
		letter-spacing: 0.1em;
	}
	#relaxation .secBox .list .item {
		padding: 2.2rem 2.3rem 1.6rem;
		display: block;
	}
	#relaxation .secBox .list h3 .en {
		margin-top: 0.3rem;
	}
	#relaxation .secBox .list .txt {
		margin: 0 0 1.5rem;
		padding: 0 0 1.7rem;
		font-size: 1.4rem;
		line-height: 1.75;
		letter-spacing: 0.05em;
		font-weight: 400;
		border-bottom: 1px solid #fff;
		font-feature-settings: "palt";
		width: auto;
	}
	#relaxation .secBox .list .txt:last-of-type {
		border: none;
		margin-bottom: 0;
	}
	#relaxation .secBox .list .txt::after {
		display: none;
	}
	#relaxation .secBox .infoBox {
		margin-bottom: 3rem;
		display: block;
	}
	#relaxation .secBox .infoBox .photoBox {
		margin: 0 auto;
		width: 62vw;
		border-radius: 1.3rem;
	}
	#relaxation .secBox .infoBox .textBox {
		margin: 1.6rem 0 0;
	}
	#relaxation .secBox .infoBox .headLine01 {
		margin-bottom: 0.8rem;
		text-align: center;
	}
	#relaxation .secBox .infoBox.last {
		margin-bottom: 7rem;
	}
	#relaxation .secBox .listBox {
		border-top: 1px solid #51b2ca;
		padding-top: 3rem;
	}
	#relaxation .secBox .listBox .headLine01 {
		margin-bottom: 2.6rem;
		font-size: 1.9rem;
		text-align: center;
	}
	#relaxation .secBox .listBox .headLine01 small {
		font-size: 1.5rem;
		letter-spacing: 0.025em;
		line-height: 1.7333;
	}
	#relaxation .secBox .listBox .listUl {
		margin: 0 2rem;
		display: block;
	}
	#relaxation .secBox .listBox .listUl li {
		width: 100%;
	}
	#relaxation .secBox .listBox li h4 {
		margin-bottom: 1.4rem;
		padding-bottom: 0.6rem;
		font-size: 1.6rem;
		letter-spacing: 0;
	}
	#relaxation .secBox .listBox li h4::after {
		background: #0F776C;
		height: 0.2rem;
	}
	#relaxation .secBox .listBox li p {
		font-size: 1.4rem;
		line-height: 1.857;
		letter-spacing: 0.02em;
		font-feature-settings: "palt";
	}
	#relaxation .secBox .listBox li + li {
		margin-top: 2.2rem;
	}
	#relaxation .sec03 .imgBox .headLine01 {
		min-height: 49.5vw;
	}
	#relaxation .sec03 .imgBox {
		margin-bottom: 2.4rem;
	}
	#relaxation .secBox .innBox {
		margin: 0;
	}
	#relaxation .secBox .image {
		margin: 0 0.1rem 3rem;
	}
	#relaxation .secBox .innBox .headLine01 {
		margin-bottom: 1.3rem;
	}
	#relaxation .secBox .innBox p + p {
		margin-top: 1rem;
	}
	#relaxation .secBox .imgList {
		margin: 2.9rem -3rem 0;
	}
	#relaxation .secBox .imgList li {
		margin: 0 0.7rem;
		width: 14.2rem !important;
		border-radius: 1.2rem;
	}
	#relaxation .comBg.bg01 .dot {
		width: 19.6rem;
		right: -0.5rem;
		bottom: -0.7rem;
	}
}