@charset "utf-8";
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {
margin: 0;padding: 0;border: 0;font-style:normal;font-weight: normal;font-size: 100%;vertical-align: baseline;}
body {
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	color: #111;letter-spacing: 0;font-feature-settings: "pkna" 1;font-kerning: auto;-webkit-font-smoothing: antialiased;background: #fefefe;
}
html {font-size: 62.5%;}
ul ,ol {list-style: none;}
a:link ,a:visited {color: #111;text-decoration: none;}
img {width: auto;max-width: 100%;height: auto;vertical-align: bottom;}
main {display: block;}
*.sp {display: none;}
#tmp {
	position: fixed;bottom: 20px;left: 20px;z-index: 1000;
	background: rgba(255, 255, 255, .7);display: inline-block;
	padding: 3px 10px;border-radius: 8px;
	font-size: 1.2em;line-height: 1.4;font-weight: 600;letter-spacing: 0;
}
/* ドラッグ背景 */
::selection {background: #A0CCD1;color: #fff}
::-moz-selection {background: #A0CCD1;color: #fff}
:root {
	--color-primary: #095C90;
	--color-secondary: #1F90D6;
	--color-tertiary: #F9F9F9;
	--color-t-parimary: #111;
	--color-t-secondary: #fff;
	--color-t-tertiary: #A0A0A0;
}

.wrap {
	width: 1200px;margin: 0 auto;padding: 0 50px;
	box-sizing: border-box;
}
.flex {display: flex;flex-wrap: wrap;}
main {margin: 115px 0 0;}
main.index {margin: 135px 0 0;}
main section {padding: 75px 0;}
p {font-size: 2rem;line-height: 2;}

main.index h2 {
	font-size: 6.4rem;line-height: 1.4;font-weight: 500;text-align: center;
	margin: 0 0 60px;width: 100%;
}

.col2 {
	display: flex;flex-wrap: wrap;gap: 100px;
	padding: 65px 0;
}
.col2 .box {
	width: 500px;order: 1;
}
.col2.right .box:nth-of-type(1) {
	width: 500px;order: 2;
}
.col2 .box h3 {
	font-size: 4.6rem;line-height: 1.4;font-weight: 500;
	margin: 0 0 30px;
}
.col2 .box p {
	margin: 40px 0 0;
}
.col2 .box p:first-child {margin: 0}
.col3 {
	display: flex;flex-wrap: wrap;gap: 5px;
	padding: 65px 50px;
}
.col3 .box {
	width: 330px;
}
.col3 .box img {
	width: 330px;
}
.col3 .more {width: 100%}

section dl.dd {
	width: 650px;margin: 120px auto 50px;display: flex;flex-wrap: wrap;
	font-size: 2rem;line-height: 1.6;
	border-bottom: solid 1px #111;
}
section dl.dd dt ,section dl.dd dd {
	padding: 33px 0;border-top: solid 1px #111;
}
section dl.dd dt {
	width: 150px;border-top: solid 1px #111;
}
section dl.dd dd {
	width: 500px;border-top: solid 1px #111;
}
section em.center {
	display: block;text-align: center;
	font-size: 2rem;
}
section em.center a {
	text-decoration: underline;
}

ul.submenu {
	display: flex;flex-wrap: wrap;gap: 15px 40px;
	border-bottom: solid 1px #d9d9d9;padding: 30px 0;margin: 0 0 100px;
}
ul.submenu span {
	display: inline-block;position: relative;
	font-size: 2rem;line-height: 1;font-weight: 500;
	transition: color .3s;
}
ul.submenu a:hover span {
	color: #095C90;text-decoration: underline;
}
ul.submenu span::after {
	content: "";width: 8px;height: 8px;display: block;position: absolute;top: calc(50% - 2px);right: -15px;
	background: url(../img/icon/arrow.svg) no-repeat center / 100%;
}

.more {text-align: center;margin: 50px 0;}
.more.left {text-align: left;}
.more.right {text-align: right;}
.more a {
	display: inline-block;background: var(--color-primary);border-radius: 5px;box-sizing: border-box;
	font-size: 2rem;line-height: 1;color: #fff;text-decoration: none;font-weight: 500;text-align: center;
	width: 500px;padding: 18px 70px 18px 20px;
}
.more[data-icon="icon01"] a {background: var(--color-secondary)}
.more a span {
	display: inline-block;position: relative;
	padding: 0 0 0 50px;
}
.more a span::before {
	content: "";width: 30px;height: 30px;position: absolute;top: calc(50% - 15px);left: 0;
}
.more[data-icon="icon01"] a span::before {
	background: url(../img/icon/icon01.svg) no-repeat center / 100%;
}
.more[data-icon="icon02"] a span::before {
	background: url(../img/icon/icon02.svg) no-repeat center / 100%;
}

header {
	position: fixed;top: 0;left: 0;right: 0;
	background: #fff;z-index: 1000;height: 115px;
}
header .wrap.flex {justify-content: space-between;padding: 29px 50px}
header .logo span {
	font-size: 1.2rem;line-height: 1;
	display: block;margin: 0 0 10px;
}
header .logo .img {
	width: 394px;height: 32px;
	background: url(../img/logo.svg) no-repeat center / cover;
}
header nav ul.flex {justify-content: flex-end;gap: 50px;margin: 22px 0}
header ul span {font-size: 1.6rem;line-height: 1;font-weight: 500}
footer {background: #111;color: #fff;margin: 160px 0 0;}
footer .col2 .box p {
	font-size: 1.6rem;line-height: 1;
	margin: 0;
}
footer .col2 .box p.name {
	font-size: 3.2rem;
	margin: 3px 0 20px;
}
footer .logo {
	width: 350px;height: 95px;margin: 0 0 30px;
	background: url(../img/logo3.svg) no-repeat center / cover;
}
footer small {
	font-size: 1.2rem;
	display: block;margin: 5px 0 0;
}
footer ul.flex {gap: 20px 0}
footer ul li {width: 50%}
footer ul a span {color: #fff;font-size: 1.6rem;line-height: 1}
footer ul a:hover span {text-decoration: underline}

section.mv {
	padding: 0;position: relative;
}
section.mv .mySwiper {
	max-height: 614px;height: 70svh;
}
section.mv .mySwiper .swiper-slide {
	width: 100%;max-height: 614px;height: 70svh;
	overflow: hidden;-webkit-backface-visibility: hidden;backface-visibility: hidden;
}
section.mv .mySwiper .swiper-slide .swiper-img {
	width: 100%;max-height: 614px;height: 70svh;
	background: url(../img/back/mv01@2x.jpg) no-repeat center / cover;
}
section.mv .mySwiper .swiper-slide.img02 .swiper-img {
	background: url(../img/back/mv02@2x.jpg) no-repeat center / cover;
}
section.mv .mySwiper .swiper-slide.img03 .swiper-img {
	background: url(../img/back/mv03@2x.jpg) no-repeat center / cover;
}
@keyframes zoomUp {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	100% {
		-webkit-transform: scale(1.13);
		transform: scale(1.13);
	}
}
.swiper-slide-active .swiper-img ,
.swiper-slide-prev .swiper-img  {
	-webkit-animation: zoomUp 7s linear 0s;
	animation: zoomUp 7s linear 0s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
.swiper-img {background-size: cover;background-position: center center}

section.mv .wrap {
	position: relative;top: -80px;z-index: 10;
}
section.mv .btnbox {
	background: #f9f9f9;padding: 0;width: 1100px;border-radius: 5px;
	margin: 0 0 35px;
}
section.mv .btnbox::before {
	content: "";width: 1px;height: 80%;position: absolute;top: 10%;left: 50%;
	background: #d9d9d9;
}
section.mv .btnbox .box {
	padding: 40px 20px 20px 30px
}
section.mv .btnbox .box p.tt {
	font-size: 1.5rem;font-weight: 700;line-height: 1;text-align: center;
}
section.mv .btnbox .box .more {
	margin: 30px 0 0;
}
section.mv .newsbox {
	border: 1px solid #BABABA;background: #F2F2F2;
	padding: 30px 40px 40px;position: relative;
}
section.mv .newsbox::before {
	content: "お知らせ";font-size: 1.5rem;font-weight: 700;
	display: block;margin: 0 0 10px;
}
section.mv .newsbox article p {
	font-size: 1.5rem;
}
section.mv .newsbox a.btn {
	position: absolute;top: 30px;right: 40px;
	font-size: 1.5rem;line-height: 1;font-weight: 700;
	text-decoration: underline;
}

section.list {
	margin: 0 50px;
}
section.list h2 {
	font-size: 6.4rem;line-height: 1.4;font-weight: 500;text-align: center;
	margin: 0 0 60px;width: 100%;
}
section.list article {
	border-radius: 10px;background: #F9F9F9;
	margin: 0 0 50px;
}
section.list article a {
	padding: 50px;display: block;display: flex;flex-wrap: wrap;gap: 50px;
}
section.list article .img {
	width: 300px;height: 200px;position: relative;
	background: #d9d9d9;
}
section.list article .img::before {
	content: "";width: 125px;height: 95px;position: absolute;top: calc(50% - 47px);left: calc(50% - 62.5px);
	background: url(../img/noimg.svg) no-repeat center / 100%;z-index: 1;opacity: .15;
}
section.list article .img img {
	position: relative;z-index: 2;
}
section.list article .text {
	width: 550px;
}
section.list article .text p.title {
	font-size: 2.4rem;line-height: 1.4;font-weight: 700;
}
section.list article .text span.date {
	font-size: 1.4rem;color: var(--color-t-tertiary);font-weight: 500;line-height: 1;
	display: block;margin: 10px 0;
}
section.list article .text p.desc {
	font-size: 1.6rem;font-weight: 500;
}

.pagerBox {
	display: block;width: 100%;margin: 100px 0;
	text-align: center;
}
ul.pager {overflow: hidden;display: inline-block}
ul.pager li {
	float: left;width: 50px;height: 50px;margin: 0 0 0 10px;position: relative;
	font-size: 2rem;text-align: center;line-height: 1;letter-spacing: 0;border-radius: 3px;
}
ul.pager li:first-child {margin: 0}
ul.pager li span {
	width: 50px;height: 50px;transition: all .2s;line-height: 1;
	display: block;padding: 1.5rem 0;border-radius: 10px;box-sizing: border-box;
	background: #fff;
}
ul.pager li.first span ,
ul.pager li.last span {
	background: #fff;
}
ul.pager li.first span::before ,
ul.pager li.last span::before {
	content: "";width: 15px;height: 13px;position: absolute;top: -100%;bottom: -100%;left: -100%;right: -100%;margin: auto;transition: all .2s;
	background: url(../img/icon/arrow00.svg) no-repeat center / 100%;pointer-events: none;opacity: .2;
}
ul.pager li.last span::before {left: -92%;right: -100%}
ul.pager li.first a span::before ,
ul.pager li.last a span::before {opacity: 1}
ul.pager li.first span::before ,
ul.pager li.last span::before {background-position: 0}
ul.pager li.first span::before {transform: rotate(180deg)}
ul.pager li.last span::before {left: -92%;right: -100%}
ul.pager li.current span ,
ul.pager li a:hover span {background: var(--color-primary);color: #fff}
ul.pager li a:hover span::before {filter: invert(1);}

#breadcrumb {padding: 0 0 12px;font-size: 1.2em;letter-spacing: 0;line-height: 1.2;}
#breadcrumb ul {display: flex;flex-wrap: wrap;}
#breadcrumb ul li {
	padding: 0 0 0 3em;position: relative;
}
#breadcrumb ul li::before {
	content: "";width: 9px;height: 9px;background: url(../img/icon/arrow01.svg) no-repeat center / 100%;
	position: absolute;top: .2em;left: 1em;
}
#breadcrumb ul li:first-child::before {display: none}
#breadcrumb ul li:first-child {padding: 0;}

main.entry form {width: 700px;margin: 0 auto;}
main.entry form dl label {display: flex;flex-wrap: wrap;margin: 0 0 30px;}
main.entry form dl dt {width: 200px;font-size: 2rem;padding: 15px 0 0;}
main.entry form dl dd {width: 500px;}
main.entry form dl dd input[type="text"].wpcf7-not-valid ,
main.entry form dl dd input[type="email"].wpcf7-not-valid ,
main.entry form dl dd textarea.wpcf7-not-valid {background: #FCF0F0}
main.entry input[type="text"] ,
main.entry input[type="email"] ,
main.entry input[type="tel"] ,
main.entry textarea ,
main.entry dl.sent dd {
	width: 100%;box-sizing: border-box;border-radius: 10px;
	background: #f4f4f4;border: none;padding: 14px 20px 12px;
	font-size: 1.6rem;line-height: 2;appearance: none;-webkit-appearance: none;
}
main.entry textarea {resize: vertical;min-height: 300px}
main.entry #submit {
	width: 500px;margin: 80px auto 0;
}
main.entry input[type="submit"] {
	background: var(--color-primary);border: none;display: block;border-radius: 10px;
	padding: 20px 0;width: 500px;cursor: pointer;transition: background .3s,opacity .3s;
	font-size: 2em;color: #fff;
}
main.entry input[type="submit"]:hover {opacity: .8}
main.entry input[type="submit"]:disabled {background: #bbb}

main.entry h1 {
	font-size: 6.4em;font-weight: 500;line-height: 1.33;text-align: center;
	margin: 0 0 100px;
}
main.entry section article h1 {
	font-size: 4em;font-weight: 500;line-height: 1.33;text-align: left;
	margin: 0 0 10px;
}
main.entry time {
	font-size: 1.2em;font-weight: 300;line-height: 1;letter-spacing: 0;
	display: block;margin: 0 0 30px;
}
main.entry section article {width: 650px;margin: 0 auto;}
.entry_main {margin: 50px auto;}

ul.social_button {margin: 27px 0 50px;display: flex;justify-content: flex-end;}
ul.social_button li {margin: 0 0 0 50px;background: none;font-size: 1rem;}
ul.social_button li::before {display: none;}
ul.social_button li svg {
	width: 20px;height: 20px;border-radius: 50%;
	background: #00C73C;padding: 5px;margin: 0 0 -10px;
}
ul.social_button li span {
	display: inline-block;
	margin: 0 0 0 1em;
	font-size: 1.2em;text-decoration: underline;
}
ul.social_button li.fb svg {background: #007FEE}
ul.social_button li.tw svg {background: #00A3F2}
main.entry ul.tags li::before {display: none;}
main.entry ul.tags {display: flex;flex-wrap: wrap;}
main.entry ul.tags li {margin: 0 10px 10px 0;padding: 0}
main.entry ul.tags a {
	display: block;background: #ebebeb;border-radius: 2px;padding: 10px 15px;
	color: #111;text-decoration: none;font-weight: 300;font-size: 1.2rem;
}
main.entry ul.tags a:hover {
	text-decoration: underline;background: #ddd;
	transition: background .2s ease-out;
}
main.entry ul.tags a::before {content: "#"}
.related {margin: 100px 0}
.related span.title {
	font-size: 2.4em;font-weight: 700;
	display: block;margin: 0 0 20px;
}
main.entry .outline {
	background: #fafafa;padding: 50px 50px 1px;margin: 0 0 30px;border-radius: 10px;
	position: relative;box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.10);
}
main.entry .outline span.title {
	font-size: 16px;line-height: 1;
	background: #fafafa;padding: 0 1rem 0 0;
	display: inline-block;margin: 0 0 30px;position: relative;z-index: 1;
}
main.entry .outline::after {
	content: "";width: calc(100% - 100px);height: 1px;
	position: absolute;top: calc(50px + .7em);left: 50px;z-index: 0;
	background: #d9d9d9;
}
main.entry .outline input {display: none}
main.entry .outline li {margin: 0 0 20px;background: none;padding: 0;line-height: 1;font-size: 1rem;}
main.entry .outline li a {color: #111;text-decoration: underline;font-weight: 500;line-height: 1.2;font-size: 1.6em;transition: color .3s;}
main.entry .outline li a:hover {color: #009FDE;transition: color .2s;}
main.entry .outline ul ul {margin: 20px 0}
main.entry .outline ul ul li {margin: 0 0 10px 1.2rem;padding: 0;}
main.entry .outline ul li::before ,
main.entry .outline ul li::after {display: none;}
main.entry .outline ul ul li a {
	font-size: 1.4rem;font-weight: 400;
}

/* 見出し */
.entry_main h2 {
	font-size: 2.6em;line-height: 1.23;font-weight: 700;color: #fff;
	margin: 80px 0 30px;padding: 15px 20px 13px;background: #111;border-radius: 10px;
}
.entry_main h3 {
	font-size: 2.2em;line-height: 1.23;font-weight: 900;
	margin: 80px 0 30px;padding: 0 0 6px;position: relative;
}
.entry_main h3::before {
	content: "";width: 100%;height: 3px;background: #111;
	position: absolute;bottom: 0;left: 0;
}
.entry_main h4 {
	font-size: 1.8em;line-height: 1.23;font-weight: 700;
	margin: 60px 0 30px;padding: 0 0 0 10px;position: relative;
}
.entry_main h4::before {
	content: "";width: 2px;height: 100%;background: #111;
	position: absolute;top: 0;left: 0;
}

/* 本文 */
.entry_main p {
	font-size: 1.6em;line-height: 2;
	margin: 0 0 30px;
}
.entry_main strong {font-weight: 700}
.entry_main em {font-style: italic}
.entry_main mark.marker {
	line-height: 1.3;
	display: inline;padding: .05em .2em;background: #BAFFED;
	background:linear-gradient(transparent 60%, #BAFFED 60%);
}
.entry_main mark.small {
	background: none;font-size: 1.2rem;
}
.entry_main a:link ,
.entry_main a:visited {
	color: #ED324C;text-decoration: underline;
}
/* 背景本文 */
.entry_main .grey-back {
	background: #F7F7F7;border-radius: 10px;padding: 20px;
}
.entry_main .grey-back p:last-child {
	margin: 0;font-size: 1.4em;
}

/* 画像 */
.entry_main figure.wp-block-image {
	margin: 0 0 30px;
}
.entry_main figure.wp-block-image figcaption {
	font-size: 1.1em;padding: .5em;background: #fafafa;
	margin: 0;
}
/* リスト */
.entry_main ol ,
.entry_main ul {list-style: none;margin: 0 0 50px;}
.entry_main ol ol ,
.entry_main ul ul {margin: 20px 0 25px;}
.entry_main li {
	font-size: 1.4rem;line-height: 1.6;
	position: relative;padding: 0 0 0 1.4em;margin: 0 0 15px;
}
.entry_main ul li:before {
	content: "";width: 10px;height: 10px;border-radius: 50%;background: #eee;
	position: absolute;left: 0;top: .3em;
}
.entry_main ol {counter-reset: li2;}
.entry_main ol li:before{
	text-align: center;font-weight: 500;line-height: 1;letter-spacing: 0;
	font-size: 1rem;padding: .2em .1em 0;
	color: #fff;background: #000;border-radius: 50%;
	position: absolute;top: .4em;left: 0;width: 1.2em;height: 1.2em;
	counter-increment: li2;content: counter(li2);
}
/* カスタムHTML */
.entry_main iframe{
	max-width: 100%;
	margin: 0 0 50px;
}
.entry_main figure.wp-block-embed iframe {
	width: 100%;min-height: 400px;
}
/* リンクボタン */
.linkBtn {margin: 0 0 30px}
.linkBtn a:link ,
.linkBtn a:visited {
	display: block;position: relative;background: #0091D8;border-radius: 5px;
	font-size: 14px;line-height: 1;padding: 20px 70px 20px 20px;
	color: #fff;text-decoration: none;font-weight: 700;
}
.linkBtn a::after {
	content: "";width: 20px;height: 14px;position: absolute;top: -100%;bottom: -100%;right: 30px;
	background: url(../img/icon/arrow03.svg) no-repeat center / 100%;margin: auto 0;pointer-events: none;
}
/* テーブル */
.entry_main figure.wp-block-table {margin: 0 0 50px;}
.entry_main table {
	width: 100%;border-collapse: separate;border-spacing: 0 10px;margin: 30px 0 0;
	font-size: 1.6rem;line-height: 1.4;
}
.entry_main table tr {padding: 10px 0;}
.entry_main table td ,
.entry_main table th {
	padding: 15px 0 0
}
.entry_main figure.wp-block-table table {margin: 0}
.entry_main figure.wp-block-table table tr td:nth-of-type(1) ,
.entry_main figure.wp-block-table table th {
	border-bottom: 1px solid #111;
}
.entry_main figure.wp-block-table table thead + tbody tr td:nth-of-type(1) {
	background: #F7F7F7;font-weight: 500;
}

/* 料金 */
main.entry .price-item ,
main.index .price-item {
	width: 1000px;margin: 0 auto 50px;
	display: flex;flex-wrap: wrap;gap: 50px;
}
main.entry .price-item {
	width: 650px;margin: 0 auto 60px;gap: 0;position: relative;
}
main.entry .price-item .box:nth-of-type(1) {width: 200px}
main.index .price-item .box:nth-of-type(1) {width: 420px}
main.entry .price-item .box:nth-of-type(2) {width: 100%}
main.index .price-item .box:nth-of-type(2) {width: 530px}
main.entry .price-item p ,
main.index .price-item p {line-height: 1.6}
main.entry .price-item p {
	position: absolute;top: 0;left: 220px;width: calc(100% - 220px);
}
main.entry .price-item table ,
main.index .price-item table {
	width: 100%;border-collapse: separate;border-spacing: 0 10px;margin: 30px 0 0;
	font-size: 2rem;line-height: 1.4;
}
main.entry .price-item table {font-size: 1.6rem;}
main.index .price-item table tr {padding: 10px 0}
main.entry .price-item table th ,
main.entry .price-item table td ,
main.index .price-item table th ,
main.index .price-item table td {padding: 15px 0 0}
main.entry .price-item table th ,
main.index .price-item table th {padding: 0 0 5px;text-align: left;}
main.entry .price-item tr th ,main.entry .price-item tr.under td ,
main.index .price-item tr th ,
main.index .price-item tr.under td {border-bottom: 1px solid #111}
main.entry .price-item tr.under td ,
main.index .price-item tr.under td {padding: 5px 0 20px}
body.page-id-11 main.index h2.wp-block-heading {
	margin: 80px 0 60px;
}

/* リスト */
main.index ul.wp-block-list {list-style: none;margin: 0 50px 50px;}
main.index ul.wp-block-list ul {margin: 20px 0 25px;}
main.index ul.wp-block-list li {
	font-size: 1.5rem;line-height: 1.6;
	position: relative;padding: 0 0 0 1.2em;margin: 0 0 15px;
}
main.index ul.wp-block-list li:before {
	content: "";width: 3px;height: 3px;border-radius: 50%;background: #111;
	position: absolute;left: 0;top: .7em;
}
main.index ul.wp-block-list ol {counter-reset: li2;}
main.index ul.wp-block-list ol li:before{
	text-align: center;font-weight: 500;line-height: 1;letter-spacing: 0;
	font-size: 1rem;padding: .2em .1em 0;
	color: #fff;background: #000;border-radius: 50%;
	position: absolute;top: .4em;left: 0;width: 1.2em;height: 1.2em;
	counter-increment: li2;content: counter(li2);
}

