@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-size: 100%;
	font: inherit;
	vertical-align: baseline;
	box-sizing: border-box;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
	/* -webkit-text-size-adjust: 100%; */
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	vertical-align: middle;
}

body {
font-feature-settings: "palt";
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}

@media only screen and(-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	body {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

*, *::after, *::before {
	box-sizing: border-box;

}

.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;will-change: contents;
}

a,
img,
input,
svg,
*:before,
*:after {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
a:hover img,
a:hover input {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}


html {font-size: 16px;}
img {vertical-align: middle;}
body {color: #000;font-family: 'Noto Sans JP', sans-serif;background:#FFFDF4;}
a {transition: opacity 0.2s;}
a:hover {opacity: 0.8;}
.spview {display: none;}
.pcview {display: block;}
.w1200{max-width: 1240px;padding:0 20px;margin:0 auto;}
.w800{max-width: 840px;padding:0 20px;margin:0 auto;}
@media screen and (max-width:750px) {
html {font-size: 4.2vw;}
.spview {display: block;}
.pcview {display: none;}
.w1200{width:100%;padding:0 5vw;}
.w800{width:100%;padding:0 5vw;}
}



/*backtop*/
#backtop{position:fixed;bottom:-50px;right:25px;z-index:20;transition:bottom 0.2s;}
#backtop a{display:block;width:50px;height:50px;overflow: hidden;border-radius:50%;border:2px solid #FFFDF4;}
#backtop a img{width: 100%;border-radius:50%;}
@media only screen and (max-width: 750px) {
#backtop{right:4vw;bottom:-12vw;}
#backtop a{width:12vw;height:12vw;border:1px solid #FFFDF4;}
}



/*
font-family: "Noto Sans JP", sans-serif;
font-family: "Zen Maru Gothic", sans-serif;
font-family: "Kiwi Maru", serif;
*/


header{position: relative;background:#CCE9FA;height:60vh;min-height:550px;max-height: 700px;}
header h1{width: 640px;position: absolute;top:48%;left:calc(50% - 320px);transform: translateY(-50%);}
header h1 span{display: none;}
header p{position: absolute;width: 160px;top:33%;right:calc(50%  - 500px);}
header img{width: 100%;}
header+svg{margin-top: -1px;}
header::after{content:"";display: block;position: absolute;bottom:-80px;left:0;z-index: 15;width: 100%;height:160px;background-image: url(../images/vegetable.png);background-position: center;background-repeat: repeat-x;background-size: auto 160px;}
@media only screen and (max-width: 750px) {
header{height: 92vw;min-height: unset;max-height: unset;padding-top: 8vw;}
header h1{width: 80%;position: static;margin:0 auto;transform:unset;}
header p{position: static;width: 20%;margin:7vw auto 0;}
header::after{bottom:-14vw;height:20vw;background-size: auto 20vw;}
}


footer{background: #11376B;margin-top: 100px;padding:40px 0;}
footer .footer_inner{display: flex;justify-content: space-between;}
footer .footer_inner>p{width: 290px;}
footer .footer_inner>p img{width: 100%;}
footer .footer_inner>div{display: flex;flex-direction: column;justify-content: space-between;}
footer .footer_inner .copy{color:#fff;font-size: 12px;letter-spacing: 0.04em;text-align: right;}

footer .footer_inner .more a{font-size: 19px;color:#fff;font-family: "Zen Maru Gothic", sans-serif;font-weight: 700;background:#DEAD00;border-radius: 60px;padding:0.4em 3.3em 0.5em 1.5em;display: inline-block;box-shadow: 0 0 0 2px#fff,0 0 0 5px #DEAD00;position: relative;transition: background 0.2s,color 0.2s,box-shadow 0.2s;line-height: 1.1;}
footer .footer_inner .more a::after{content: "";display: block;width: 20px;height: 20px;background-image: url(../images/arrow.svg);background-size: contain;background-repeat: no-repeat;position: absolute;top:calc(50% - 10px);right: 20px;filter: brightness(0) invert(1);transition: right 0.2s;}
footer .footer_inner .more a:hover{background:#fff;color:#DEAD00;box-shadow: 0 0 0 2px#DEAD00;opacity: 1;}
footer .footer_inner .more a:hover::after{filter: brightness(1) invert(0);right: 17px;}

@media only screen and (max-width: 750px) {
footer{margin-top: 24vw;padding:10vw 0 6vw;}
footer .footer_inner{display: block;}
footer .footer_inner>p{width: 75%;margin:0 auto;}
footer .footer_inner>p img{width: 100%;}
footer .footer_inner>div{display: block;}
footer .footer_inner .copy{font-size: 3vw;text-align: center;}

footer .footer_inner .more{margin:10vw 0 12vw;}
footer .footer_inner .more a{font-size: 4.8vw;padding:0.7em 2.5em 0.8em 1em;width: 100%;}
footer .footer_inner .more a::after{width: 4.8vw;height: 4.8vw;top:calc(50% - 2.4vw);right: 4vw;}
footer .footer_inner .more a:hover::after{right: 4vw;}

}


.apply{margin-top: 90px;}
.apply .txt{text-align: center;font-size: 22px;font-family: "Zen Maru Gothic", sans-serif;color:#11376B;font-weight: 700;}
.apply .more{margin-top: 30px;text-align: center;}
.apply .more a{font-size: 26px;color:#fff;font-family: "Zen Maru Gothic", sans-serif;font-weight: 700;background:#DEAD00;border-radius: 60px;padding:0.7em 3.5em 0.8em 2em;display: inline-block;box-shadow: 0 0 0 4px#FFFDF4,0 0 0 6px #DEAD00;position: relative;transition: background 0.2s,color 0.2s,box-shadow 0.2s;}
.apply .more a::after{content: "";display: block;width: 24px;height: 24px;background-image: url(../images/arrow.svg);background-size: contain;background-repeat: no-repeat;position: absolute;top:calc(50% - 12px);right: 25px;filter: brightness(0) invert(1);transition: right 0.2s;}
.apply .more a:hover{background:#fff;color:#DEAD00;box-shadow: 0 0 0 2px#DEAD00;opacity: 1;}
.apply .more a:hover::after{filter: brightness(1) invert(0);right: 20px;}

@media only screen and (max-width: 750px) {
.apply{margin-top: 15vw;}
.apply .txt{font-size: 4.5vw;}
.apply .more{margin-top: 5vw;}
.apply .more a{font-size: 4.8vw;padding:0.7em 2.5em 0.8em 0.5em;width: 100%;box-shadow: 0 0 0 4px#FFFDF4,0 0 0 5px #DEAD00;}
.apply .more a::after{width: 4.8vw;height: 4.8vw;top:calc(50% - 2.4vw);right: 4vw;}
.apply .more a:hover::after{right: 4vw;}

}


section h2{text-align: center;font-size: 30px;font-family: "Zen Maru Gothic", sans-serif;color:#11376B;font-weight: 700;letter-spacing: 0.03em;padding-bottom: 0.6em;position: relative;}
section h2::after{content:"";display: block;position: absolute;bottom:0;left:0;width: 100%;height:10px;background-image: url(../images/header_line.svg);background-position: bottom;background-size: 100%;background-repeat: no-repeat;}
@media only screen and (max-width: 750px) {
section h2{font-size: 5.5vw;line-height: 1.3;padding-bottom: 0.45em;}
section h2::after{background-image: url(../images/header_line_sp.svg?2);}
}


#about{margin-top: 100px;}
#about .txt{font-size: 22px;color:#11376B;font-family: "Kiwi Maru", serif;font-weight: 500;text-align: center;line-height: 1.8;letter-spacing: -0.02em;margin:35px 0 35px;}
#about .img{width: 580px;margin:0 auto;}
#about .img img{width: 100%;}
@media only screen and (max-width: 750px) {
#about{margin-top: 15vw;}
#about .txt{font-size: 4.2vw;line-height: 1.6;margin:6vw 0 6vw;}
#about .img{width: 100%;}
}


#merit{margin-top: 100px;}
#merit .merit_inner{display: flex;justify-content: center;max-width: 1140px;padding:0 20px;margin:40px auto 0;align-items: flex-start;}
#merit .merit_inner>div{width: 35%;margin:0 -0.8%;background-size: 100% 100%;background-repeat: no-repeat;background-position: center center;mix-blend-mode:multiply;padding:45px 0 40px;}
#merit .merit_inner .blue{background-image: url(../images/blue.png);}
#merit .merit_inner .green{background-image: url(../images/green.png);}
#merit .merit_inner .red{background-image: url(../images/red.png);}
#merit .merit_inner h3{color:#11376B;font-family: "Zen Maru Gothic", sans-serif;font-weight: 700;font-size:22px;letter-spacing: 0.03em;width: max-content;padding:0 0.2em 0.5em;margin: 0 auto;border-bottom: 4px double #11376B;}
#merit .merit_inner p{text-align: center;color:#11376B;font-family: "Kiwi Maru", serif;font-weight: 500;font-size: 18.5px;letter-spacing: -0.02em;line-height: 1.7;margin-top: 0.8em;}
#merit .merit_inner p span{background: #fff;margin:0 0.1em;padding:0 0.15em;}
@media only screen and (max-width: 1000px) {
#merit .merit_inner{flex-wrap: wrap;}
#merit .merit_inner>div{width: 50%;padding:50px 0 40px;}
#merit .merit_inner .red{margin-top: -30px;}
}
@media only screen and (max-width: 750px) {
#merit{margin-top: 15vw;}
#merit .merit_inner{padding:0 5vw;margin:6vw auto 0;}
#merit .merit_inner>div{width: 92%;padding:9vw 0 9vw;}
#merit .merit_inner .green{margin-top: -2.5vw;}
#merit .merit_inner .red{margin-top: -2.5vw;}
#merit .merit_inner h3{font-size:4.6vw;}
#merit .merit_inner p{font-size: 4vw;line-height: 1.65;}
}

#example{margin-top: 100px;padding:70px 0 90px;background:#E8F5FD;}
#example .case{margin-top: 45px;}
#example .case+.case{margin-top: 70px;}
#example .case h3{background: #fff;border:1px solid #11376B;border-left-width:5px;color:#11376B;font-family: "Zen Maru Gothic", sans-serif;font-weight: 700;font-size:20px;padding:0.8em 1em;margin-bottom: 25px;letter-spacing: 0.03em;}
#example .case .img{width: 520px;margin:0 auto 20px;}
#example .case .img img{width:100%;}
#example .case .txt{color:#11376B;font-family: "Kiwi Maru", serif;font-weight: 500;font-size: 18px;letter-spacing: -0.02em;line-height: 1.7;text-align: justify;}
#example .case .partner{background: #fff;padding:18px 15px;border-radius: 8px;border:1px solid #81B5E2;max-width: 650px;margin:20px auto 0;color:#11376B;font-family: "Kiwi Maru", serif;font-weight: 500;font-size: 16px;letter-spacing: -0.02em;text-align: center;line-height: 1.6;}
#example .case .partner h4{margin-bottom: 0.3em;}
@media only screen and (max-width: 750px) {
#example{margin-top: 14vw;padding:14vw 0 14vw;}
#example .case{margin-top:6vw;}
#example .case+.case{margin-top: 10vw;}
#example .case h3{font-size:4.7vw;margin-bottom: 4vw;padding:0.65em 1em;}
#example .case .img{width: 100%;margin:0 auto 3vw;}
#example .case .txt{font-size: 4vw;line-height: 1.6;}
#example .case .partner{padding:3vw 4vw;margin:4vw auto 0;font-size: 3.7vw;line-height: 1.5;}
}

#info{margin-top: 80px;}
#info .info_inner{margin-top: 40px;background: #fff;padding:10px 20px 10px;border-radius: 6px;border:1px solid #81B5E2;}
#info .info_inner p{color:#11376B;font-family: "Kiwi Maru", serif;font-weight: 500;font-size: 18px;letter-spacing: -0.02em;line-height: 1.4;display: flex;justify-content: space-between;padding:0.5em 0;}
#info .info_inner p:not(:last-of-type){border-bottom: 1px dotted #aaa;}
#info .info_inner p time{margin-right: 1em;flex-shrink: 0;}
#info .info_inner p span{flex:1;}
#info .info_inner p a{text-decoration: underline;}
#info .info_inner p a::after{content:"";display: inline-block;width: 0.8em;height:0.8em;background-image: url(../images/link.svg);background-size: contain;background-position: center center;background-repeat: no-repeat;}
@media only screen and (max-width: 750px) {
#info{margin-top: 14vw;}
#info .info_inner{margin-top: 6vw;padding:2vw 5vw 2vw;}
#info .info_inner p{font-size: 4vw;display: block;padding:0.7em 0;}
#info .info_inner p time{margin-right: 0;display: block;margin-bottom: 0.3em;}
}

#schedule{margin-top: 100px;}
#schedule .table_wrap{margin-top: 40px;border-radius: 8px;overflow: hidden;border:1px solid #81B5E2;position: relative;}
#schedule .table_wrap>p{position: absolute;top:40px;right:20px; writing-mode: vertical-rl;background:#81B5E2;color:#fff;font-family: "Kiwi Maru", serif;font-weight: 500;letter-spacing: 0.09em;font-size: 27px;height:calc(100% - 60px);text-align: center;padding:0 0.4em;}
#schedule .table_wrap>p::after{content:"";display: block;width: 100%;height: 20px;background:#81B5E2;bottom:-19px;left: 0;position: absolute;clip-path: polygon(0 0, 100% 0, 50% 100%);}
#schedule table{width: 100%;font-family: "Kiwi Maru", serif;font-weight: 500;background:#fff;color:#11376B;}
#schedule table tr:nth-of-type(1) th{background: #81B5E2;color:#fff;font-size: 18px;padding:0.5em 0 0.6em;}
#schedule table tr:nth-of-type(1) th:nth-of-type(1){width: 28%;border-right: 1px solid #fff;}
#schedule table tr:nth-of-type(1) th:nth-of-type(2){width: 34%;border-right: 1px solid #fff;}
/*#schedule table tr:nth-of-type(1) th:last-of-type{padding-right: 100px;}*/
#schedule table tr:nth-of-type(n+2) td{font-size: 20px;padding:1.3em 0.8em;border:1px solid #81B5E2;line-height: 1.4;vertical-align: middle;overflow-wrap:anywhere;word-break:keep-all;}
#schedule table tr:nth-of-type(n+2) td span{display: inline-block;}
#schedule table tr:nth-of-type(n+2) td:first-of-type{text-align: center;}
#schedule table tr:nth-of-type(n+2) td:last-of-type{border-right: none;}
#schedule table tr:nth-of-type(2) td{border-top: none;}
#schedule table tr:last-of-type td{border-bottom: none;}
#schedule table tr:nth-of-type(n+2) th{font-size: 16px; width: 35px;vertical-align: middle;background:#D9E9F6;}
#schedule table tr:nth-of-type(n+2) th span{writing-mode: vertical-rl;height: max-content;}
#schedule table tr:last-of-type th{border-top: 1px solid #81B5E2;}
#schedule .table_wrap+p{font-size: 16px;font-family: "Kiwi Maru", serif;font-weight: 500;letter-spacing:-0.02em;color:#11376B;margin-top: 0.9em;}
#schedule table .tyousei{font-size: 16px!important;}
@media only screen and (max-width: 750px) {
#schedule{margin-top: 14vw;}
#schedule .table_wrap{margin-top: 6vw;}
#schedule .table_wrap>p{top:8vw;right:2vw;font-size: 3.7vw;height:calc(100% - 11vw);padding:0 0.5em;}
#schedule .table_wrap>p::after{height: 3vw;bottom:-2.9vw;}
#schedule table tr:nth-of-type(1) th{font-size: 3.5vw;}
#schedule table tr:nth-of-type(1) th:nth-of-type(1){width: 25%;}
#schedule table tr:nth-of-type(1) th:nth-of-type(2){width: 35%;}
#schedule table tr:nth-of-type(1) th:last-of-type{padding-right: 0;}
#schedule table tr:nth-of-type(n+2) td{font-size: 3.7vw;padding:0.6em 0;line-height: 1.3;text-align: center;}
#schedule table tr:nth-of-type(n+2) td:first-of-type{font-size: 3.5vw;}
#schedule table tr:nth-of-type(n+2) th{font-size: 3.3vw;width: 12vw;}
#schedule .table_wrap+p{font-size: 3.7vw;line-height: 1.5;text-indent: -1em;padding-left: 1em;}
#schedule table tr:nth-of-type(n+2) td:last-of-type{padding-right: 10vw;}
#schedule table .tyousei{font-size: 2.5vw!important;}

}


#contact{margin-top: 100px;}
#contact h2{font-size: 28px;}
#contact .contact_inner{margin-top: 40px;}
#contact .contact_inner>p{text-align: center;font-family: "Kiwi Maru", serif;font-weight: 500;letter-spacing:-0.02em;color:#11376B;font-size: 25px;}
#contact .contact_inner>p span{font-size: 21px;}
#contact .contact_inner .flex{display: flex;justify-content: center;align-items: center;margin-top: 25px;}
#contact .contact_inner .flex dl{font-family: "Kiwi Maru", serif;font-weight: 500;letter-spacing:-0.02em;color:#11376B;font-size: 22px;margin-right: 35px;}
#contact .contact_inner .flex dl div{display: flex;justify-content: center;margin:0.5em 0;}
#contact .contact_inner .flex dl dt::after{content:":";margin:0 0.2em;}
#contact .contact_inner .flex dl a:not(.tel){text-decoration: underline;}
#contact .contact_inner .flex dl a.tel{pointer-events: none;}
#contact .contact_inner .more a{font-size: 20px;color:#fff;font-family: "Zen Maru Gothic", sans-serif;font-weight: 700;background:#DEAD00;border-radius: 60px;padding:0.8em 3em 0.9em 1em;display: inline-block;box-shadow: 0 0 0 4px#FFFDF4,0 0 0 6px #DEAD00;position: relative;transition: background 0.2s,color 0.2s,box-shadow 0.2s;}
#contact .contact_inner .more a::after{content: "";display: block;width: 18px;height: 18px;background-image: url(../images/arrow.svg);background-size: contain;background-repeat: no-repeat;position: absolute;top:calc(50% - 9px);right: 20px;filter: brightness(0) invert(1);transition: right 0.2s;}
#contact .contact_inner .more a:hover{background:#fff;color:#DEAD00;box-shadow: 0 0 0 2px#DEAD00;opacity: 1;}
#contact .contact_inner .more a:hover::after{filter: brightness(1) invert(0);right: 15px;}

@media only screen and (max-width: 750px) {
#contact{margin-top: 14vw;}
#contact h2{font-size: 5vw;}
#contact .contact_inner{margin-top: 6vw;}
#contact .contact_inner>p{font-size: 5.2vw;}
#contact .contact_inner>p span{font-size: 4.2vw;display: block;margin-top: 0.5em;}
#contact .contact_inner .flex{display: block;margin-top: 4.5vw;}
#contact .contact_inner .flex dl{font-size: 4.5vw;margin-right: 0;}
#contact .contact_inner .flex dl div{display: flex;justify-content: center;margin:0 0 0.7em;}
#contact .contact_inner .flex dl a.tel{pointer-events: auto;text-decoration: underline;}
#contact .contact_inner .more{margin-top:8vw;}
#contact .contact_inner .more a{font-size: 4.8vw;padding:0.7em 2.5em 0.8em 1em;width: 100%;box-shadow: 0 0 0 4px#FFFDF4,0 0 0 5px #DEAD00;}
#contact .contact_inner .more a::after{width: 4.8vw;height: 4.8vw;top:calc(50% - 2.4vw);right: 4vw;}
#contact .contact_inner .more a:hover::after{right: 4vw;}

}
















