@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;
	/*
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt"
	*/
}

@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
	}
}

/*
[data-autoheight],
[data-pc-autoheight],
[data-sp-autoheight] {
	-webkit-transition: none !important;
	transition: none !important
}

.flowbottomSP {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 44px;
	display: table;
	text-align: center;
	-webkit-transition: -webkit-transform 1s;
	transition: -webkit-transform 1s;
	transition: transform 1s;
	transition: transform 1s, -webkit-transform 1s;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
	z-index: 999
}

.flowbottomSP a {
	display: table-cell;
	background-color: #FFF;
	vertical-align: middle
}

.flowbottomSP a:nth-child(2) {
	background-color: #FFFEB7
}

.flowbottomSP span {
	font-size: 0.11rem
}

.state_fewscroll .flowbottomSP {
	-webkit-transform: none;
	transform: none
}

.pagetopbtn {
	position: fixed;
	bottom: 60px;
	right: 10px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	-webkit-filter: opacity(0%);
	filter: opacity(0%);
	pointer-events: none;
	-webkit-transition: opacity 0.2s, -webkit-filter 1s;
	transition: opacity 0.2s, -webkit-filter 1s;
	transition: filter 1s, opacity 0.2s;
	transition: filter 1s, opacity 0.2s, -webkit-filter 1s;
	background-color: #fff;
	z-index: 999;
	margin-bottom: env(safe-area-inset-bottom)
}

.pagetopbtn:before {
	content: "";
	display: block;
	position: absolute;
	top: 7px;
	bottom: 0;
	right: 0;
	left: 0;
	width: 12px;
	height: 12px;
	margin: auto;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg)
}

.no-touchevents .pagetopbtn:hover {
	opacity: 0.6
}

.state_screenheightscroll .pagetopbtn {
	-webkit-filter: opacity(100%);
	filter: opacity(100%);
	pointer-events: auto
}

.f_min {
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif
}
*/

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

body {
	color: #373737;
	background-color: #f5f5fa;
}

.mod_header .row01 {
	background-color: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	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 {
	width: 100%;
	max-width: 1200px;
	height: 11.8rem;
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

@media screen and (max-width:640px) {
	.mod_header .row01 .in {
		height: calc(75 * 100vw / 375);
	}
}

.mod_header .row01 .logo {
	display: block
}

.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: 13.8rem;
		*/
		width: 100%;
		height: auto
	}
}

@media screen and (max-width:640px) {
	.mod_header .row01 .logo .logoimg {
		width: auto;
		height: calc(33 * 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: #F5F5FA;
	position: relative;
	overflow: hidden;
}

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

.mod_footer .footer_wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 114rem;
	width: 100%;
	margin: 9.6rem auto 11.3rem;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

@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;
	}
}

.mod_footer .footer_wrap .f_left {
	max-width: 30rem;
	width: 100%;
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_left {
		max-width: none;
		display: flex;
		padding-left: calc(24 * 100vw / 375);
		padding-right: calc(24 * 100vw / 375);
		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 .ph {
	height: 11.8rem;
	display: flex;
	align-items: center;
}

.mod_footer .footer_wrap .f_left .logo img {
	width: 100%;
	max-width: 23.3rem;
	height: auto;
	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 {
		max-width: calc(117 * 100vw / 375);
		width: 100%;
	}
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_left .logo_nav .nav {
	}
	.mod_footer .footer_wrap .f_left .logo_nav .nav ul {
		display: flex;
	}
	.mod_footer .footer_wrap .f_left .logo_nav .nav ul li {
		font-size: calc(20 * 100vw / 375);
	}
	.mod_footer .footer_wrap .f_left .logo_nav .nav ul li + li {
		margin-left: calc(24 * 100vw / 375);
	}
}

.mod_footer .footer_wrap .f_left .ul_list {
	max-width: 73rem;
	width: 100%;
	margin: 0 auto
}

@media print,
screen and (min-width:641px) {
	.mod_footer .footer_wrap .f_left .ul_list {
		margin-top: 0.7rem;
	}
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_left .ul_list {
		margin-top: 0;
		max-width: none;
		width: 100%;
		text-align: right;
	}
}

.mod_footer .footer_wrap .f_left .ul_list ul li {
	font-size: 1.4rem;
	line-height: clac(24/14)
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_left .ul_list ul li {
		font-size: 1.3rem;
		line-height: 1.8461538462
	}
}

.mod_footer .footer_wrap .f_left .ul_list ul li+li {
	margin-top: 0.4rem
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_left .ul_list ul li+li {
		margin-top: 0.5rem
	}
}


.mod_footer .footer_wrap .f_left .ul_list ul li a {
	font-size: 1.6rem;
	line-height: 1;
	text-decoration: none;
	position: relative;
	display: inline-block;
	transition: color 0.3s ease;
}

.mod_footer .footer_wrap .f_left .ul_list ul li a:hover {
	color: #E99DC5;
}

.mod_footer .footer_wrap .f_left .ul_list ul li a::after {
	content: '';
	position: absolute;
	bottom: -6px;
	left: 50%;
	width: 0;
	height: 1px;
	background-color: #E99DC5;
	transition: all 0.3s ease;
	transform: translateX(-50%);
}

.mod_footer .footer_wrap .f_left .ul_list ul li a:hover::after {
	width: 100%;
}


.mod_footer .footer_wrap .f_right {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	max-width: 74rem;
	width: 100%
}

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

.mod_footer .footer_wrap .f_right .top_nav {
	width: 100%
}

@media print,
screen and (min-width:641px) {
	.mod_footer .footer_wrap .f_right .top_nav ul {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between
	}
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_right .top_nav ul {
		margin-top: 4rem
	}
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_right .top_nav li {
		width: 50%
	}
}

.mod_footer .footer_wrap .f_right .top_nav li a {
	font-size: 1.6rem;
	line-height: 1;
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_right .top_nav li a {
		font-size: 1.3rem;
		line-height: 2.1538461538
	}
}

@media print,
screen and (min-width:641px) {
	.mod_footer .footer_wrap .f_right .top_nav li+li {
		margin-left: 2rem
	}
}

@media print,
screen and (min-width:641px) {
	.mod_footer .footer_wrap .f_right .bottom_nav {
		width: 100%;
		margin-top: 3rem;
	}
}

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

.mod_footer .footer_wrap .f_right .bottom_nav .page_top {
	width: 100%;
	display: flex;
	justify-content: right;
	font-size: 1.6rem;
	position: relative;
	padding-right: 3.3rem;
	box-sizing: border-box;
}

.mod_footer .footer_wrap .f_right .bottom_nav .page_top::before {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 2.4rem;
	height: 2.4rem;
	background-image: url(/assets/img/pagetop.svg);
	background-size: cover;
	background-size: contain;
	background-repeat: no-repeat;
}

.mod_footer .footer_wrap .f_right .bottom_nav .copyright {
	width: 100%;
	display: flex;
	justify-content: right;
	font-size: 1.4rem;
	margin-top: 1.9rem;
}

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

.mod_footer .footer_wrap .f_right .nav ul {
	display: flex;
	justify-content: right;
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_right .nav ul {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap
	}
}

.mod_footer .footer_wrap .f_right .nav li {
	display: inline-block;
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_right .nav li {
		width: 50%
	}
}

.mod_footer .footer_wrap .f_right .nav li a {
	font-size: 2rem;
	line-height: 1;
	text-decoration: none;
	position: relative;
	display: inline-block;
	transition: color 0.3s ease;
}
.mod_footer .footer_wrap .f_right .nav li a:hover {
	color: #E99DC5;
}
.mod_footer .footer_wrap .f_right .nav li a::after {
	content: '';
	position: absolute;
	bottom: -6px;
	left: 50%;
	width: 0;
	height: 1px;
	background-color: #E99DC5;
	transition: all 0.3s ease;
	transform: translateX(-50%);
}
.mod_footer .footer_wrap .f_right .nav li a:hover::after {
	width: 100%;
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_right .nav li a {
		font-size: 1.3rem;
	}
}

@media print,
screen and (min-width:641px) {
	.mod_footer .footer_wrap .f_right .nav li+li {
		margin-left: 1.7rem;
	}
}

@media print,
screen and (min-width:641px) {
	.mod_footer .footer_wrap .f_right .contact_box {
		height: 100%
	}
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_right .contact_box {
		margin-top: 4rem
	}
}

@media print,
screen and (min-width:641px) {
	.mod_footer .footer_wrap .f_right .contact_box .contact {
		height: 100%
	}
}

.mod_footer .footer_wrap .f_right .contact_box .contact>a {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	background-color: #E85A24;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	color: #FFF
}

@media print,
screen and (min-width:641px) {
	.mod_footer .footer_wrap .f_right .contact_box .contact>a {
		height: 100%;   
		padding: 0 2rem;
	}
}

@media screen and (max-width:640px) {
	.mod_footer .footer_wrap .f_right .contact_box .contact>a {
		height: 4rem
	}
}

.mod_footer .decoration_box {
	font-size: 12.5rem;
	font-weight: 700;
	color: #F5ECF5;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1.6rem;
	margin: auto;
	text-align: center;
	line-height: 1;
}

@media screen and (max-width:640px) {
	.mod_footer .decoration_box {
		font-size: calc(31 * 100vw / 375);
		bottom: calc(-4 * 100vw / 375);
	}
}





.contact_area {
	margin-top: 23rem;
	display: flex;
	width: 100%;
	background: linear-gradient(270deg, #DCFDFF, #AAF7DE);
	background-size: 200% 200%;
	animation: Gradbg 5s ease infinite;
	align-items: center;
	justify-content: center;
	position: relative;
}

.contact_area:has(a:hover) {
	background: linear-gradient(270deg, #AAF7DE, #DCFDFF);
	animation: Gradbg 5s ease infinite;
}

.Gradation_1_text{
	font-size: 30px;
	font-family: Arial;
	font-weight: 600;
	color: #fff;
 }

@keyframes Gradbg {
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}

.contact_area .bg_deco {
	position: absolute;
	left: 0;
	top: -6rem;
	max-width: 69.9rem;
	width: 100%;
	height: 14.1rem;
}

.contact_area .bg_deco ul {
	position: relative;
	width: 100%;
	height: 100%;
}

.contact_area .bg_deco ul li {
    opacity: 0;
}

.contact_area .bg_deco ul li:nth-child(1) {
	position: absolute;
	bottom: 0;
	left: 0;
}

.contact_area .bg_deco ul li:nth-child(2) {
	position: absolute;
	top: 0;
	left: 11rem;
}

.contact_area .bg_deco ul li:nth-child(3) {
	position: absolute;
	bottom: 0;
	left: 23rem;
}

.contact_area .bg_deco ul li:nth-child(4) {
	position: absolute;
	top: 0;
	left: 35rem;
}

.contact_area .bg_deco ul li:nth-child(5) {
	position: absolute;
	bottom: 0;
	left: 45.5rem;
}

.contact_area .bg_deco ul li:nth-child(6) {
	position: absolute;
	top: 0;
	right: 12rem;
}

.contact_area .bg_deco ul li:nth-child(7) {
	position: absolute;
	bottom: 0;
	right: 0;
}





.contact_area .btn_area .btn_box {
	position: relative;
	margin-top: 4rem;
}

.contact_area > .in {
	width: 100%;
	max-width: 128rem;
	margin: 0 auto;
	position: relative;
	z-index: 1;
	padding: 8rem 0;
	box-sizing: border-box;
}

.contact_area .btn_area .btn_box > a {
	font-size: 5.3rem;
	font-weight: bold;
	width: 100%;
	display: block;
	z-index: 1;
	position: relative;
	padding: 9.2rem 0 7.9rem 6.4rem;
	box-sizing: border-box;
	position: relative;
}

.contact_area .btn_area .btn_box > a::before {
	content: "";
	position: absolute;
	right: 6.4rem;
	top: 0;
	bottom: 0;
	margin: auto;
	background-size: cover;
	width: 7.2rem;
	height: 3.6rem;
	background-image: url(/assets/img/arrow_c.svg);
	border-radius: 0.4rem;
}

.contact_area .btn_area .btn_box::before {
	content: "";
	background-color: #fff;
	border-radius: 16px;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.contact_area .btn_area .btn_box .jp {
	font-size: 2.4rem;
	font-weight: 700;
	display: block;
	position: relative;
	padding-left: 3.3rem;
}

.contact_area .btn_area .btn_box .jp::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background-image: url(/img/index/list_type.svg);
	width: 2.2rem;
	height: 2.2rem;
	background-size: cover;
	background-repeat: no-repeat;
}


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

	.contact_area {
		margin-top: calc(127 * 100vw / 375);
	}

	.contact_area .bg_deco {
		right: 0;
		left: calc(48 * 100vw / 375);
		top: 0;
		width: calc(467 * 100vw / 375);
		height: auto;
	}

	.contact_area .bg_deco ul li:nth-child(1) {
		left: 0;
	}

	.contact_area .bg_deco ul li:nth-child(2) {
		left: calc(90 * 100vw / 375);
	}

	.contact_area .bg_deco ul li:nth-child(3) {
		left: calc(166 * 100vw / 375);
	}

	.contact_area .bg_deco ul li:nth-child(4) {
		left: calc(234 * 100vw / 375);
	}

	.contact_area .bg_deco ul li:nth-child(5) {
		left: calc(318 * 100vw / 375);
	}

	.contact_area .bg_deco ul li:nth-child(6) {
		display: none;
	}

	.contact_area .bg_deco ul li:nth-child(7) {
		display: none;
	}

	.contact_area .bg_deco ul li:nth-child(1) img {
		width: calc(30 * 100vw / 375);
	}

	.contact_area .bg_deco ul li:nth-child(2) img {
		width: calc(44 * 100vw / 375);
	}

	.contact_area .bg_deco ul li:nth-child(3) img {
		width: calc(38 * 100vw / 375);
	}

	.contact_area .bg_deco ul li:nth-child(4) img {
		width: calc(30 * 100vw / 375);
	}

	.contact_area .bg_deco ul li:nth-child(5) img {
		width: calc(30 * 100vw / 375);
	}



	.contact_area .btn_area .btn_box {
		position: relative;
		margin-top: calc(33 * 100vw / 375);
	}

	.contact_area > .in {
		padding-top: calc(80 * 100vw / 375);
		padding-bottom: calc(80 * 100vw / 375);
		padding-left: calc(24 * 100vw / 375);
		padding-right: calc(24 * 100vw / 375);
	}

	.contact_area .btn_area .btn_box > a {
		font-size: calc(32 * 100vw / 375);
		padding-left: calc(24 * 100vw / 375);
		padding-top: calc(47 * 100vw / 375);
		padding-bottom: calc(40 * 100vw / 375);
	}

	.contact_area .btn_area .btn_box > a::before {
		right: calc(19 * 100vw / 375);
		top: 0;
		bottom: 0;
		width: calc(41 * 100vw / 375);
		height: calc(23 * 100vw / 375);
		border-radius: calc(6 * 100vw / 375);
	}

	.contact_area .btn_area .btn_box::before {
		border-radius: calc(8 * 100vw / 375);
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}

	.contact_area .btn_area .btn_box .jp {
		font-size: calc(20 * 100vw / 375);
		margin-top: calc(11 * 100vw / 375);
		padding-left: calc(24 * 100vw / 375);
	}

	.contact_area .btn_area .btn_box .jp::before {
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		background-image: url(/img/index/list_type.svg);
		width: calc(13 * 100vw / 375);
		height: calc(13 * 100vw / 375);
	}


}


.mv {
	background-size: cover;
	width: 100%;
	position: relative;
}
.mv .tit_box {
	width: 100%;
	padding-top: 14.4rem;
	padding-bottom: 13.1rem;
	max-width: 128rem;
	margin: 0 auto;
}
.mv .tit_box .tit {
	line-height: 1;
	color: #FFF;
}
.mv .tit_box .tit .en {
	font-size: 5.6rem;
}
.mv .tit_box .tit .jp {
	font-size: 2.2rem;
	display: block;
	margin-top: 1.7rem;
	position: relative;
	padding-left: 3.3rem;
}

.mv .tit_box .tit .jp::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background-image: url(/img/index/list_type.svg);
	width: 2.2rem;
	height: 2.2rem;
	background-size: cover;
	background-repeat: no-repeat;
}


.mv .kv_bg {
	width: 100%;
	height: 100%;
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #fcf8e3; /* ベースの中心の色（薄いイエロー系） */
	background-image:
	/* 左上: ピンク */
	radial-gradient(at 0% 0%, rgba(235, 158, 190, 0.9) 0px, transparent 50%),
	/* 右上: 水色 */
	radial-gradient(at 100% 0%, rgba(197, 237, 245, 0.9) 0px, transparent 50%),
	/* 左下: ミントグリーン */
	radial-gradient(at 0% 100%, rgba(175, 242, 216, 0.9) 0px, transparent 50%),
	/* 右下: ラベンダー */
	radial-gradient(at 100% 100%, rgba(216, 203, 240, 0.9) 0px, transparent 50%);
	animation: Grad 4s infinite alternate;
}

@keyframes Grad {
	0% {
		-webkit-filter: hue-rotate(0deg);
		filter: hue-rotate(0deg);
	}
	100% {
		-webkit-filter: hue-rotate(360deg);
		filter: hue-rotate(360deg);
	}
}

@media screen and (max-width:640px) {
	.mv {
		background-image: url(/assets/img/mv_bg.jpg);
	}
	.mv .tit_box {
		padding-top: calc(47 * 100vw / 375);
		padding-bottom: calc(50 * 100vw / 375);
	}
	.mv .tit_box .tit {
		padding-left: calc(16 * 100vw / 375);
	}
	.mv .tit_box .tit .en {
		font-size: calc(32 * 100vw / 375);
	}
	.mv .tit_box .tit .jp {
		font-size: calc(16 * 100vw / 375);
		margin-top: calc(9 * 100vw / 375);
		padding-left: calc(22 * 100vw / 375);
	}
	.mv .tit_box .tit .jp::before {
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		background-image: url(/img/index/list_type.svg);
		width: calc(13 * 100vw / 375);
		height: calc(13 * 100vw / 375);
	}
}


.btn_box::before {
	transition: background-color 0.4s ease, transform 0.3s ease;
}

.btn_box:hover::before {
	opacity: 0.8;
}

.btn_box > a,
.btn_box > a::before {
	transition: transform 0.3s ease;
}

.btn_box:hover > a {
	transform: translateX(5px); /* 全体を少し右にスライド */
}

.btn_box > a::before {
	transition: transform 0.3s ease;
}

.btn_box:hover > a::before {
	transform: translateX(3px); /* 矢印だけさらに動かして強調 */
}