@charset "UTF-8";

/* reset -------- */
*, ::before, ::after {
	box-sizing: border-box;
	border-style: solid;
	border-width: 0
}
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent
}
body {
	margin: 0
}
main {
	display: block
}
p, table, blockquote, address, pre, iframe, form, figure, dl {
	margin: 0
}
h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	font-weight: inherit;
	margin: 0
}
ul, ol {
	margin: 0;
	padding: 0;
	list-style: none
}
dt {
	font-weight: bold
}
dd {
	margin-left: 0
}
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit
}
pre {
	font-family: monospace, monospace;
	font-size: inherit
}
address {
	font-style: inherit
}
a {
	background-color: transparent;
	text-decoration: none;
	color: inherit
}
abbr[title] {
	text-decoration: underline dotted
}
b, strong {
	font-weight: bolder
}
code, kbd, samp {
	font-family: monospace, monospace;
	font-size: inherit
}
small {
	font-size: 80%
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}
sub {
	bottom: -0.25em
}
sup {
	top: -0.5em
}
svg, img, embed, object, iframe {
	vertical-align: bottom
}
button, input, optgroup, select, textarea {
	-webkit-appearance: none;
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	border-radius: 0;
	text-align: inherit;
	text-transform: inherit
}
button, [type="button"], [type="reset"], [type="submit"] {
	cursor: pointer
}
button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled {
	cursor: default
}
:-moz-focusring {
	outline: auto
}
select:disabled {
	opacity: inherit
}
option {
	padding: 0
}
fieldset {
	margin: 0;
	padding: 0;
	min-width: 0
}
legend {
	padding: 0
}
progress {
	vertical-align: baseline
}
textarea {
	overflow: auto
}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
	height: auto
}
[type="search"] {
	outline-offset: -2px
}
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none
}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}
[type="number"] {
	-moz-appearance: textfield
}
label[for] {
	cursor: pointer
}
details {
	display: block
}
summary {
	display: list-item
}
[contenteditable]:focus {
	outline: auto
}
table {
	border-color: inherit;
	border-collapse: collapse
}
caption {
	text-align: left
}
td, th {
	vertical-align: top;
	padding: 0
}
th {
	text-align: left;
	font-weight: bold
}


/* base -------- */
html {
  width: 100%;
  margin: 0 auto;
  font-size: 62.5%;
}

body {
  font-size: 3.2vw;
  line-height: 1.8;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Meiryo", "メイリオ", Osaka, "MS PGothic", "ＭＳ Ｐゴシック", Helvetica, Arial, Sans-Serif;
  color: #333333;
  text-align: left;
  background-color: #FFF;
}

@media screen and (min-width: 768px), print {
  body {
    font-size: 1.45455vw;
  }
}

@media screen and (min-width: 1100px) {
  body {
    font-size: 16px;
  }
}

a {
  color: #333333;
  text-decoration: none;
  transition: all 0.2s;
}

@media only screen and (min-width: 768px) {
  a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: 0.7;
  }
}
img{
	width: 100%;
	height: auto;
}
@media screen and (min-width: 768px), print {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}


/* layout -------- */
.container{
	width: 100%;
	padding-left: calc( 30 / 750 * 100vw );
	padding-right: calc( 30 / 750 * 100vw );
}
@media screen and (min-width: 768px), print {
	.container{
		max-width: 1020px;
		margin-left: auto;
		margin-right: auto;
		padding-left: calc( 30 / 1020 * 100vw );
		padding-right: calc( 30 / 1020 * 100vw );
	}
}
@media screen and (min-width: 1020px), print {
	.container{
		padding-left: 30px;
		padding-right: 30px;
	}
}

/**** font *****/
.f_small{
	font-size: 90%
}
.f_xs{
	font-size: 80%
}
.f_xxs{
	font-size: 70%
}
.f_xxxs{
	font-size: 60%
}
.f_xxxxs{
	font-size: 50%
}
.f_large{
	font-size: 110%
}
.f_xl{
	font-size: 120%
}
.f_xxl{
	font-size: 130%
}
.f_xxxl{
	font-size: 140%
}
.f_xxxxl{
	font-size: 150%
}

/**** mv *****/
.mv_main_wrap{
	background: url('../images/mv_main_bg_sp.jpg') no-repeat center center / auto 100%;
}
@media screen and (max-width: 767px), print {
	.mv_main_wrap .container{
		padding-left: 0;
		padding-right: 0;
	}
}
@media screen and (min-width: 768px), print {
	.mv_main_wrap{
		background: url('../images/mv_main_bg.jpg') no-repeat center center / auto 100%;
	}
}

.mv_trainer_wrap{
	background-color: #040a61;
	padding-top: calc( 30 / 750 * 100vw );
	padding-bottom: calc( 30 / 750 * 100vw );
}
.mv_trainer_list{
	display: flex;
	gap: calc( 20 / 750 * 100vw );
}
.mv_trainer_item{
	flex: 1;
	color: #FFFFFF;
	text-align: center;
}
.mv_trainer_item .trainer_name{
	font-size: calc( 18 / 750 * 100vw );
	font-weight: 500;
	line-height: 1.2;
	padding-bottom: calc( 10 / 750 * 100vw );
	margin-bottom: calc( 5 / 750 * 100vw );
	border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}
.mv_trainer_item .trainer_info{
	font-size: calc( 13 / 750 * 100vw );
	line-height: 1.5;
	margin-bottom: 0;
}

@media screen and (min-width: 768px), print {
	.mv_trainer_wrap{
		padding-top: calc( 30 / 1020 * 100vw );
		padding-bottom: calc( 30 / 1020 * 100vw );
	}
	.mv_trainer_list{
		gap: calc( 20 / 1020 * 100vw );
	}
	.mv_trainer_item .trainer_name{
		font-size: calc( 23 / 1020 * 100vw );
		padding-bottom: calc( 10 / 1020 * 100vw );
	}
	.mv_trainer_item .trainer_info{
		font-size: calc( 16 / 1020 * 100vw );
	}
}

@media screen and (min-width: 1020px), print {
	.mv_trainer_wrap{
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.mv_trainer_list{
		gap: 20px;
	}
	.mv_trainer_item .trainer_name{
		font-size: 23px;
		padding-bottom: 10px;
	}
	.mv_trainer_item .trainer_info{
		font-size: 16px;
	}
}
/**** nav *****/
#nav{
	background-color: #252525;
}
.nav_inner{
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}
.nav_list{
	display: flex;
}
.nav_item{
	flex: 1;
}
.nav_item a{
	display: block;
	position: relative;
}
.nav_text{
	position: absolute;
	bottom: calc( 20 / 750 * 100vw );
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	color: #FFFFFF;
}
.nav_text:after{
	content: '';
    display: inline-block;
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 31 31"><path fill="%23000" d="M15.500,30.500 C7.216,30.500 0.500,23.785 0.500,15.501 C0.500,7.216 7.216,0.500 15.500,0.500 C23.784,0.500 30.500,7.216 30.500,15.501 C30.500,23.785 23.784,30.500 15.500,30.500 ZM21.938,12.974 L17.762,17.149 L17.762,6.126 L13.187,6.126 L13.187,17.164 L8.997,12.974 L5.761,16.210 L12.232,22.680 L12.232,22.680 L15.467,25.916 L15.467,25.916 L15.467,25.916 L18.703,22.680 L18.703,22.680 L25.173,16.210 L21.938,12.974 Z"/></svg>');
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: contain;
    width: calc( 31 / 750 * 100vw );
    height: calc( 31 / 750 * 100vw );
    background-color: currentColor;
	margin-top: calc( 50 / 750 * 100vw );
	/* position: absolute;
	bottom: calc( 25 / 750 * 100vw );
	left: 50%;
	transform: translate3d(-50%, 0, 0); */
}
.nav_text .en{
	display: block;
	font-size: calc( 16 / 750 * 100vw );
	font-weight: 500;
	line-height: 1.5;
	color: #FFFFFF;
}
.nav_text .ja{
	display: block;
	font-size: calc( 34 / 750 * 100vw );
	line-height: 1.5;
	color: #FFFFFF;
}

@media screen and (min-width: 768px), print {
	.nav_text{
		bottom: calc( 25 / 1020 * 100vw );
	}
	.nav_text:after{
		width: calc( 31 / 1020 * 100vw );
		height: calc( 31 / 1020 * 100vw );
		margin-top: calc( 50 / 1020 * 100vw );
	}
	.nav_text .en{
		font-size: calc( 16 / 1020 * 100vw );
	}
	.nav_text .ja{
		font-size: calc( 34 / 1020 * 100vw );
	}
}

@media screen and (min-width: 1020px), print {
	.nav_text{
		bottom: 25px;
	}
	.nav_text:after{
		width: 31px;
		height: 31px;
		margin-top: 50px;
	}
	.nav_text .en{
		font-size: 16px;
	}
	.nav_text .ja{
		font-size: 34px;
	}
}

/**** section common *****/
.sectioin_space{
	padding-bottom: calc( 100 / 750 * 100vw );
}
.section_main{
	padding-top: calc( 80 / 750 * 100vw );
	padding-bottom: calc( 80 / 750 * 100vw );
}
.section_head{
	text-align: center;
}
.section_head.head_border{
	border-top: calc( 10 / 750 * 100vw ) solid #040a61;
	padding-top: calc( 30 / 750 * 100vw );
	border-bottom: 1px solid #cecece;
	padding-bottom: calc( 20 / 750 * 100vw );
	margin-bottom: calc( 40 / 750 * 100vw );
}
.section_catch{
	font-size: calc( 36 / 750 * 100vw );
	font-weight: 500;
	line-height: 1.5;
	margin: 0;
	padding: 0;
}
.section_title{
	font-size: calc( 55 / 750 * 100vw );
	font-weight: 500;
	line-height: 1.5;
	color: #040a61;
	margin-bottom: 0.5em;
}
.section_sub_title{
	font-size: calc( 44 / 750 * 100vw );
	font-weight: 500;
	line-height: 1.5;
	color: #040a61;
	margin-bottom: calc( 40 / 750 * 100vw );
	position: relative;
	padding-bottom: calc( 40 / 750 * 100vw );
}
.section_sub_title:after{
	content: '';
	display: inline-block;
	background: url('../images/icon_sub_title.png') no-repeat center center / contain;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: calc( 120 / 750 * 100vw );
	height: calc( 16 / 750 * 100vw );
	margin-left: auto;
	margin-right: auto;
}
body{
	font-size: calc( 28 / 750 * 100vw );
	line-height: 1.8;
}
p{
	margin-bottom: 1.5em;
}
p:last-child{
	margin-bottom: 0;
}

@media screen and (min-width: 768px), print {
	.sectioin_space{
		padding-bottom: calc( 80 / 1020 * 100vw );
	}
	.section_main{
		padding-top: calc( 60 / 1020 * 100vw );
		padding-bottom: calc( 60 / 1020 * 100vw );
	}
	.section_main > p{
		text-align: center;
	}
	.section_catch{
		font-size: calc( 24 / 1020 * 100vw );
	}
	.section_title{
		font-size: calc( 36 / 1020 * 100vw );
	}
	.section_head.head_border{
		border-top: calc( 10 / 1020 * 100vw ) solid #040a61;
		padding-top: calc( 30 / 1020 * 100vw );
		border-bottom: 1px solid #cecece;
		padding-bottom: calc( 20 / 1020 * 100vw );
		margin-bottom: calc( 40 / 1020 * 100vw );
	}
	.section_sub_title{
		font-size: calc( 36 / 1020 * 100vw );
		margin-bottom: calc( 40 / 1020 * 100vw );
		padding-bottom: calc( 40 / 1020 * 100vw );
	}
	.section_sub_title:after{
		width: calc( 120 / 1020 * 100vw );
		height: calc( 16 / 1020 * 100vw );
	}
	body{
		font-size: calc( 16 / 1020 * 100vw );
	}
}

@media screen and (min-width: 1020px), print {
	.sectioin_space{
		padding-bottom: 80px;
	}
	.section_main{
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.section_catch{
		font-size: 24px;
	}
	.section_head.head_border{
		border-top: 10px solid #040a61;
		padding-top: 30px;
		border-bottom: 1px solid #cecece;
		padding-bottom: 20px;
		margin-bottom: 40px;
	}
	.section_title{
		font-size: 36px;
	}
	.section_sub_title{
		font-size: 36px;
		margin-bottom: 40px;
		padding-bottom: 40px;
	}
	.section_sub_title:after{
		width: 120px;
		height: 16px;
	}
	body{
		font-size: 16px;
	}
}

/**** section_slider *****/
.section_slider_wrap{
	position: relative;
	margin-left: calc( -30 / 750 * 100vw );
	margin-right: calc( -30 / 750 * 100vw );
}
@media screen and (min-width: 768px), print {
	.section_slider_wrap{
		margin-left: calc( -30 / 1020 * 100vw );
		margin-right: calc( -30 / 1020 * 100vw );
	}
}
@media screen and (min-width: 1020px), print {
	.section_slider_wrap{
		margin-left: 0;
		margin-right: 0;
	}
}
.section_slider .slick-prev{
	left: 10px;
	z-index: 1;
}
.section_slider .slick-next{
	right: 10px;
	z-index: 1;
}
.section_slider_title_wrap{
	position: absolute;
	bottom: calc( 10 / 750 * 100vw );
	left: 0;
	width: 100%;
	height: calc( 140 / 750 * 100vw );
	text-align: center;
	background-color:rgba(4, 10, 97, 0.8);
	display: flex;
	justify-content: center;
	align-items: center;
}
.section_slider_title_wrap:after{
	content: '';
	display: inline-block;
	width: 100%;
	height: calc( 10 / 750 * 100vw );
	background-color:rgba(246, 229, 46, 0.8);
	position: absolute;
	bottom: calc( -10 / 750 * 100vw );
	left: 0;
}
.section_slider_title{
	margin: 0;
	padding: 0;
}
.section_slider_title .en{
	display: block;
	font-size: calc( 24 / 750 * 100vw );
	font-weight: 500;
	line-height: 1.2;
	color: #FFFFFF;
}
.section_slider_title .ja{
	display: block;
	font-size: calc( 55 / 750 * 100vw );
	line-height: 1.2;
	color: #FFFFFF;
}
@media screen and (min-width: 768px), print {
	.section_slider_title_wrap{
		height: calc( 140 / 1020 * 100vw );
		bottom: calc( 10 / 1020 * 100vw );
	}
	.section_slider_title_wrap:after{
		height: calc( 10 / 1020 * 100vw );
		bottom: calc( -10 / 1020 * 100vw );
	}
	.section_slider_title .en{
		font-size: calc( 16 / 1020 * 100vw );
	}
	.section_slider_title .ja{
		font-size: calc( 40 / 1020 * 100vw );
	}
}
@media screen and (min-width: 1020px), print {
	.section_slider_title_wrap{
		height: 140px;
		bottom: 10px;
	}
	.section_slider_title_wrap:after{
		height: 10px;
		bottom: -10px;
	}
	.section_slider_title .en{
		font-size: 16px;
	}
	.section_slider_title .ja{
		font-size: 40px;
	}
}

/**** section_staff *****/
.section_staff{
	margin-left: calc( -30 / 750 * 100vw );
	margin-right: calc( -30 / 750 * 100vw );
}
.section_staff_body{
	background-color: #f9f8e6;
	padding: calc( 30 / 750 * 100vw ) calc( 30 / 750 * 100vw ) calc( 50 / 750 * 100vw ) calc( 30 / 750 * 100vw );
}
@media screen and (min-width: 768px), print {
	.section_staff{
		margin-left: calc( -30 / 1020 * 100vw );
		margin-right: calc( -30 / 1020 * 100vw );
	}
	.section_staff_body{
		padding: calc( 30 / 1020 * 100vw ) calc( 30 / 1020 * 100vw ) calc( 50 / 1020 * 100vw ) calc( 30 / 1020 * 100vw );
	}
}
@media screen and (min-width: 1020px), print {
	.section_staff{
		margin-left: 0;
		margin-right: 0;
	}
	.section_staff_body{
		padding: 30px 30px 50px 30px;
	}
}


/**** about *****/
#about .section_main{
	background: url('../images/about_bg.png') no-repeat center center / contain;
	padding-top: calc( 100 / 750 * 100vw );
	padding-bottom: calc( 100 / 750 * 100vw );
}

@media screen and (min-width: 768px), print {
	#about .section_main{
		background-size: calc( 527 / 1020 * 100vw ) auto;
		padding-top: calc( 100 / 1020 * 100vw );
		padding-bottom: calc( 100 / 1020 * 100vw );
	}
}

@media screen and (min-width: 1020px), print {
	#about .section_main{
		background-size: 527px auto;
		padding-top: 100px;
		padding-bottom: 100px;
	}
}


/**** section_table *****/
.section_table{
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
.section_table tr:not(:last-child){
	border-bottom: 1px solid #dddddd;
}
.section_table th{
	background-color: #31389f;
	padding: calc( 10 / 750 * 100vw ) calc( 15 / 750 * 100vw );
	color: #FFFFFF;
	font-weight: 500;
	white-space: nowrap;
	vertical-align: middle;
	width: calc( 230 / 750 * 100vw );
}
.section_table td{
	background-color: #e1e8ee;
	padding: calc( 10 / 750 * 100vw ) calc( 15 / 750 * 100vw );
}
.section_table_title{
	font-size: calc( 40 / 750 * 100vw );
	font-weight: 500;
	text-align: center;
	margin-bottom: calc( 20 / 750 * 100vw );
	display: flex;
	justify-content: center;
	align-items: center;
	gap: calc( 25 / 750 * 100vw );
}
.section_table_title::before,
.section_table_title::after{
	content: '';
	display: inline-block;
	background-color: #040a61;
	width: 100%;
	height: 1px;
	flex: 1;
}
.section_table_title .title_inner{
	display: inline-block;
}

@media screen and (min-width: 768px), print {
	.section_table th{
		padding: calc( 10 / 1020 * 100vw ) calc( 15 / 1020 * 100vw );
		width: calc( 190 / 1020 * 100vw );
	}
	.section_table td{
		padding: calc( 10 / 1020 * 100vw ) calc( 15 / 1020 * 100vw );
	}
	.section_table_title{
		font-size: calc( 30 / 1020 * 100vw );
		margin-bottom: calc( 20 / 1020 * 100vw );
		gap: calc( 25 / 1020 * 100vw );
	}
}

@media screen and (min-width: 1020px), print {
	.section_table th{
		padding: 10px 15px;
		width: 190px;
	}
	.section_table td{
		padding: 10px 15px;
	}
	.section_table_title{
		font-size: 30px;
		margin-bottom: 20px;
		gap: 25px;
	}
}


/**** benefits_list *****/
.benefits_list{
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: auto;
	gap: calc( 40 / 750 * 100vw );
}
.benefits_list li img{
	width: 100%;
	height: auto;
}

@media screen and (min-width: 768px), print {
	.benefits_list{
		grid-template-columns: repeat(4, 1fr);
		gap: calc( 40 / 1020 * 100vw );
	}
}
@media screen and (min-width: 1020px), print {
	.benefits_list{
		grid-template-columns: repeat(4, 1fr);
		gap: 40px;
	}
}

/**** shop_list *****/
.shop_list{
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	grid-template-rows: auto;
	gap: calc( 40 / 750 * 100vw );
}
.shop_list .list_item{
	background-color: #e1e8ee;
	padding: calc( 40 / 750 * 100vw );
	border-radius: calc( 20 / 750 * 100vw );
}
.shop_list .list_item .thumb_wrap{
	margin-bottom: calc( 20 / 750 * 100vw );
}
.shop_list .list_item .thumb img{
	width: 100%;
	height: auto;
}
.shop_list .list_item .content .title{
	font-size: calc( 40 / 750 * 100vw );
	font-weight: 500;
	margin-bottom: 0;
}
.shop_list .list_item .content .address{
	margin-bottom: 0;
}

@media screen and (min-width: 768px), print {
	.shop_list{
		grid-template-columns: repeat(3, 1fr);
		gap: calc( 20 / 1020 * 100vw );
	}
	.shop_list .list_item{
		padding: calc( 20 / 1020 * 100vw );
		border-radius: calc( 20 / 1020 * 100vw );
	}
	.shop_list .list_item .thumb_wrap{
		margin-bottom: calc( 10 / 1020 * 100vw );
	}
	.shop_list .list_item .content .title{
		font-size: calc( 17 / 1020 * 100vw );
	}
	.shop_list .list_item .content .address{
		font-size: calc( 14 / 1020 * 100vw );
	}
}
@media screen and (min-width: 1020px), print {
	.shop_list{
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
	.shop_list .list_item{
		padding: 20px;
		border-radius: 20px;
	}
	.shop_list .list_item .thumb_wrap{
		margin-bottom: 10px;
	}
	.shop_list .list_item .content .title{
		font-size: 17px;
	}
	.shop_list .list_item .content .address{
		font-size: 14px;
	}
}





/**** btn_list *****/
.cta{
	background-color:rgba(247, 232, 66, 0.9);
	padding-top: calc( 30 / 750 * 100vw );
	padding-bottom: calc( 30 / 750 * 100vw );
}
.cta .container{
	padding-left: calc(15 / 750 * 100vw);
    padding-right: calc(15 / 750 * 100vw);
}
.cta_subtitle{
	font-size: calc( 32 / 750 * 100vw );
	font-weight: 500;
	text-align: center;
	margin-bottom: calc( 20 / 750 * 100vw );
}
.btn_list{
	display: flex;
	grid-gap: calc( 15 / 750 * 100vw );
}
.btn_list li{
	flex: 1;
}
.btn_list li a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: calc( 85 / 750 * 100vw );
	border-radius: calc( 15 / 750 * 100vw );
	font-size: calc( 28 / 750 * 100vw );
	font-weight: 500;
	line-height: calc( 46 / 38 );
	text-align: center;
}
.btn_list li a.form{
	color: #FFFFFF;
	background-color: #323891;
}
.btn_list li a.line{
	color: #FFFFFF;
	background-color: #06c755;
}
.btn_list li a .btn_icon{
	width: calc( 85 / 750 * 100vw );
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.btn_list li a.form .btn_icon{
	border-right: 1px solid rgba(0, 0, 0, 0.25);
}
.btn_list li a.line .btn_icon{
	border-right: 1px solid rgba(0, 0, 0, 0.08);
}
.btn_list li a.form .btn_icon img{
	width: calc( 51 / 85 * 100% );
	height: auto;
}
.btn_list li a.line .btn_icon img{
	width: calc( 64 / 85 * 100% );
	height: auto;
}
.btn_list li a .btn_text{
	flex: 1;
}

@media screen and (min-width: 768px), print {
	.cta{
		padding-top: calc( 40 / 1020 * 100vw );
		padding-bottom: calc( 40 / 1020 * 100vw );
	}
	.cta_subtitle{
		font-size: calc( 24 / 1020 * 100vw );
		margin-bottom: calc( 20 / 1020 * 100vw );
	}
	.btn_list{
		grid-gap: calc( 20 / 1020 * 100vw );
	}
	.btn_list li a{
		height: calc( 85 / 1020 * 100vw );
		border-radius: calc( 15 / 1020 * 100vw );
		font-size: calc( 28 / 1020 * 100vw );
	}
	.btn_list li a .btn_icon{
		width: calc( 85 / 1020 * 100vw );
	}
}

@media screen and (min-width: 1020px), print {
	.cta{
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.cta_subtitle{
		font-size: 24px;
		margin-bottom: 20px;
	}
	.btn_list{
		grid-gap: 20px;
	}
	.btn_list li a{
		height: 85px;
		border-radius: 15px;
		font-size: 28px;
	}
	.btn_list li a .btn_icon{
		width: 85px;
	}
}

/***** footer *****/
.footer_content{
	display: flex;
	height: calc( 120 / 750 * 100vw );
	background-color: #040a61;
}
.copyright{
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: calc( 24 / 750 * 100vw );
	color: #FFFFFF;
}
.totop{
	width: calc( 120 / 750 * 100vw );
}
.totop a{
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #000000;
	width: 100%;
	height: 100%;
}
.totop a img{
	width: calc( 30 / 750 * 100vw );
}

@media screen and (min-width: 768px), print {
	.footer_content{
		height: calc( 80 / 1020 * 100vw );
	}
	.copyright{
		font-size: calc( 16 / 1020 * 100vw );
	}
	.totop{
		width: calc( 80 / 1020 * 100vw );
	}

	.totop a img{
		width: calc( 20 / 1020 * 100vw );
	}
}

@media screen and (min-width: 1020px), print {
	.footer_content{
		height: 80px;
	}
	.copyright{
		font-size: 16px;
	}
	.totop{
		width: 80px;
	}

	.totop a img{
		width: 20px;
	}
}


/**** 追従 *****/
.floating-banner {
	position: fixed;
	z-index: 99999;
	left: 0px;
	right: 0px;
	bottom: 0%;
}
.floating-banner{
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.6s ease;
}
body.loaded .floating-banner.active{
	opacity: 1;
	visibility: visible;
}

