@charset "UTF-8";

html {
	font-size: 10px;
	font-family: "Noto Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
	font-family: "Noto Sans", sans-serif;
}

@media print,
screen and (min-width:641px) {
	html {
		line-height: 1.5
	}
}

@media screen and (max-width:640px) {
	html {
		-webkit-text-size-adjust: 100%;
		overflow-x: hidden;
	}
}

@media print,
screen and (min-width:1440px) and (max-width:1599px) {
	html {
		font-size: 9px
	}
}

@media print,
screen and (min-width:1366px) and (max-width:1439px) {
	html {
		font-size: 8.5px
	}
}

@media print,
screen and (min-width:1280px) and (max-width:1365px) {
	html {
		font-size: 8px
	}
}

@media print,
screen and (min-width:641px) and (max-width:1279px) {
	html {
		font-size: 7.5px
	}
}

@media screen and (min-width:428px) and (max-width:640px) {
	html {
		font-size: 11.4px
	}
}

@media screen and (min-width:414px) and (max-width:427px) {
	html {
		font-size: 11px
	}
}

@media screen and (min-width:375px) and (max-width:413px) {
	html {
		font-size: 10px
	}
}

@media screen and (min-width:360px) and (max-width:374px) {
	html {
		font-size: 9.6px
	}
}

@media screen and (max-width:359px) {
	html {
		font-size: 8.5px
	}
}

html.edge {
	-ms-text-size-adjust: 100%
}

html.os-mac {
	-webkit-font-smoothing: antialiased
}

@media print,
screen and (min-width:641px) {
	html.os-mac {
		-webkit-font-feature-settings: "pkna";
		font-feature-settings: "pkna"
	}
}

html.scrollingFlg {
	pointer-events: none
}

body {
	position: relative;
	margin: 0;
	padding: 0;
	font-size: 1.1rem
}

@media print,
screen and (min-width:641px) {
	body {
		min-width: 1024px
	}
	body {
	}
}

.touchevents * {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.chrome body {
	image-rendering: -webkit-optimize-contrast
}

dd,
dl,
dt,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ol,
p,
td,
th,
ul {
	margin: 0;
	padding: 0
}

article,
aside,
figcaption,
figure,
footer,
header,
main,
nav,
section {
	display: block
}

img {
	-ms-interpolation-mode: bicubic;
	border-style: none
}

svg:not(:root) {
	overflow: visible;
	shape-rendering: geometricPrecision
}

hr {
	height: 0;
	overflow: visible;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

b,
strong {
	font-weight: inherit;
	font-weight: bolder
}

a {
	outline: 0;
	text-decoration: none;
	color: inherit;
	background-color: transparent;
	-webkit-text-decoration-skip: objects
}

li {
	list-style: none
}

sub,
sup {
	position: relative;
	vertical-align: baseline;
	line-height: 0
}

sub {
	bottom: -0.25em
}

sup {
	top: -0.5em
}

audio,
video {
	display: inline-block
}

audio:not([controls]) {
	display: none;
	height: 0
}

canvas {
	display: inline-block
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: none;
	border: none;
	outline: 0;
	margin: 0;
	padding: 0
}

button,
input {
	overflow: visible
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0
}

button:-moz-focusring,
input:-moz-focusring {
	outline: 1px dotted ButtonText
}

button,
select {
	cursor: pointer;
	text-transform: none
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
	border: none
}

select::-ms-expand {
	display: none
}

[data-hidePrintMessageArea] {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 10px;
	pointer-events: none;
	opacity: 0
}

@media print {
	body {
		position: relative;
		top: 100px
	}

	body:before {
		content: "ページを印刷する際は一番下までスクロールして下さい。";
		display: none;
		white-space: pre;
		font-size: 20px;
		padding: 10px 10px;
		border: 3px solid #000;
		background-color: #FFF;
		color: #000;
		position: absolute;
		top: -100px;
		left: 0px;
		right: 0px;
		text-align: center;
		-webkit-box-sizing: border-box;
		box-sizing: border-box
	}

	.chrome body:before {
		content: "ページを印刷する際は一番下までスクロールして下さい。\a画像を表示させる場合は、「基本設定」→「背景のグラフィック」を有効にして下さい。"
	}

	.ie body:before {
		content: "ページを印刷する際は一番下までスクロールして下さい。\a画像を表示させる場合は、「印刷プレビュー」→「ページ設定」→「背景の色とイメージを印刷する」を有効にして下さい。"
	}

	.safari body:before {
		content: "ページを印刷する際は一番下までスクロールして下さい。\a画像を表示させる場合は、「詳細を表示」→「背景をプリント」を有効にして下さい。"
	}

	.edge body:before {
		content: "※Microsoft Edgeは背景や画像を印刷できません。"
	}

	.addPrintMessage body:before {
		display: block
	}

	* {
		background-attachment: scroll !important
	}
}

@media print,
screen and (min-width:641px) {
	[data-sc-sp] {
		display: none !important
	}
}

@media screen and (max-width:640px) {
	[data-sc-pc] {
		display: none !important
	}
}

@media print,
screen and (min-width:641px) and (max-width:1024px) {
	.mod_main {
		overflow: hidden
	}
}

.f_lex {
	font-family: "Lexend", sans-serif;
}

body {
	color: #373737;
}

.mod_header .row01 {
	width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 1000;
	padding: 0 20px
}

@media screen and (max-width:640px) {
	.mod_header .row01 {
		padding-left: calc(16 * 100vw / 375);
		padding-right: calc(16 * 100vw / 375);
	}
}

.mod_header .row01 .in {
}

@media screen and (max-width:640px) {
	.mod_header .row01 .in {
	}
}

.mod_header .row01 .logo {
	display: block;
	position: absolute;
	left: 4.8rem;
	top: 4rem;
}

.mod_header .row01 .header__columns__column:nth-child(2) {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media print,
screen and (min-width:641px) {
	.mod_header .row01 .logo .logoimg {
		max-width: 23.9rem;
		width: 100%;
		height: auto
	}
}

@media screen and (max-width:640px) {

	.mod_header .row01 .logo {
		left: calc(8 * 100vw / 375);
		top: calc(12 * 100vw / 375);
	}
	.mod_header .row01 .logo .logoimg {
		width: auto;
		height: calc(44 * 100vw / 375);
	}
}

.mod_header .row01 .one {
	display: inline-block;
	font-size: 2rem;
	color: #373737;
	letter-spacing: 0.02em;
	font-weight: 600;
}

.mod_header .row01 .one + .one {
	margin-left: 3.2rem;
}

.mod_header .row01 .menu_box {
	margin-right: 3.2rem;
}

.mod_header .row01 .menu_box .top_layout {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.mod_header .row01 .menu_box .top_layout .one {
	padding-right:0.2rem;
	position: relative;
	text-decoration: none;
	transition: color 0.3s ease;
}

.mod_header .row01 .menu_box .top_layout .one:hover {
	color: #E99DC5;
}
.mod_header .row01 .menu_box .top_layout .one::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 50%;
	width: 0;
	height: 1px;
	background-color: #E99DC5;
	transition: all 0.3s ease;
	transform: translateX(-50%);
}
.mod_header .row01 .menu_box .top_layout .one:hover::after {
	width: 100%;
}

.mod_header .row01 .menu_box .bottom_layout {
	margin-top: 0.15rem
}

.mod_header .row01 .menu_box .bottom_layout .one {
	font-size: 0.16rem;
	letter-spacing: 0.02em;
	color: #282821
}

.mod_header .row01 .menu_box .bottom_layout .one+.one {
	margin-left: 0.45rem
}

.mod_header .row01 .contact_box {
	height: 100%
}

.mod_header .row01 .contact_box .contact {
	height: 100%;
	display: flex;
	align-items: center;
}

.mod_header .row01 .contact_box .contact>a {
	width: 17.7rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 5rem;
	padding-left: 3.4rem;
	box-sizing: border-box;
	justify-content: left;
	align-items: center;
	font-size: 2rem;
	letter-spacing: 0.02em;
	font-weight: 600;
	color: #373737;
	border-radius: 0.8rem;
	background: transparent linear-gradient(252deg, var(--unnamed-color-dcfdff) 0%, var(--unnamed-color-aaf7de) 100%) 0% 0% no-repeat padding-box;
	background: transparent linear-gradient(252deg, #DCFDFF 0%, #AAF7DE 100%) 0% 0% no-repeat padding-box;
	position: relative;
}
.mod_header .row01 .contact_box .contact>a::before {
	content: "";
	position: absolute;
	right: 1.1rem;
	top: 0;
	bottom: 0;
	margin: auto;


	width: 3.2rem;
	height: 1.8rem;
	background-image: url("/assets/img/arrow.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;

}

.mod_header .row01 .contact_box .contact > a {
	transition: opacity 0.4s ease, transform 0.3s ease, filter 0.4s ease;
}

.mod_header .row01 .contact_box .contact > a:hover {
	opacity: 0.8; 
	filter: brightness(1.05);
	background: transparent linear-gradient(252deg, var(--unnamed-color-aaf7de) 0%, var(--unnamed-color-aaf7de) 100%) 0% 0% no-repeat padding-box;
	background: transparent linear-gradient(252deg, #AAF7DE 0%, #DCFDFF 100%) 0% 0% no-repeat padding-box;
}

.mod_header .row01 .contact_box .contact > a::before {
	transition: transform 0.3s ease;
}

.mod_header .row01 .contact_box .contact > a:hover::before {
	transform: translateX(4px);
}

@media screen and (max-width:640px) {
	.mod_header .row02 {
		background-color: rgba(255, 255, 255, 0.9);
		position: fixed;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		top: calc(75 * 100vw / 375);
		right: 0;
		width: calc(209 * 100vw / 375);
		opacity: 0;
		z-index: 1000;
		pointer-events: none;
		-webkit-transition: opacity 0.4s;
		transition: opacity 0.4s;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding: 0;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		border-bottom-left-radius: calc(20 * 100vw / 375);
		padding-top: calc(45 * 100vw / 375);
		padding-bottom: calc(32 * 100vw / 375);
		padding-left: calc(24 * 100vw / 375);
		padding-right: calc(24 * 100vw / 375);
	}

	.spmenuopen .mod_header .row02 {
		opacity: 1;
		pointer-events: auto
	}

	.mod_header .row02 .in {
		width: 100%
	}

	.mod_header .row02 .one {
		font-size: calc(20 * 100vw / 375);
		color: #282821;
		display: block;
		text-align: left;
	}

	.mod_header .row02 .one+.one {
		margin-top: calc(21 * 100vw / 375)
	}
}

@media screen and (max-width:640px) {
	.mod_header .menu {
		width: calc(39 * 100vw / 375);
		height: calc(24 * 100vw / 375);
		position: fixed;
		top: calc(28 * 100vw / 375);
		right: calc(16 * 100vw / 375);
		z-index: 1000
	}

	.mod_header .menu .open .bar {
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		width: calc(39 * 100vw / 375);
		height: 2px;
		margin: auto;
		background-color: #373737;
		-webkit-transition: 0.3s;
		transition: 0.3s
	}

	.mod_header .menu .open .bar:first-child {
		top: calc(18 * 100vw / 375)
	}

	.mod_header .menu .open .bar:nth-child(3) {
		bottom: calc(18 * 100vw / 375)
	}

	.mod_header .menu .close .bar {
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		width: 0;
		height: 2px;
		margin: auto;
		background-color: #373737;
		-webkit-transition: 0.3s;
		transition: 0.3s
	}

	.mod_header .menu .close .bar:first-child {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg)
	}

	.mod_header .menu .close .bar:nth-child(2) {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg)
	}

	.spmenuopen .mod_header .menu .open .bar {
		width: 0
	}

	.spmenuopen .mod_header .menu .close .bar {
		width: calc(29 * 100vw / 375)
	}
}

@media screen and (max-width:640px) and (min-width:641px) {
	.mod_header .contact {
		height: 100%
	}
}

@media screen and (max-width:640px) and (max-width:640px) {
	.mod_header .contact {
		margin-top: calc(34 * 100vw / 375)
	}
}

@media screen and (max-width:640px) {
	.mod_header .contact>a {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		background: transparent linear-gradient(252deg, var(--unnamed-color-dcfdff) 0%, var(--unnamed-color-aaf7de) 100%) 0% 0% no-repeat padding-box;
		background: transparent linear-gradient(252deg, #DCFDFF 0%, #AAF7DE 100%) 0% 0% no-repeat padding-box;
		-webkit-box-pack: left;
		-ms-flex-pack: left;
		justify-content: left;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		font-size: calc(16 * 100vw / 375);
		color: #373737;
		padding-left: calc(28 * 100vw / 375);
		box-sizing: border-box;
		position: relative;
		border-radius: calc(8 * 100vw / 375);
	}

	.mod_header .contact>a::before {
		content: "";
		position: absolute;
		right: calc(16 * 100vw / 375);
		top: 0;
		bottom: 0;
		margin: auto;
		width: calc(32 * 100vw / 375);
		height: calc(18 * 100vw / 375);
		background-image: url("/assets/img/arrow.svg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
	}

}

@media screen and (max-width:640px) and (min-width:641px) {
	.mod_header .contact>a {
		height: 100%
	}
}

@media screen and (max-width:640px) and (max-width:640px) {
	.mod_header .contact>a {
		height: calc(50 * 100vw / 375)
	}
}

.pankuzuWrap {
	width: 100%;
}

@media screen and (max-width:640px) {
	.pankuzuWrap {
		overflow: auto
	}
}

.pankuzu {
	max-width: 128rem;
	width: 100%;
	margin: auto;
	margin-top: 3.2rem;
	text-align: left;
	white-space: nowrap;
}

.pankuzu .link {
	display: inline-block;
	position: relative;
}

.pankuzu .link+.link {
	margin-left: 2rem
}

.pankuzu .link+.link:before {
	content: "/";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -1.6rem;
	margin: auto;
	font-size: 1.6rem;
	color: rgba(55, 55, 55, 0.5);
}

.pankuzu .link .linkin > span {
	font-size: 1.6rem;
	font-weight: 500;
}

.pankuzu .link span.linkin > span {
	color: rgba(55, 55, 55, 0.5);
}

@media screen and (max-width:640px) {
	.pankuzu {
		width: 100%;
		margin-top: calc(12 * 100vw / 375);
		padding-left: calc(16 * 100vw / 375);
	}

	.pankuzu .link {
	}

	.pankuzu .link+.link {
		margin-left: calc(48 * 100vw / 375);
	}

	.pankuzu .link+.link:before {
		top: 0;
		bottom: 0;
		left: calc(-28 * 100vw / 375);
		font-size: calc(12 * 100vw / 375);
	}

	.pankuzu .link .linkin > span {
		font-size: calc(12 * 100vw / 375);
	}
}

.mod_footer {
	background-color: #009E96;
	position: relative;
	overflow: hidden;
	margin-top: 12rem;
}

@media screen and (max-width:640px) {
	.mod_footer {
		margin-top: calc(80 * 100vw / 375);
		padding-top: calc(48 * 100vw / 375);
		padding-bottom: 0;
	}
}

.mod_footer .footer_wrap {
	display: flex;
	max-width: 160rem;
	width: 100%;
	justify-content: space-between;
	padding: 5.5rem 8rem 0;
	box-sizing: border-box;
	margin: 0 auto;
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin: 0;
		max-width: none;
		padding: 0;
	}
}

.mod_footer .footer_wrap .f_left {
	max-width: 58.7rem;
	width: 100%;
	display: flex;
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_left {
		max-width: none;
		display: flex;
		flex-wrap: wrap;
	}
	.mod_footer .footer_wrap .f_left .logo_nav {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
}

.mod_footer .footer_wrap .f_left .logo_box {
}

.mod_footer .footer_wrap .f_left .logo_box img {
	width: 100%;
	max-width: 26.3rem;
	vertical-align: bottom;
}


.mod_footer .footer_wrap .f_left .access_box {
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 4.8rem;
	margin-left: 4.8rem;
}

.mod_footer .footer_wrap .f_left .access_box::before {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	width: 1px;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.3);
}

.mod_footer .footer_wrap .f_left .access_box img {
	width: 100%;
	max-width: 22.8rem;
	vertical-align: bottom;
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_left .logo .ph {
		height: auto;
	}

	.mod_footer .footer_wrap .f_left .logo img {
		width: 100%;
	}

	.mod_footer .footer_wrap .f_left .access_box {
		padding-left: 0;
		margin-left: 0;
	}

	.mod_footer .footer_wrap .f_left .logo_box {
		margin: 0 auto;
	}

	.mod_footer .footer_wrap .f_left .access_box {
		margin: 0 auto;
		padding-top: calc(24 * 100vw / 375);
		margin-top: calc(12 * 100vw / 375);
	}

	.mod_footer .footer_wrap .f_left .logo_box img {
		width: calc(302 * 100vw / 375);
		max-width: none;
	}

	.mod_footer .footer_wrap .f_left .access_box img {
		width: calc(310 * 100vw / 375);
		max-width: none;
	}

	.mod_footer .footer_wrap .f_left .access_box::before {
		width: calc(310 * 100vw / 375);
		height: 1px;
		bottom: auto;
		top: 0;
	}

	.mod_footer .footer_wrap .f_right .web_box {
		margin: 0 auto;
	}

	.mod_footer .footer_wrap .f_right .web_box img {
		width: calc(350 * 100vw / 375);
		max-width: none;
	}

	.mod_footer .footer_wrap .f_right .insta_box img {
		width: calc(350 * 100vw / 375);
		max-width: none;
	}
}


.mod_footer .footer_wrap .f_right {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	max-width: 76.3rem;
	width: 100%
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_right {
		padding: 0;
		padding-left: calc(20 * 100vw / 375);
		padding-right: calc(20 * 100vw / 375);
		margin-top: calc(32 * 100vw / 375);
	}
}


.mod_footer .footer_wrap .f_right .web_box {
}

.mod_footer .footer_wrap .f_right .web_box img {
	width: 100%;
	max-width: 36.2rem;
	vertical-align: bottom;
}

.mod_footer .footer_wrap .f_right .insta_box {
}

.mod_footer .footer_wrap .f_right .insta_box img {
	width: 100%;
	max-width: 36.2rem;
	vertical-align: bottom;
}


@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_right .insta_box {
		margin-top: calc(25 * 100vw / 375);
	}
}

.copyright_box {
	display: flex;
	justify-content: center;
	margin-top: 5.7rem;
	padding-bottom: 2rem;
	position: relative;
	flex-wrap: wrap;
}

.copyright_box::before {
	content: "";
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
	width: 100%;
	height: 1px;
	background-color: rgba(255, 255, 255, 0.3);
}

.copyright_box img {
	width: 100%;
	max-width: 27.2rem;
	vertical-align: bottom;
}

.copyright {
	padding-top: 2rem;
}

@media screen and (max-width:640px) {

	.copyright_box {
		margin-top: calc(40 * 100vw / 375);
		padding-bottom: 0;
	}

	.copyright {
		padding-top: calc(16 * 100vw / 375);
		padding-bottom: calc(15 * 100vw / 375);
	}
}
