@charset "utf-8";

/*
/*    CSS MENU
/*

/*
*********************************************************************************
/*
/* コメントタイプ
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
中コメント */


/*------------------------------------------------------------------------------
小コメント */


/* コメント */


/*
*********************************************************************************
/*
/* header
/*
/*******************************************************************************/

header {
	position: relative;
	z-index: 11;
}

#upage header:before {
	background: url(/assets/images/umv01_sp.jpg) no-repeat center center / cover;
	position: absolute;
	content: "";
	width: 100%;
	height: 54vw;
	bottom: 0;
}

header .h_txt {
	font-size: 1rem;
	background: #51565e;
	color: #fff;
	padding: 2vw 4vw;
	line-height: 1.5;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

header .h_con {
	height: 54vw;
	padding: 2vw 4vw;
	position: relative;
}

header .h_con .logo {
	width: 25vw;
}

header .nav_menu_wrap,
header .nav_menu {
	position: absolute;
	top: 0;
	right: 0;
	width: 12.6vw;
	z-index: 1000;
}

header .nav_menu a {
	position: relative;
	display: block;
}

header .nav_menu img {
	transition: 0.5s;
	display: block;
}

header .nav_menu .close {
	position: relative;
	z-index: 10;
}

header .nav_menu .open {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	opacity: 0;
}

header .h_con nav {
	display: none;
}

header .nav_toggle {
	opacity: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 100;
	width: 83%;
	height: 100%;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
	transition: 0.7s ease;
}

header .nav_toggle_inner {
	height: 100%;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: #fff;
	padding: 15vw 10vw;
}

header .nav_menu_bg {
	position: fixed;
	display: none;
	z-index: 99;
	background: rgba(255, 255, 255, 0.8);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.toggle_on .nav_toggle {
	-webkit-transform: translateX(0);
	transform: translateX(0);
	opacity: 1;
}

.toggle_on .nav_menu .close {
	opacity: 0;
}

.toggle_on .nav_menu .open {
	opacity: 1;
}

.toggle_on .nav_menu {
	position: fixed;
}

.nav_menu_fixed .nav_menu {
	position: fixed;
}

header .nav_toggle_inner .navin_btn li + li {
	margin-top: 3vw;
}

header .nav_toggle_inner .nav_toggle_menu {
	position: relative;
	margin-top: 7vw;
	padding-top: 7vw;
}

header .nav_toggle_inner .nav_toggle_menu:before {
	position: absolute;
	content: "";
	width: 15vw;
	height: 2px;
	background: #dde4f0;
	top: 0;
	left: 0;
}

header .nav_toggle_inner .nav_toggle_menu a {
	color: #000;
	text-decoration: none;
	padding: 1.5vw 0 1.5vw 4vw;
	position: relative;
	display: block;
	font-weight: 500;
	font-size: 1.6rem;
}

header .nav_toggle_inner .nav_toggle_menu > li > a:before {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1vw 0 1vw 1.4vw;
	border-color: transparent transparent transparent #dde4f0;
	top: 3vw;
	left: 0;
}

header .nav_toggle_inner .nav_toggle_menu > li li a:before {
	position: absolute;
	content: "";
	width: 1vw;
	height: 1vw;
	border-right: 2px solid #dde4f0;
	border-top: 2px solid #dde4f0;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	top: 3.6vw;
	left: 4vw;
}

header .nav_toggle_inner .nav_toggle_menu > li li a {
	padding-left: 7vw;
}

header .nav_toggle_inner .nav_toggle_menu02 > li > a:before {
	display: none;
}

header .nav_toggle_inner .nav_toggle_menu02 a {
	font-size: 1.4rem;
}

header .nav_toggle_inner .nav_logo {
	width: 25vw;
	margin: 8vw 0 0vw 4vw;
}


/*
*********************************************************************************
/*
/* footer + pagetop
/*
/*******************************************************************************/

#pagetop {
	display: none;
}

.f_spfix {
	position: fixed;
	bottom: 0;
	height: 13vw;
	width: 100vw;
	background: rgb(81 86 94 / 87%);
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}

.f_spfix li {
	width: 50%;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
}

.f_spfix li a {
	width: 100%;
	text-align: center;
	line-height: 1.2;
	font-size: 1.3rem;
}

.f_spfix li a img {
	margin: 0 auto;
	display: block;
	width: 6vw;
	padding-top: 1.6vw;
}

footer {
	background: #51565e;
	color: #fff;
}

footer a {
	color: #fff;
	text-decoration: none;
}

footer .f_con {
	padding: 12vw 0 25vw;
}

footer .f_nav li {
	display: inline-block;
	padding-right: 1.8em;
	letter-spacing: 0;
}

footer .f_nav li a {
	padding: 1.7vw 0;
}

footer small {
	font-size: 1rem;
	letter-spacing: 0;
	margin-top: 4vw;
	display: block;
}

footer .f_logo {
	width: 20vw;
	margin-top: 7vw;
}


/*
*********************************************************************************
/*
/* モジュール
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
テキスト */

.line {
	display: inline;
	background: #fff155;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
breadcrumb */

.breadcrumb {
	font-size: 1rem;
	letter-spacing: 0.05em;
}

.breadcrumb li {
	font-weight: 700;
	display: inline-block;
	position: relative;
}

.breadcrumb li:not(:last-child):after {
	content: "/";
	padding-left: 0.5em;
}

.breadcrumb li:not(:last-child) {
	padding-right: 0.5em;
}

.breadcrumb a {
	color: #000;
	text-decoration: none;
	font-weight: 300;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
タイトル */

.page_tlblock {
	background: #f4f7fb;
	padding: 3vw 0 10vw 0;
	margin-bottom: 10vw;
}

.page_tl {
	font-weight: 500;
	font-size: 2.2rem;
	padding-top: 6vw;
	line-height: 1.5;
	width: 100%;
}

.lv01 {
	font-weight: 500;
	font-size: 2.2rem;
	margin-top: 10vw;
	margin-bottom: 7vw;
	position: relative;
}

.lv01:before,
.lv01:after {
	position: absolute;
	content: "";
	width: 5.6vw;
	height: 1px;
	background: #d9e1ed;
	top: 4vw;
	left: -11.2vw;
}

.lv01:after {
	left: inherit;
	right: -11.2vw;
}

.lv01_02 {
	font-size: 2.2rem;
	font-weight: 700;
	margin-top: 10vw;
	margin-bottom: 7vw;
}

.graybg .lv01_02 {
	color: #818590;
}

.lv02 {
	font-weight: 700;
	color: #ff759c;
	letter-spacing: 0.025em;
	font-size: 1.9rem;
	line-height: 1.6;
	margin-bottom: 4vw;
	margin-top: 6vw;
}

.lv03 {
	color: #00ca41;
	font-weight: 700;
	font-size: 1.9rem;
	line-height: 1.6;
	margin-top: 6vw;
	margin-bottom: 5vw;
}

.lv03.lvtl_l {
	font-size: 2.2rem !important;
}

.lv03_02 {
	color: #000000;
	font-weight: 700;
	font-size: 1.9rem;
	line-height: 1.6;
	margin-top: 6vw;
	margin-bottom: 5vw;
}

.lv03_icon {
	padding-top: 11vw;
	position: relative;
}

.lv03_icon:before {
	position: absolute;
	content: "";
	background: url(/assets/images/top_anshin_icon01.png) no-repeat center top / contain;
	width: 9vw;
	height: 9vw;
	top: 0%;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%)
}

.lv03_icon02:before {
	background-image: url(/assets/images/top_anshin_icon02.png);
}

.lv04 {
	color: #ff759c;
	font-weight: 700;
	font-size: 1.7rem;
	line-height: 1.6;
	margin-top: 6vw;
	margin-bottom: 5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リスト */

.li_dot {
	margin-top: 3vw;
}

.li_dot li {
	position: relative;
	padding-left: 6vw;
}

.li_dot li:before {
	position: absolute;
	content: "";
	background: #00ca41;
	width: 1vw;
	height: 1vw;
	border-radius: 50%;
	top: 2.4vw;
	left: 1.2vw;
}

.num_maru {
	counter-reset: num_maru;
	list-style: none;
	padding-left: 0;
}

.num_maru > li {
	position: relative;
	padding-left: 1.6em;
	font-size: 1.7rem;
	font-weight: 500;
}

.num_maru li + li {
	margin-top: 1.3vw;
}

.num_maru > li:before {
	content: counter(num_maru) "";
	counter-increment: num_maru;
	position: absolute;
	left: 0;
	width: 1.6em;
	height: 1.6em;
	background: #00ca41;
	border-radius: 50px;
	color: #fff;
	line-height: 1.8;
	text-align: center;
	font-size: 1.2rem;
	top: 1.2vw;
}

.num_li {
	counter-reset: num_li;
	list-style: none;
	padding-left: 0;
}

.num_li > li {
	position: relative;
	margin-bottom: .5em;
	padding-left: 2em;
}

.num_li > li:before {
	content: counters(num_li, "-") ".";
	counter-increment: num_li;
	position: absolute;
	left: 0;
	text-align: center;
	top: 0;
}

.check_g {
	color: #00ca41;
	font-weight: 700;
	margin: 3vw 0;
}

.check_g li {
	padding-left: 5vw;
	position: relative;
}

.check_g li:before {
	position: absolute;
	content: "";
	width: 2vw;
	height: 1.5vw;
	border-right: 2px solid #00ca41;
	border-top: 2px solid #00ca41;
	transform: rotate(45deg);
	-webkit-transform: rotate(135deg);
	top: 2vw;
	left: 1vw;
}

.gray_li li {
	background: #f4f7fb;
	padding: 3vw;
}

.gray_li li + li {
	margin-top: 2vw;
}

.gray_li_dl dt {
	font-weight: 700;
}

.gray_li {
	counter-reset: gray_li;
	margin-top: 10vw;
}

.gray_li > li dt {
	position: relative;
	padding-left: 6vw;
	font-size: 1.8rem;
}

.gray_li > li dt:before {
	content: counter(gray_li) "";
	counter-increment: gray_li;
	position: absolute;
	left: 0;
	width: 4vw;
	height: 4vw;
	background: #ff759c;
	border-radius: 50px;
	color: #fff;
	line-height: 4vw;
	text-align: center;
	top: 1vw;
	font-size: 1.2vw;
}


/*------------------------------------------------------------------------------
li_並び */

.li_narabi_both_withsp li {
	display: inline-block;
	margin-right: 1em;
}

.li_mt00 li + li {
	margin-top: 0;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ボタン */

.btn {
	background: #00ca41;
	color: #fff;
	font-weight: 700;
	margin-top: 5vw;
	padding: 2vw 2vw 1.8vw;
	border-radius: 5vw;
	text-decoration: none;
	width: 100%;
	text-align: center;
}

.btn_more {
	background: #ff759c;
	display: inline-block;
	width: auto;
	padding: 1.2vw 5vw 1vw 8vw;
	position: relative;
}

.btn_more:before {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	top: 50%;
	left: 3.7vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	border-width: 1.2vw 0 0.8vw 1.2vw;
	border-color: transparent transparent transparent #ffffff;
}

.movie_btn_block a {
	border: 1px solid #ff759c;
	color: #ff759c;
	text-decoration: none;
	display: block;
	font-weight: 700;
	padding: 3vw 15vw 3vw 5vw;
	border-radius: 10vw;
	position: relative;
}

.movie_btn_block li + li {
	margin-top: 3vw;
}

.movie_btn_block span {
	display: block;
}

.movie_btn_block {
	width: 65vw;
	margin: 5vw auto 0;
}

.movie_btn_block a:before {
	position: absolute;
	content: "";
	background: url(/assets/images/icon_movie.png) no-repeat center center /contain;
	width: 7vw;
	height: 5vw;
	top: 50%;
	right: 7vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.kanren_link {
	margin-top: 5vw;
}

.kanren_link a {
	color: #ff759c;
	text-decoration: none;
	position: relative;
	padding-left: 3vw;
}

.kanren_link a:before {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1vw 0 1vw 1.4vw;
	border-color: transparent transparent transparent #ff759c;
	top: 2.2vw;
	left: 0;
}

.kanren_link li + li {
	margin-top: 2vw;
}

.btn.btn_line {
	width: 64vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
表 */

.bg_table tr,
.bg_table th,
.bg_table td {
	display: block;
}

.bg_table tr {
	background: #f4f7fb;
	padding: 3vw;
}

.bg_table th {
	font-weight: 500;
}

.bg_table td {
	letter-spacing: 0;
}

.bg_table tr + tr {
	margin-top: 1vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
gmap */

.gmap {
	position: relative;
	overflow: hidden;
	height: 79vw;
}

.gmap iframe,
.gmap object,
.gmap embed {
	width: 100%;
	height: 100%;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
youtube */

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
フォーム
<dl class="form_layout"><dt><p><span class="tl"></span><span class="required">必須</span></p></dt><dd></dd></dl>
 */

input[type=text],
input[type=date],
input[type=email],
input[type=tel],
select,
textarea {
	background: #fff;
	border: 1px solid #d4d4d4;
	width: 100%;
	font-size: 16px;
	padding: 2vw;
	border-radius: 10px;
	line-height: 1.8;
}

input:disabled {
	background: #f7f7f7;
	border: 1px solid #cccccc;
	color: #bbb;
}

input.minitxt {
	width: 6em;
}

.form_con {
	background: #edf0f4;
	padding: 5.6vw 5.6vw 10vw;
}

.form_con + p {
	margin-top: 5vw;
}

.form_layout + .form_layout {
	margin-top: 4vw;
}

.form_con button {
	background: #ff759c;
	color: #fff;
	width: 51vw;
	padding: 2vw;
	border-radius: 10vw;
	margin: 10vw auto 0;
	display: block;
}

.form_con .narabitxt > * + * {
	margin-top: 3vw;
}
.form_con p.disp {
	color: #ff759c;
	text-align: center;
	margin: 10vw auto 0;
}


/*------------------------------------------------------------------------------
セレクトボックス
<div class="selectblock"><select name="pref" id="pref" class="select_style" required=""><option value="">選択してください</option><option value="A">A</option></select></div>
 */

.selectblock {
	position: relative;
}

select::-ms-expand {
	display: none;
}

.selectblock:before {
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	content: '';
	pointer-events: none;
	content: "";
	height: 100%;
	width: 30px;
	border-radius: 0 3px 3px 0;
	pointer-events: none;
}

.selectblock:after {
	position: absolute;
	content: "";
	position: absolute;
	top: 46%;
	right: 10px;
	-webkit-transform: translate(0, -50%) rotate(-45deg);
	transform: translate(0, -50%) rotate(-45deg);
	width: 8px;
	height: 8px;
	border-left: 2px solid #000000;
	border-bottom: 2px solid #000000;
	pointer-events: none;
}


/*------------------------------------------------------------------------------
テキストエリア
<textarea name="message"></textarea>
 */

textarea {
	height: 40vw;
	resize: vertical;
}


/*------------------------------------------------------------------------------
ラジオボタン
<ul><li class="radio_style"><label><input type="radio" name="type" value="A"><span class="radio_txt">A</span></label></li></ul>
*/

.radio_style label {
	display: inline-block;
	margin: 0 5px 0 0;
}

.radio_style input[type="radio"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.radio_style span {
	padding-left: 8vw;
	position: relative;
	display: block;
	cursor: pointer;
	padding-right: 4vw;
	display: block;
	width: 101%;
	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
}

.radio_style span:before {
	content: "";
	display: block;
	border: 1px solid #dedede;
	background: #fff;
	border-radius: 50%;
	width: 5vw;
	height: 5vw;
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.radio_style input:checked + .radio_txt:after {
	content: "";
	display: block;
	width: 2.9vw;
	height: 2.9vw;
	background: #ff759c;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 1.1vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}


/*------------------------------------------------------------------------------
チェックボックス
<ul><li class="checkbox_style"><label><input type="checkbox" name="pass" value="A"><span class="checkbox_txt">A</span></label></li></ul>
 */

.checkbox_style label {
	display: inline-block;
	margin: 0 5px 0 0;
}

.checkbox_style input[type="checkbox"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.checkbox_style span {
	padding-left: 8vw;
	position: relative;
	display: block;
	cursor: pointer;
	display: block;
	width: 101%;
	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
}

.checkbox_style span:before {
	content: "";
	display: block;
	border: 1px solid #dedede;
	background: #fff;
	width: 5vw;
	height: 5vw;
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.checkbox_style input:checked + .checkbox_txt:after {
	content: "";
	display: block;
	position: absolute;
	top: 0.6vw;
	left: 1.5vw;
	width: 2vw;
	height: 3.5vw;
	transform: rotate(40deg);
	border-bottom: 3px solid #ff759c;
	border-right: 3px solid #ff759c;
}


/*------------------------------------------------------------------------------
ラジオボタン+チェックボックスの並び
<ul class="form_narabi"><li></li></ul>
 */

.form_narabi {
	margin-top: -4vw;
}

.form_narabi li {
	display: inline-block;
	margin-top: 4vw;
}


/*------------------------------------------------------------------------------
フォームレイアウト */

.form_layout > dt {
	margin-bottom: 2vw;
}

.form_layout > dt p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.form_layout > dt .tl {
	font-size: 1.8rem;
}


/*------------------------------------------------------------------------------
必須 */

.form_layout .required {
	background: #fe4f78;
	color: #fff;
	font-size: 1.3rem;
	letter-spacing: 2px;
	height: 8vw;
	display: block;
	width: 8vw;
	border-radius: 50%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-left: 2vw;
	padding-left: 1px;
}


/*------------------------------------------------------------------------------
追加テキスト
<dd class="txt_tuika"><input type="text" name="A" class="minitxt"><p>万円</p></dd>
 */

.form_layout .txt_tuika {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.form_layout .txt_tuika p {
	font-size: 1.8rem;
}

.form_layout .txt_tuika input + p,
.form_layout .txt_tuika p + input {
	margin-left: 1em;
}


/*------------------------------------------------------------------------------
form_confirm
<input type="text" name="name" value="孫正義" disabled>
 */

.form_confirm input:disabled {
	background: none;
	border: none;
	padding-left: 0 !important;
	padding-right: 0 !important;
	-webkit-text-fill-color: black;
	opacity: 1;
	color: #000;
	font-size: 1.8rem;
}

.form_confirm input.minitxt:disabled {
	width: 3em;
}

.submit_btn_reverse {
	background: #c3c3c3;
	padding: 3.5vw 9vw;
	font-size: 1.8rem;
}

.form_submit_btn_block li + li {
	margin-top: 10vw;
}

.form_confirm .form_layout .txt_tuika input + p,
.form_confirm .form_layout .txt_tuika p + input {
	margin-left: 0;
}

.form_confirm .form_layout > dd {
	padding: 1px 0;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ブロック */

.kakomi {
	-webkit-box-shadow: 0 0px 18px rgb(218 222 227 / 75%);
	-moz-box-shadow: 0 0px 18px rgba(128, 222, 227, 0.72);
	box-shadow: 0 0px 18px rgb(218 222 227 / 72%);
	background: #fff;
	margin-top: 8vw;
	padding: 8vw 5.6vw;
	border-radius: 3vw;
	position: relative;
}

.kakomi + .kakomi {
	margin-top: 3vw;
}

.kakomi + .kakomi_col02 .kakomi {
	margin-top: 3vw;
}

.kakomi_col05 {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin-top: 5vw;
	justify-content: space-between;
}

.kakomi_col05 > div {
	width: 48.5%;
	margin-top: 3.5%;
	padding: 5vw 3vw;
	border-radius: 2vw;
}

.graybg {
	background: #f4f7fb;
	padding: 12vw 0;
}

.graybg > .inner > div > .kakomi:first-child {
	margin-top: 0;
}

aside {
	margin-top: 12vw;
}

.inbeta {
	background: #f4f7fb;
	padding: 5vw;
	margin-top: 5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
pick_menu */

.pick_menu {
	width: 66.4vw;
	margin-left: auto;
	margin-right: auto;
}

.pick_menu li {
	-webkit-box-shadow: 0 0px 18px rgb(218 222 227 / 75%);
	-moz-box-shadow: 0 0px 18px rgba(128, 222, 227, 0.72);
	box-shadow: 0 0px 18px rgb(218 222 227 / 72%);
	background: #fff;
	border-radius: 3vw;
	padding: 2rem 0;
}
.pick_menu li:first-child {
	padding: 2rem;
}

.pick_menu li + li {
	margin-top: 5vw;
}

.pick_menu a {
	color: #000;
	text-decoration: none;
	text-align: center;
	padding: 5vw;
}

.pick_menu dt {
	color: #00ca41;
	font-weight: 700;
	text-align: center;
	font-size: 2.1rem;
	padding-left: 9vw;
	position: relative;
	display: inline-block;
	padding-right: 2vw;
	margin-bottom: 4vw;
}

.pick_menu dt:before {
	position: absolute;
	content: "";
	background: url(/assets/images/pick_menu01.png) no-repeat center center / contain;
	width: 8vw;
	height: 8vw;
	top: -0.6vw;
	left: 0;
}

.pick_menu li:nth-child(2) dt:before {
	background-image: url(/assets/images/pick_menu02.png);
}

.pick_menu li:nth-child(3) dt:before {
	background-image: url(/assets/images/pick_menu03.png);
}

.pick_menu li:nth-child(4) dt:before {
	background-image: url(/assets/images/pick_menu04.png);
}

.pick_menu .txt {
	text-align: left;
	font-size: 1.45rem;
}

.pick_menu .btn_style {
	background: #00ca41;
	color: #fff;
	font-weight: 700;
	margin-top: 5vw;
	padding: 1vw 2vw 0.8vw;
	border-radius: 5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
link_li */

.link_li {
	background: #7a8297;
	margin: 0 -5.6vw;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}

.link_li li {
	width: 50%;
}

.link_li a {
	color: #fff;
	text-decoration: none;
	position: relative;
	font-weight: 700;
	display: block;
	width: 100%;
}

.link_li .tl {
	position: absolute;
	bottom: 14.5vw;
	width: 50vw;
	text-align: center;
}

.link_li .btn_style {
	border: 1px solid #fff;
	color: #fff;
	font-weight: 700;
	margin-top: 5vw;
	padding: 1vw 2vw 0.8vw;
	border-radius: 5vw;
	position: absolute;
	bottom: 6vw;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
	width: 41vw;
	font-size: 1.2rem;
	text-align: center;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
wanted_area */

.wanted_area {
	margin: 0 -5.6vw;
	background: #dde2e8 url(/assets/images/wanted_bg_sp.jpg) no-repeat center center /cover;
	padding: 15vw 10vw 10vw;
}

.wanted_area .tl_block {
	color: #fff;
	font-weight: 700;
	position: relative;
}

.wanted_area .tl_block .tl {
	font-size: 4.4rem;
	transform: rotate(-5deg);
	-webkit-transform: rotate(-5deg);
	border-bottom: 1vw solid #fff;
	line-height: 1.5;
	padding-top: 2vw;
	padding-left: 1vw;
	text-align: center;
}

.wanted_area .tl_block .tl:before {
	width: 70vw;
	height: 1vw;
	background: #fff;
	position: absolute;
	content: "";
	right: 0;
	top: 0;
}

.wanted_area .tl_block .en {
	background: #fff;
	width: 10vw;
	height: 10vw;
	border-radius: 50%;
	color: #a8acb6;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.2;
	padding-top: 1.7vw;
	position: absolute;
	top: -4vw;
	left: -2vw;
}

.wanted_area .tl_block .en span {
	display: block;
	font-size: 1rem;
}

.wanted_area .txt {
	color: #818590;
	margin-top: 8vw;
	font-weight: 700;
	letter-spacing: 0;
}

.wanted_area .btn_block {
	width: 70vw;
	margin: 81vw auto 0vw;
}

.wanted_area .btn_block li + li {
	margin-top: 4.9vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
pick_bnr */

.pick_bnr {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 8vw;
}

.pick_bnr li {
	width: 48%;
	margin-top: 5vw;
	text-align: center;
}

.pick_bnr a {
	color: #000;
	text-decoration: none;
}

.pick_bnr p {
	padding-top: 2vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
pick_sns */

.pick_sns {
	margin-top: 10vw;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-around;
}

.pick_sns li {
	width: 20%;
	text-align: center;
	line-height: 1.3;
	font-size: 1.3rem;
}

.pick_sns a {
	text-decoration: none;
}

.pick_sns img {
	width: 50%;
	margin: 0 auto 1vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
img_layout */

.img_layout figure {
	width: 50vw;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 6vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
img_layout_step */

.img_layout_step .stelnum {
	background: #00ca41;
	color: #fff;
	top: 0;
	position: absolute;
	left: 5.6vw;
	font-size: 9vw;
	font-weight: 500;
	line-height: 1.2;
	padding: 3vw 0 0;
	width: 18vw;
	text-align: center;
}

.img_layout_step .stelnum:after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4vw 9vw 0 9vw;
	border-color: #00ca40 transparent transparent transparent;
	bottom: -4vw;
	left: 0;
}

.img_layout_step .stelnum span {
	display: block;
	font-size: 1rem;
}

.img_layout_step .step_tl {
	font-weight: 500;
	margin-left: 23vw;
	font-size: 2rem;
	line-height: 1.4;
	margin-bottom: 8vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
img_layout_step_pink */

.img_layout_step_pink .stelnum {
	background: #ff759c;
}

.img_layout_step_pink .stelnum:after {
	border-color: #ff759c transparent transparent transparent;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
model_prof */

.model_prof figure {
	width: 50vw;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 6vw;
}

.model_list_grace .name {
	color: #00ca41;
	font-weight: 700;
	text-align: center;
	font-size: 1.8rem;
	margin-bottom: 5vw;
}

.model_prof .prof_table {
	width: auto;
	margin-left: auto;
	margin-right: auto;
}

.model_prof .prof_table th {
	width: 6em;
}

.model_prof .prof_table th,
.model_prof .prof_table td {
	vertical-align: top;
}

.model_prof .prof_sns {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-top: 5vw;
}

.model_prof .prof_sns li {
	width: 14%;
	border: 1px solid #dde4f0;
	border-radius: 50%;
}

.model_prof .prof_sns li + li {
	margin-left: 3%;
}

.model_prof + .model_prof {
	margin-top: 10vw;
}
.model_prof .lv01:before,
.model_prof .lv01:after {
	top: 7vw;
}

.model_prof h1.lv01 {
	font-weight: normal;
	font-size: 3.6rem;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
moreview */

.moreview {
	margin-top: 12vw;
}

.moreview .tl {
	font-size: 2.2rem;
	text-align: center;
	font-weight: 500;
	position: relative;
	padding-top: 70px;
}

.moreview .tl:before {
	position: absolute;
	content: "";
	background: url(/assets/images/icon_moreview.png) no-repeat center center /contain;
	width: 44px;
	height: 60px;
	top: 0%;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
}

.moreview .btn {
	background: #ff759c;
}

.moreview li:last-child .btn {
	font-size: 2.7vw !important;
	padding: 2.6vw 2vw 2.6vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
anchor_li */

.anchor_li {
	margin-top: 5vw;
}

.anchor_li li + li {
	margin-top: 3vw;
}

.anchor_li a {
	color: #ff759c;
	text-decoration: none;
	border: 1px solid #ff759c;
	padding: 1.2vw 5vw 1.2vw 8vw;
	border-radius: 4.2vw;
	position: relative;
	letter-spacing: 0;
	font-weight: 700;
}

.anchor_li a:before {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1.2vw 0.8vw 0 0.8vw;
	border-color: #ff759c transparent transparent transparent;
	top: 50%;
	left: 3.7vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
anchor_li_g */

.anchor_li_g a {
	text-decoration: none;
	display: block;
	padding-left: 3vw;
	position: relative;
}

.anchor_li_g a:before {
	position: absolute;
	content: "";
	width: 1vw;
	height: 1vw;
	border-right: 1px solid #00ca41;
	border-top: 1px solid #00ca41;
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	top: 2.4vw;
	left: 0;
}

.anchor_li_g li + li {
	margin-top: 2vw;
}

.anchor_li_g {
	margin-top: 10vw;
}

.anchor_li_g + .anchor_li_g {
	margin-top: 2vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
kugiri_box */

.kugiri_box {
	border-top: 1px solid #eceef0;
	margin-top: 5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
income_time */

.income_time {
	margin-bottom: 5vw;
}

.income_time01 {
	display: block;
	border: 1px solid #ff759c;
	width: auto;
	display: inline-block;
	border-radius: 5vw;
	overflow: hidden;
	font-size: 0;
}

.income_time01 dt,
.income_time01 dd,
.income_time02 dt,
.income_time02 dd {
	display: inline-block;
	padding: 0.5vw 5vw 0.3vw 4vw;
	font-size: 1.6rem;
}

.income_time01 dt,
.income_time02 dt {
	padding: 0.5vw 4vw 0.3vw;
}

.income_time01 dt {
	background: #ff759c;
	color: #fff;
}

.income_time02 {
	display: block;
	border: 1px solid #00ca41;
	width: auto;
	display: inline-block;
	border-radius: 5vw;
	overflow: hidden;
	font-size: 0;
	margin-top: 3vw
}

.income_time02 dt {
	background: #00ca41;
	color: #fff;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
namelabel */

.namelabel {
	color: #00ca41;
	font-weight: 700;
	margin-bottom: 3vw;
	font-size: 1.8rem;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
point_block */

.point_block dt {
	color: #ff759c;
	font-weight: 700;
	font-size: 1.8rem;
	padding-bottom: 0.5em;
	position: relative;
	padding-left: 7vw;
}

.point_block dt:before {
	position: absolute;
	content: "";
	background: url(/assets/images/icon_point.png) no-repeat center center / contain;
	width: 5vw;
	height: 5vw;
	top: 1vw;
	left: 0;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
attend_block */

.attend_block {
	position: relative;
	margin-top: 10vw;
	padding-top: 10vw;
}

.attend_block:before {
	position: absolute;
	content: "";
	background: url(/assets/images/icon_attend.png) no-repeat center center /contain;
	width: 7vw;
	height: 7vw;
	top: 0%;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
}


/*
*********************************************************************************
/*
/* ページ固有
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
TOP */

.mv_start_off {
	display: none;
}

.mv_item .img {
	display: block;
	width: 100vw;
}

.top_about_wrap {
	margin-top: 10vw;
	padding-bottom: 10vw;
}

.top_about_wrap .tl_block {
	position: relative;
}

.top_about_wrap .tl_box {
	position: absolute;
	bottom: 3vw;
	color: #fff;
	width: 100%;
}

.top_about_wrap .tl_box .tl {
	font-size: 3.7rem;
	transform: rotate(-5deg);
	-webkit-transform: rotate(-5deg);
	border-bottom: 1vw solid #fff;
	border-top: 1vw solid #fff;
	line-height: 1.3;
	padding-top: 0;
	padding-left: 1vw;
	display: block;
	font-weight: 700;
	width: 50.2vw;
	margin-bottom: 5vw;
	letter-spacing: 0;
	margin-left: 2vw;
}

.top_about_wrap .tl_box .txt {
	position: relative;
	text-align: center;
	font-size: 1.6rem;
	width: 100%;
	display: block;
}

.top_about_wrap .tl_box .txt:before {
	position: absolute;
	content: "";
	transform: rotate(-15deg);
	-webkit-transform: rotate(-15deg);
	height: 7vw;
	width: 2px;
	background: #fff;
	left: 4vw;
	top: 0;
}

.top_about_wrap .tl_box .txt:after {
	position: absolute;
	content: "";
	transform: rotate(15deg);
	-webkit-transform: rotate(15deg);
	height: 7vw;
	width: 2px;
	background: #fff;
	right: 4vw;
	top: 0;
}

.top_about_wrap .txt_block .lead {
	font-weight: 700;
	font-size: 1.9rem;
	line-height: 1.6;
	margin-top: 6vw;
	margin-bottom: 5vw;
}

.grace_bnr_wrap a {
	background: #c7cbd6 url(/assets/images/top_age20_30_img_sp.jpg) no-repeat center center / cover;
	display: block;
	width: 100%;
	color: #fff;
	text-decoration: none;
	padding: 4vw 0 6vw 4vw;
	text-align: left;
}

.grace_bnr_wrap .btn_style {
	background: #00ca41;
	color: #fff;
	font-weight: 700;
	margin-top: 2vw;
	padding: 1vw 2vw 0.8vw;
	border-radius: 5vw;
	width: 40%;
	text-align: center;
}

.grace_bnr_wrap .txt01 {
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.6;
}

.grace_bnr_wrap .txt02 {
	font-size: 1.7rem;
}

.grace_bnr_wrap {
	margin-top: 7vw;
	margin-bottom: 15vw;
}

.top_major .tl_block {
	position: relative;
}

.top_major .tl_block .tl_box {
	font-size: 2.1rem;
	transform: rotate(-5deg);
	-webkit-transform: rotate(-5deg);
	border-bottom: 1vw solid #fff;
	border-top: 1vw solid #fff;
	line-height: 1.6;
	padding-top: 1vw;
	padding-bottom: 1vw;
	display: block;
	font-weight: 700;
	width: 67vw;
	letter-spacing: 0;
	position: absolute;
	color: #fff;
	top: 62vw;
	left: 16vw;
}

.top_major .lead {
	font-weight: 700;
	font-size: 1.9rem;
	line-height: 1.6;
	margin-top: 6vw;
	margin-bottom: 10vw;
}

.top_anshin .tl_block {
	position: relative;
}

.top_anshin .tl_block .tl_box {
	font-size: 2.1rem;
	transform: rotate(-5deg);
	-webkit-transform: rotate(-5deg);
	border-bottom: 1vw solid #fff;
	border-top: 1vw solid #fff;
	line-height: 1.6;
	padding-top: 1vw;
	padding-bottom: 1vw;
	display: block;
	font-weight: 700;
	width: 70vw;
	letter-spacing: 0;
	position: absolute;
	color: #fff;
	top: 6vw;
	left: 5vw;
}

.top_anshin .lead {
	font-weight: 700;
	font-size: 1.9rem;
	line-height: 1.6;
	margin-top: 6vw;
	margin-bottom: 10vw;
}

.top_income {
	margin-top: 12vw;
	padding-bottom: 12vw;
}

.top_income .tl_block {
	position: relative;
	line-height: 1.4;
	margin-bottom: 5vw;
}

.top_income .tl_block .tl_box {
	font-size: 2.1rem;
	transform: rotate(-5deg);
	-webkit-transform: rotate(-5deg);
	border-bottom: 1vw solid #fff;
	border-top: 1vw solid #fff;
	line-height: 1.4;
	padding-top: 0vw;
	padding-bottom: 0vw;
	display: block;
	font-weight: 700;
	width: 37.2vw;
	letter-spacing: 0;
	position: absolute;
	color: #fff;
	bottom: 23vw;
	right: 5vw;
}

.top_income .tl_block .txt {
	color: #fff;
	position: absolute;
	bottom: 6vw;
	line-height: 1.5;
	left: 3vw;
}

.top_income_con .tl_block {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-weight: 700;
}

.top_income_con .tl_block .stl {
	font-size: 2rem;
	font-weight: 700;
}

.top_income_con .tl_block .stl + p {
	color: #ff759c;
	border: 1px solid #ff759c;
	line-height: 1.5;
	padding: 0 1vw;
	font-size: 1.3rem;
	border-radius: 10vw;
	margin-left: 2vw;
}

.top_income_con .income_d dl {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-bottom: 5vw;
}

.top_income_con .income_d dt {
	color: #00ca41;
	font-weight: 900;
}

.top_income_con .income_d dd {
	background: #00ca41;
	color: #fff;
	font-weight: 700;
	text-align: center;
	width: 17vw;
	height: 17vw;
	border-radius: 50%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	line-height: 1.3;
	font-size: 2.6rem;
	margin-left: 2vw;
}

.top_income_con .income_d dd span {
	display: block;
	font-size: 1rem;
}

.top_income_con .income_d table {
	width: 100%;
}

.top_income_con .income_d table th,
.top_income_con .income_d table td {
	font-weight: 700;
	font-size: 1.4rem;
}

.top_income_con .income_d table th {
	width: 43%;
}

.top_income_con .income_d + .txt {
	font-size: 1.4rem;
	margin-top: 4vw;
}

.top_income_con .tl_block .stl + p.type02 {
	color: #ff9c00;
	border: 1px solid #ff9c00;
}

.top_income_con .tl_block .stl + p.type03 {
	color: #23b6e6;
	border: 1px solid #23b6e6;
}

.top_interview_con figure {
	width: 46vw;
	margin: 0 auto 6vw;
}

.top_interview_con .stl {
	text-align: center;
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 5vw;
}

.top_interview_con .stl + p {
	font-size: 1.4rem;
}

.top_interview_wrap .btn_block a {
	background: #ff759c;
	color: #fff;
	font-weight: 700;
	margin-top: 5vw;
	padding: 1vw 2vw 0.8vw;
	border-radius: 5vw;
	text-decoration: none !important;
	display: block;
}

.top_interview_wrap02 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.top_interview_wrap02 figure {
	width: 25vw;
	border-radius: 50%;
	overflow: hidden;
}

.top_interview_wrap02 .txt_block {
	text-align: center;
	width: 51vw;
}

.top_interview_wrap02 {
	padding: 5vw 5.6vw;
}

.top_interview_wrap02 .stl {
	font-weight: 700;
	font-size: 1.3rem;
	line-height: 1.5;
}

.top_interview_wrap02 .stl span {
	display: block;
	font-size: 2rem;
}

.top_interview_wrap02 a {
	background: #ff759c;
	color: #fff;
	font-weight: 700;
	margin-top: 2vw;
	padding: 1vw 2vw 0.8vw;
	border-radius: 5vw;
	text-decoration: none !important;
	display: block;
}

.top_model {
	padding-bottom: 12vw;
}

.top_model .model_list + .btn_block {
	width: 67vw;
	margin: 0 auto;
}

.top_model .lv01_02 {
	text-align: center;
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.top_model .model_list {
	width: 67vw;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}

.top_model .model_list li {
	width: 48%;
	text-align: center;
	margin-bottom: 4vw;
}

.top_model .model_list a {
	text-decoration: none;
	color: #000;
}

.top_model .model_list .name {
	padding-top: 0.6em;
	font-weight: 500;
}

.top_linx_bnr {
	width: 73vw;
	margin: 0 auto;
}

.top_linx_bnr p {
	font-size: 1.3rem;
	margin-top: 3vw;
}

.top_linx_bnr li + li {
	margin-top: 5vw;
}

.top_merit {
	margin-top: 12vw;
}

.top_merit .tl_block {
	position: relative;
}

.top_merit .tl_box {
	font-size: 3.2rem;
	transform: rotate(-5deg);
	-webkit-transform: rotate(-5deg);
	border-bottom: 1vw solid #fff;
	border-top: 1vw solid #fff;
	line-height: 1.4;
	padding-top: 0vw;
	padding-bottom: 0vw;
	display: block;
	font-weight: 700;
	width: 44.2vw;
	letter-spacing: 0;
	position: absolute;
	color: #fff;
	top: 7vw;
	right: 5vw;
}

.top_merit .tl_box + .txt {
	color: #fff;
	position: absolute;
	top: 32vw;
	right: 4vw;
	font-size: 1.7rem;
	line-height: 1.7;
}

.top_merit_con .icon {
	width: 8vw;
	margin: 0 auto 4vw;
}

.top_merit_con .txt {
	font-size: 1.3rem;
}

.top_message_area {
	margin-top: 12vw;
}

.top_message_area .tl_block {
	margin-bottom: 10vw;
	position: relative;
}

.top_message_area .tl_block .tl {
	font-size: 2.9rem;
	transform: rotate(-5deg);
	-webkit-transform: rotate(-5deg);
	border-bottom: 1vw solid #fff;
	border-top: 1vw solid #fff;
	line-height: 1.4;
	padding-top: 0vw;
	padding-bottom: 0vw;
	display: block;
	font-weight: 700;
	width: 62.2vw;
	letter-spacing: 0;
	position: absolute;
	color: #fff;
	bottom: 9vw;
	right: 5vw;
}

.top_message_area .tl_block .txt {
	color: #fff;
	position: absolute;
	bottom: 24vw;
	font-size: 1.5rem;
	left: 9vw;
}

.top_message_area .txt_block ol {
	counter-reset: top_message_area_li;
}

.top_message_area .txt_block li {
	-webkit-box-shadow: 0 0px 18px rgb(218 222 227 / 75%);
	-moz-box-shadow: 0 0px 18px rgba(128, 222, 227, 0.72);
	box-shadow: 0 0px 18px rgb(218 222 227 / 72%);
	background: #fff;
	margin-top: 3vw;
	padding: 5vw 4vw;
	border-radius: 3vw;
	list-style: none;
	padding-left: 0;
	position: relative;
	padding-left: 1.6em;
	font-size: 1.7rem;
	font-weight: 500;
}

.top_message_area .txt_block li:before {
	content: counter(top_message_area_li) "";
	counter-increment: top_message_area_li;
	position: absolute;
	left: 6vw;
	width: 1.6em;
	height: 1.6em;
	background: #ff759c;
	border-radius: 50px;
	color: #fff;
	line-height: 1.8;
	text-align: center;
	font-size: 1.2rem;
	top: 6.5vw;
}

.top_message_area .txt_block li dt {
	font-weight: 700;
	font-size: 1.9rem;
	margin-bottom: 2vw;
	padding-left: 6vw;
}

.top_link_li_area .link_li {
	width: 73vw;
	margin: 12vw auto;
	background: none;
}

.top_link_li_area .link_li li {
	width: 100%;
}

.top_link_li_area .link_li li + li {
	margin-top: 3vw;
}

.top_link_li_area .link_li .tl {
	width: 100%;
	font-size: 2.4rem;
	bottom: 22vw;
}

.top_link_li_area .link_li .btn_style {
	width: 80%;
	font-size: 1.5rem;
	bottom: 10vw;
}

.top_foot {
	margin-top: 12vw;
}

.top_foot_bnr {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin-top: 8vw;
}

.top_foot_bnr li:not(:last-child) {
	width: 49%;
}

.top_foot_bnr li:last-child {
	width: 72%;
	margin: 6vw auto 15vw;
}

#frontpage header .h_con {
	height: 12.6vw;
}

#frontpage main {
	margin-top: -12.6vw;
}

.mv_area {
  background-image: linear-gradient(55deg, rgba(221, 226, 234, 1) 40%, rgba(243, 246, 250, 1));
}

.mv_item {
	position: relative;
}

.mv_item .txt {
	color: #51565e;
	position: absolute;
	top: 113vw;
	right: 2vw;
	font-size: 1.5rem;
	letter-spacing: 0;
	line-height: 1.5;
	font-weight: 700;
}

.mv_item .tl_box {
	position: absolute;
	top: 82vw;
	left: 8vw;
	color: #fff;
	font-weight: 700;
}

.mv_item .tl {
	font-size: 3rem;
	transform: rotate(-5deg);
	-webkit-transform: rotate(-5deg);
	border-bottom: 1vw solid #fff;
	line-height: 1.5;
	padding-top: 2vw;
	padding-bottom: 1.5vw;
	padding-left: 1vw;
}

.mv_item .tl:before {
	width: 100%;
	height: 0.9vw;
	background: #fff;
	position: absolute;
	content: "";
	right: 0;
	top: 0;
}

.mv_item .maru {
	background: #fff;
	width: 10vw;
	height: 10vw;
	border-radius: 50%;
	color: #a8acb6;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.2;
	padding-top: 1.7vw;
	position: absolute;
	top: -4vw;
	left: -2vw;
}

.mv_item .maru span {
	display: block;
	font-size: 1rem;
}

.mv_item .name {
	color: #9296a1;
	position: absolute;
	bottom: 2vw;
	right: 3vw;
	font-size: 1rem;
}

.mv_item.mv02 .txt {
	right: 3vw;
	color: #51565e;
	top: 29vw;
}

.mv_item:not(.mv01) .tl {
	width: 79vw;
	font-size: 2.4rem;
	padding-bottom: 1vw;
}

.mv_item:not(.mv01) .tl_box {
	bottom: 14vw;
	left: 11vw;
}

.mv_item:not(.mv01) .tl_txt {
	font-size: 1.7rem;
	transform: rotate(-5deg);
	-webkit-transform: rotate(-5deg);
	line-height: 1.5;
	padding-left: 10vw;
	position: absolute;
	top: -5vw;
}

.mv_item:not(.mv01) .maru {
	width: 8vw;
	height: 8vw;
	color: #dbb096;
	font-size: 2rem;
	top: -3vw;
	left: -1vw;
}

.mv_item:not(.mv01) .tl:before {
	width: 68vw;
}

.mv_item.mv03 .txt {
	top: 38vw;
	color: #fff;
	right: 6vw;
}

.mv_item.mv04 .txt {
	color: #000000;
	top: 26vw;
	right: 5vw;
}

.mv_item.mv05 .txt {
	color: #51565e;
	right: 4vw;
	top: 38vw;
}

.mv_item.mv05 .maru {
	background: #fff url(/assets/images/mv_crown.png) no-repeat center center / 9vw;
}

.mv_item.mv05 .tl_txt {
	top: -5.5vw;
}

.mv_item.mv05 .tl {
	font-size: 2.1rem;
}



/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
sitemap */

.sitemap_li a {
	color: #000;
	text-decoration: none;
}

.sitemap_li a {
	padding: 1.5vw 0 1.5vw 4vw;
	position: relative;
	display: block;
}

.sitemap_li > li > a:before {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1vw 0 1vw 1.4vw;
	border-color: transparent transparent transparent #ff759c;
	top: 3.7vw;
	left: 0;
}

.sitemap_li > li li a {
	padding-left: 7vw;
}

.sitemap_li > li li a:before {
	position: absolute;
	content: "";
	width: 1vw;
	height: 1vw;
	border-right: 2px solid #ff759c;
	border-top: 2px solid #ff759c;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	top: 4.2vw;
	left: 20px;
}

.sitemap_li > li > a.blank_link:before {
	background: url(/assets/images/icon_blank.png) no-repeat center center /contain;
	width: 4vw;
	height: 4vw;
	border: none;
	top: 3.1vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
enquete */

.enquete_table {
	width: 100%;
}

.enquete_table th,
.enquete_table td {
	font-weight: 700;
	font-size: 1.5rem;
}

.enquete_table td {
	color: #ff759c;
	text-align: right;
}

.enquete_other {
	margin-top: 5vw;
}

.enquete_other dt {
	color: #00ca41;
	font-weight: 700;
}

.enquete_other dd {
	font-size: 1.4rem;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
faq */

.qa_cat_wrap {
	padding: 0;
}

.qa_cat_block .tl {
	display: block;
	font-weight: 500;
	font-size: 2rem;
	padding: 4vw 2vw 4vw 11vw;
	position: relative;
}

.qa_cat_block a {
	color: #000;
	text-decoration: none;
	display: block;
	position: relative;
}

.qa_cat_block .tl:before {
	position: absolute;
	content: "";
	width: 5vw;
	height: 5vw;
	border: 2px solid #ff759c;
	border-radius: 50%;
	top: 5.5vw;
	left: 4vw;
}

.qa_cat_block .tl:after {
	position: absolute;
	content: "";
	width: 1.8vw;
	height: 1.8vw;
	border-right: 2px solid #ff759c;
	border-top: 2px solid #ff759c;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	top: 7.1vw;
	left: 5.1vw;
}

.qa_li a {
	padding: 3vw 9vw 3vw 11vw;
	border-top: 1px solid #e9ecf3;
}

.qa_li a:after {
	position: absolute;
	content: "";
	width: 1.8vw;
	height: 1.8vw;
	border-right: 2px solid #00ca41;
	border-top: 2px solid #00ca41;
	transform: rotate(45deg) translate(0%, -50%);
	-webkit-transform: rotate(45deg) translate(0%, -50%);
	right: 5.1vw;
	top: 50%;
}

.qa_li a:before {
	position: absolute;
	content: "Q";
	background: #00ca41;
	width: 5vw;
	height: 5vw;
	border-radius: 50%;
	top: 3.6vw;
	left: 4.3vw;
	color: #fff;
	font-size: 1.5rem;
	text-align: center;
	line-height: 1.5;
}

.qa_li .num {
	color: #00ca41;
	font-weight: 700;
	padding-right: 0.3em;
}

.anchor_faq {
	width: 68vw;
	margin-left: auto;
	margin-right: auto;
}

.anchor_faq a {
	width: 100%;
	display: block;
}

.qa_block + .qa_block {
	margin-top: 7vw;
}

.qa_block dt {
	position: relative;
	padding: 0vw 0 5vw 9vw;
	font-weight: 500;
	font-size: 1.8rem;
	line-height: 1.6;
}

.qa_block dt:before {
	position: absolute;
	content: "Q";
	background: #00ca41;
	width: 6vw;
	height: 6vw;
	border-radius: 50%;
	top: 0.1vw;
	left: 0;
	color: #fff;
	font-size: 1.5rem;
	text-align: center;
	line-height: 1.8;
}

.qa_block dt .num {
	color: #00ca41;
	font-weight: 700;
	padding-right: 0.3em;
}

.qa_block dd {
	background: #f4f7fb;
	padding: 5.6vw;
	position: relative;
}

.qa_block dd:before {
	position: absolute;
	content: "A";
	background: #ff759c;
	width: 6vw;
	height: 6vw;
	border-radius: 50%;
	top: -1vw;
	left: 0;
	color: #fff;
	font-size: 1.5rem;
	text-align: center;
	line-height: 1.8;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
model */

.model_page .model_li {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 5vw;
}

.model_page .model_li li {
	width: 48%;
	text-align: center;
	margin-top: 5vw;
}

.model_page .model_li a {
	color: #000;
}

.model_page .model_li .name {
	padding-top: 0.5em;
}

.model_d header:before {
	display: none;
}

.model_d header .h_con {
	height: 12.6vw;
}

.model_d .lv01 {
	text-align: center;
}

.model_d .lv01 .en {
	font-size: 1.3rem;
	display: block;
}

.model_d .model_prof figure {
	max-width: inherit;
	width: 100%;
}

.model_d .model_prof .txt_box {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

.model_d .model_prof .prof_table {
	width: 100%;
}

.model_d .model_prof .prof_table th {
	width: 10em;
}

.model_d .model_prof .prof_table th,
.model_d .model_prof .prof_table td {
	padding: 0.1em 0;
}

.model_d .btn_style {
	text-align: center;
	margin-top: 5vw;
}

.model_d .btn, .col_p .btn {
	background: #ff759c;
}

/*============================================================================================================================================================*//*copy*/

.txt_copy {
	color:#;
	margin-top: 1rem;
	padding-left: 2rem;
	padding-right: 2rem;
	height: 130px;
}
.model_bnr {
	margin-top: 5vw;
	text-align: center;
	font-size: 90%;
}
.model_bnr img {
	width: 60%;
	margin: 0 auto;
	border: 1px solid #d9e1ed;
	margin-bottom: 1vw;
}

.widget iframe {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
.lppb01 h2 {
	color: #000 !important;
}
.bnr_vanilla {
	margin-top: 3rem;
}