@charset "utf-8";

/*
/*    CSS MENU
/*
/*    -> header + nav
/*    -> footer
/*    -> モジュール
/*    -> ページ固有
*/

.mtl {
	margin-top: 14vw !important;
}

.mbl {
	margin-bottom: 14vw !important;
}

.mtm {
	margin-top: 10vw !important;
}

.mbm {
	margin-bottom: 10vw !important;
}

.mtsm {
	margin-top: 5vw !important;
}

.mbsm {
	margin-bottom: 5vw !important;
}

.mts {
	margin-top: 2vw !important;
}

.mbs {
	margin-bottom: 2vw !important;
}

.ptl {
	padding-top: 14vw !important;
}

.pbl {
	padding-bottom: 14vw !important;
}


/*******************************************************************************
/*******************************************************************************
header + nav */


/*******************************************************************************
/*******************************************************************************
footer */

footer {
	padding-top: 12vw;
}

footer .logo_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

footer .logo_box .logo {
	width: 30%;
	padding-right: 7%;
}

footer .logo_box .txt {
	-webkit-flex: 1;
	flex: 1;
	margin-right: 4%;
}

footer .logo_box .txt a {
	color: #000;
	text-decoration: none;
}

footer .f_link {
	margin-top: 7vw;
	position: relative;
	padding: 5vw 0 28vw;
}

footer .f_link:before {
	background: #fe4f78 url(../images/bg_pink_dot.png) left top repeat;
	position: absolute;
	content: "";
	width: 100vw;
	left: -7vw;
	background-size: 19px auto;
	top: 0;
	height: 100%;
}

footer .f_link .sitemap {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

footer .f_link .sitemap ul {
	width: 48%;
}

footer .f_link .sitemap li {
	font-size: 1.5rem;
}

footer .f_link .sitemap li + li {
	margin-top: 2vw;
}

footer .f_link .sitemap a {
	color: #fff;
	text-decoration: none;
}

footer .f_link .f_bottom {
	position: relative;
	margin-top: 12vw;
}

footer .f_link .f_bottom .f_sns {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-bottom: 5vw;
}

footer .f_link .f_bottom .f_sns li {
	width: 30px;
}

footer .f_link .f_bottom .f_sns li + li {
	margin-left: 30px;
}

footer .copy {
	text-align: center;
}

footer .copy small {
	color: #fff;
	font-size: 1.5rem;
}

footer .copy a {
	color: #fff;
}

.fix_menu {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgba(0, 0, 0, 0.9);
	z-index: 100;
}

.fix_menu ul {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}

.fix_menu li {
	width: 20%;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}

.fix_menu li a {
	width: 100%;
	text-decoration: none;
	line-height: 1;
	text-align: center;
}

.fix_menu li .img {
	width: 100%;
}


/*******************************************************************************
/*******************************************************************************
モジュール */


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
テキスト */

.bold {
	font-weight: 700;
}

.page_lead p {
	font-size: 1.8rem;
	font-weight: 700;
}

.catch {
	color: #fe4f78;
	font-weight: 700;
	margin-bottom: 1em;
	font-size: 1.8rem;
}

.wb_ba {
	word-break: break-all;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
タイトル */

.tl_level01 {
	margin: 0 auto 8vw;
	text-align: center;
	font-size: 2.1rem;
	font-weight: 700;
}

.tl_level01 span {
	padding-bottom: 0.4em;
	display: block;
	letter-spacing: 0.2em;
	line-height: 1.5;
}

.tl_level02 {
	text-align: center;
	font-weight: 700;
	font-size: 2.2rem;
	letter-spacing: .2em;
	margin-bottom: 10vw;
}

.tl_level02 span {

	display: block;
	margin-top: 4vw;
}

.tl_level02 img {
	display: block;
}

.tl_level03 {
	font-weight: 700;
	font-size: 2rem;
	text-align: center;
	margin-bottom: 7vw;
}

.tl_level04 {
	background: #ededed;
	padding: 2vw 4vw;
	font-weight: 700;
	margin-bottom: 3vw;
	margin-top: 5vw;
	font-size: 1.8rem;
}

.tl_level05 {
	font-weight: 700;
	margin-bottom: 3vw;
	font-size: 1.8rem;
	text-align: center;
	letter-spacing: 2px;
}

.tl_level06 {
	color: #fe4f78;
	font-weight: 700;
	margin-bottom: 3vw;
	font-size: 2rem;
	letter-spacing: 2px;
}

.tl_level07 {
	font-weight: 700;
	font-size: 1.8rem;
	letter-spacing: 2px;
}

.tl_yubi {
	text-align: center;
	font-weight: 700;
	font-size: 2rem;
	position: relative;
	background-image: url(../images/arrow_yubi_l.png), url(../images/arrow_yubi_r.png);
	background-position: left center, right center;
	background-repeat: no-repeat, no-repeat;
	background-size: 6vw, 6vw;
	margin-left: 2vw;
	margin-right: 2vw;
	padding: 0 6vw;
	margin-bottom: 7vw;
}

.tl_big_num {
	margin: 0 auto 8vw;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 700;
}

.tl_big_num img:first-child {
	width: 20vw;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1rem;
}

.tl_big_num span {
	display: block;
	line-height: 1.7;
}

.tl_big_num02 img:first-child {
	margin-bottom: 1.5rem;
}

.tl_big_num02 span {
	margin-top: 3vw;
}

.tl_s {
	color: #fe4f78;
	font-weight: 700;
	margin-top: 1em;
}

.tl_num {
	font-size: 2.1rem;
	font-weight: 700;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 3vw;
}

.tl_num img {
	width: 7vw;
	margin-right: 2vw;
	padding-top: 1.4vw;
}

.tl_num span {
	-webkit-flex: 1;
	flex: 1;
}

.tl_en {
	font-family: 'en';
	color: #fe4f78;
	font-size: 0.7em;
	letter-spacing: 0.05em;
}
/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
リスト */


/*______________________________________________________________________________
ul_circle */

.ul_circle li {
	padding-left: 2em;
	position: relative;
}

.ul_circle li:before {
	position: absolute;
	width: 0.6em;
	height: 0.6em;
	content: "";
	border: 1px solid #fe4f78;
	border-radius: 50%;
	left: 0.5em;
	top: 0.6em;
}


/*______________________________________________________________________________
ul_kaisou */

.ul_kaisou li {
	font-size: 1.9rem;
}

.ul_kaisou > li {
	padding-left: 1.4em;
	position: relative;
}

.ul_kaisou > li:before {
	background: url(../images/arrow_double_pink.png) left top no-repeat;
	position: absolute;
	content: "";
	width: 0.8em;
	height: 0.8em;
	background-size: contain;
	left: 0;
	top: 0.6em;
}

.ul_kaisou li + li,
.ul_kaisou li li {
	margin-top: 1.4em;
}

.ul_kaisou li li {
	padding-left: 1.2em;
	position: relative;
}

.ul_kaisou li li:before {
	background: url(../images/arrow_pink.png) left top no-repeat;
	position: absolute;
	content: "";
	width: 0.4em;
	height: 0.6em;
	background-size: contain;
	left: 0;
	top: 0.7em;
}


/*______________________________________________________________________________
ol_num */

.ol_num li {
	list-style-type: decimal;
	margin-left: 2em;
}


/*______________________________________________________________________________
ol_img */

.ol_img li .tl {
	position: relative;
	font-weight: 700;
	font-size: 2rem;
	padding-left: 13vw;
	background: url(../images/ol01.png) left 0 top 1vw no-repeat;
	background-size: 10vw;
	margin-bottom: 3vw;
	line-height: 1.6;
}

.ol_img li:nth-child(2) .tl {
	background-image: url(../images/ol02.png);
}

.ol_img li:nth-child(3) .tl {
	background-image: url(../images/ol03.png);
}

.ol_img li:nth-child(4) .tl {
	background-image: url(../images/ol04.png);
}

.ol_img li:nth-child(5) .tl {
	background-image: url(../images/ol05.png);
}

.ol_img li + li {
	margin-top: 5vw;
}


/*______________________________________________________________________________
li_並び */

.li_narabi_both li {
	display: inline-block;
	margin-right: 1em;
}

.li_mt li + li {
	margin-top: 4vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ボタン */

.btn01 {
	content: "";
	background: #fe4f78 url(../images/bg_pink_dot.png) left top repeat;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	background-size: 19px auto;
	text-decoration: none;
	color: #fff;
	text-align: left;
	padding: 4vw 9vw 4vw 6vw;
	font-weight: 700;
	line-height: 1.6;
	font-size: 2.2rem;
	position: relative;
}

.btn01:before {
	position: absolute;
	content: "";
	background: url(../images/arrow_double_white.png) left center no-repeat;
	width: 3vw;
	height: 100%;
	background-size: contain;
	right: 5vw;
	top: 0;
}

.btn01 .txt_hosoku {
	font-weight: 400;
	font-size: 1.4rem;
}

.btn02 {
	display: block;
	text-decoration: none;
	position: relative;
	width: 90%;
	margin-left: 5%;
	font-size: 1.7rem;
	font-weight: 700;
}

.col_sp02 .btn02 {
	width: 100%;
	margin: 0;
}

.btn02:before {
	background: url(../images/bg_stripe.png) left top repeat;
	background-size: 6px;
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 10px;
	top: 10px;
}

.btn02 span {
	background: #fff;
	padding: 4vw 7vw 4vw 3vw;
	position: relative;
	display: block;
}

.btn02 span:after {
	content: "";
	background: url(../images/arrow_double_pink.png) left center no-repeat;
	width: 3vw;
	height: 1em;
	background-size: contain;
	vertical-align: middle;
	margin-bottom: 0.1em;
	margin-left: 0.4em;
	right: 0;
	position: absolute;
	top: 50%;
	right: 3vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.btn02.arrow_l span {
	padding: 4vw 3vw 4vw 8.5vw;
}

.btn02.arrow_l span:after {
	right: inherit;
	left: 2vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
table */

th,
td {
	background: #f0f0f0;
	padding: 4vw;
	font-size: 1.9rem;
	vertical-align: top;
}

tbody tr:nth-child(2n) th,
tbody tr:nth-child(2n) td {
	background: #fff;
}

th {
	font-weight: 700;
	width: 35%;
	padding-right: 0;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gmap */

.gmap {
	position: relative;
	overflow: hidden;
	height: 60vw;
}

.gmap iframe,
.gmap object,
.gmap embed {
	width: 100%;
	height: 100%;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
フォーム */

input[type=text],
select,
textarea {
	background: #fff;
	border: 1px solid #d4d4d4;
	width: 100%;
	font-size: 16px;
	padding: 2vw;
	border-radius: 3px;
}

input[type=date] {

	background: #fff;

	border: 1px solid #d4d4d4;

	width: 300px;

	font-size: 16px;

	padding: 2vw;

	border-radius: 3px;

}
input:disabled {
	background: #f7f7f7;
	border: 1px solid #cccccc;
	color: #bbb;
}

input.minitxt {
	width: 9em;
}

.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: "";
	border: #aeaeae 1px solid;
	background: #e1e1e1;
	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: 10px;
	height: 10px;
	border-left: 2px solid #727272;
	border-bottom: 2px solid #727272;
	pointer-events: none;
}

textarea {
	height: 40vw;
	resize: vertical;
}

.radio_style_narabi{
	margin-top: -4vw;
}
.radio_style_narabi li {
	display: inline-block;
	margin-top: 4vw;
}

.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: #fe4f78;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 1.1vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.checkbox_style_narabi li{
	display: inline-block;
	margin-top: 4vw;
}

form .other_box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin-top: 4vw;
}

form .other_box li{
	width: 23vw;
}

form .other_box li + li {
	-webkit-flex: 1;
	flex: 1;
	width:auto;
}

.checkbox_style_narabi {
	margin-top: -4vw;
}

.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;
	padding-right: 4vw;
	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 #fe4f78;
	border-right: 3px solid #fe4f78;
}

.submit_btn {
	content: "";
	background: #fe4f78 url(../images/bg_pink_dot.png) left top repeat;
	content: "";
	width: 60vw;
	height: 100%;
	left: 0;
	background-size: 19px auto;
	text-decoration: none;
	color: #fff;
	text-align: left;
	padding: 4vw 9vw;
	font-weight: 700;
	line-height: 1.6;
	font-size: 2.2rem;
	position: relative;
	margin-left: 20vw;
	text-align: center;
	letter-spacing: 3px;
}

.submit_btn:before {
	position: absolute;
	content: "";
	background: url(../images/arrow_double_white.png) left center no-repeat;
	width: 3vw;
	height: 100%;
	background-size: contain;
	right: 5vw;
	top: 0;
}

.form_spwide {
	margin-left: -7vw;
	margin-right: -9vw;
}

.form_spwide .form_layout {
	padding: 4vw 7vw 5vw;
}

.form_spwide .form_layout:not(:nth-of-type(2n)) {
	background: #ededed;
}

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

.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 .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_layout .three_size input {
	width: 9em;
}

.form_layout .three_size li + li {
	margin-top: 2rem;
}

.form_layout .three_size li p:first-child {
	width: 6em;
}

.form_layout .photo p {
	width: 8em;
}

.form_layout .photo p + input {
	width: 100%;
	margin-left: 0;
	-webkit-flex: 1;
	flex: 1;
}

.form_layout .photo li + li {
	margin-top: 2rem;
}

.form_sample {
	margin-top: 0.5em;
	color: #999;
	font-size: 1.2rem;
}


/*20191125追加*/
.form_layout .photo2 li {
	padding: 0.5em 0;
}
.form_layout .photo2 p {
	display: flex;
	width: 25em;
}
.form_layout .photo2 input[type="file"] {
	display: none;
}
div.btn_file {
	text-align: center;
	border: 1px solid #aeaeae !important;
	border-radius: 5px;
	background: #e1e1e1;
	padding: 0;
	width: 4em;
}
.photo2 li div.preview {
	width: 4em;
	height: 4em;
	margin-left: 2em;
	border: 1px solid #e1e1e1;
	overflow: hidden;
}
.photo2 li div img {
	width: 100%;
}


/*______________________________________________________________________________
form_confirm */

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

.submit_btn_reverse:before {
	transform: rotate(-180deg);
	-webkit-transform: rotate(-180deg);
	right: inherit;
	left: 5vw;
}

.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 .three_size .txt_tuika p:first-child,
.form_confirm .form_layout .three_size .txt_tuika input {
	margin-right: 0;
}

.form_confirm .form_layout .three_size input {
	width: 3em;
	text-align: center;
}

.form_confirm .form_layout > dd {
	padding: 1px 0;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ブロック */

.line_block {
	background: url(../images/bg_stripe.png) left top repeat;
	background-size: 6px;
	padding: 7vw 0;
}
.line_block .tel_num li+li {
	margin-top: 2vw;
}

.line_block .tel_num li {
	position: relative;
	padding-left: 6vw;
}

.line_block .tel_num li .tel_icon {
	width: 6vw;
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.line_block .tel_num li .num {
	font-weight: 700;
	font-size: 3.2vw;
	letter-spacing: 0;
	display: block;
	margin-bottom: 0;
}

.line_block .tel_num li a {
	color: #000;
}

.line_block .tel_num .time {
	font-size: 1rem;
	letter-spacing: 0;
	display: block;
}

.kakomi_stripe_pink {
	background: url(../images/bg_stripe_pink.png) left top repeat;
	padding: 7vw;
	background-size: 6px;
	margin-left: -7vw;
	margin-right: -7vw;
}

.kakomi_stripe_pink .kakomi_in {
	padding: 5vw;
	background: #fff;
}

.kakomi_stripe_gray {
	background: url(../images/bg_stripe.png) left top repeat;
	background-size: 6px;
	content: "";
	width: 100%;
	height: 100%;
	width: 100vw;
	padding: 7vw 0;
}

.kakomi_stripe_gray .kakomi_in {
	padding: 5vw;
	background: #fff;
}

.kakomi_pink {
	padding: 5vw 7vw;
	background-size: 6px;
	margin-left: -7vw;
	margin-right: -7vw;
	background: #ffdee6;
}

.con_indent {
	margin-left: 1.6em;
	margin-right: 1.6em;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
並び */

.col_02 .col_in + .col_in,
.col_03 .col_in + .col_in {
	margin-top: 7vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
slip_box */

.slip_box .img {
	margin-left: -7vw;
	margin-right: -7vw;
	position: relative;
}

.slip_box .img:before {
	background: url(../images/bg_stripe.png) left top repeat;
	background-size: 6px;
	position: absolute;
	content: "";
	width: 100%;
	height: 98%;
	height: -webkit-calc(100% + 15vw);
	height: calc(100% + 15vw);
	left: -7vw;
	top: 0;
}

.slip_block .slip_box:nth-child(2) .img:before {
	left: 7vw;
}

.slip_box figure img {
	position: relative;
}

.slip_box .txt_block {
	background: rgba(255, 255, 255, 0.7);
	margin-top: -7vw;
	position: relative;
}

.slip_box .txt_block .tl {
	width: 32vw;
	margin: 0 auto;
	padding: 13vw 0 5vw;
	max-width: 130px;
}

.slip_box .txt_block .lead {
	font-weight: 700;
	font-size: 1.9rem;
	text-align: center;
	margin-bottom: 5vw;
}

.slip_box + .slip_box {
	margin-top: 13vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
slip_box_mid */

.slip_box_mid .img {
	margin-left: -7vw;
	margin-right: -7vw;
	position: relative;
}

.slip_box_mid figure {
	position: relative;
	width: 100%;
	padding-top: 65%;
	overflow: hidden;
}

.slip_box_mid figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}

.slip_box_mid .img:before,
.inner .slip_block_mid .slip_box_mid.no_reverse .img:before {
	background: url(../images/bg_stripe.png) left top repeat;
	background-size: 6px;
	position: absolute;
	content: "";
	width: 100%;
	height: 98%;
	height: -webkit-calc(100% + 15vw);
	height: calc(100% + 15vw);
	left: -7vw;
	top: 0;
}

.slip_block_mid .slip_box_mid:nth-of-type(2n) .img:before,
.inner .slip_block_mid .slip_box_mid.reverse .img:before {
	left: 7vw;
}

.slip_box_mid .txt_block {
	background: rgba(255, 255, 255, 0.7);
	margin-top: -7vw;
	position: relative;
	padding-top: 13vw
}

.slip_box_mid .txt_block .tl {
	margin: 0 auto;
	padding: 0 0 5vw;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 700;
}

.slip_box_mid .txt_block .tl img {
	width: 20vw;
	margin-left: auto;
	margin-right: auto;
}

.slip_box_mid .txt_block .tl span {
	line-height: 1.6;
	display: inline-block;
	padding-top: 1.5vw;
}

.slip_box_mid + .slip_box_mid {
	margin-top: 13vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
slant_box */

.slant_box {
	position: relative;
	padding: 7vw 7vw 0 0;
}

.slant_block .slant_box:nth-child(2n) {
	padding: 7vw 0 0 7vw;
}

.slant_box:before {
	background: #fe4f78 url(../images/bg_pink_dot.png) left top repeat;
	position: absolute;
	content: "";
	width: 93vw;
	left: -7vw;
	background-size: 19px auto;
	top: 0;
	height: 95%;
	height: -webkit-calc(100% - 7vw);
	height: calc(100% - 7vw);
}

.slant_block .slant_box:nth-child(2n):before {
	left: 0;
}

.slant_box .btn {
	position: relative;
	margin-bottom: 6vw;
}

.slant_box .btn a {
	display: block;
	color: #fff;
	border: 2px solid #fff;
	text-decoration: none;
	padding: 3.5vw 7vw 3.5vw 3.5vw;
	font-size: 1.9rem;
	position: relative;
	font-weight: 700;
}

.slant_box .btn a:before {
	background: url(../images/arrow_double.png) center center no-repeat;
	position: absolute;
	top: 50%;
	right: 4vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	content: "";
	width: 2.8vw;
	height: 100%;
	background-size: contain;
}

.slant_box .txt {
	position: relative;
	color: #fff;
}

.slant_box figure {
	position: relative;
	margin-top: 6vw;
}

.slant_box + .slant_box {
	margin-top: 7vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
link_block */

.link_block a {
	text-decoration: none;
	color: #000;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	margin-right: 3.5vw;
	padding: 0 1vw 3vw 0;
	position: relative;
}

.link_block a:before {
	background: url(../images/bg_stripe.png) left top repeat;
	background-size: 6px;
	position: absolute;
	content: "";
	height: 100%;
	width: 100%;
	z-index: 1;
	top: 3.5vw;
	left: 3.5vw;
}

.link_block a:after {
	background: rgba(255, 255, 255, 0.89);
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	z-index: 2;
	left: 0;
	top: 0;
}

.link_block figure {
	width: 24vw;
	margin-right: 3vw;
	position: relative;
	z-index: 3;
}

.link_block .txt_block {
	-webkit-flex: 1;
	flex: 1;
	position: relative;
	z-index: 3;
}

.link_block .txt_block .link {
	font-weight: bold;
	position: relative;
	padding-left: 4vw;
	margin-bottom: 2vw;
	font-size: 1.8rem;
	line-height: 1.4;
	padding-top: 0.1em;
}

.link_block .txt_block .link:before {
	position: absolute;
	content: "";
	background: url(../images/arrow_double_pink.png) left center no-repeat;
	width: 3vw;
	height: 100%;
	background-size: contain;
	left: 0;
	top: 0;
}

.link_block .txt_block .txt {
	font-size: 1.4rem;
}

.link_block .box + .box {
	margin-top: 10.5vw;
}


/*______________________________________________________________________________
link_block_mini */

.link_block.link_block_mini figure {
	width: 17vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pink_link_block */

.pink_link_block .box {
	padding-top: 3.5vw;
}

.pink_link_block a {
	color: #fff;
	padding: 0 3.5vw 3.5vw 3.5vw;
	position: relative;
	text-decoration: none;
}

.pink_link_block a:before {
	content: "";
	background: #fe4f78 url(../images/bg_pink_dot.png) left top repeat;
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	background-size: 19px auto;
}

.pink_link_block .figure_box {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	position: relative;
	margin-top: -3.5vw;
	margin-bottom: 3.5vw;
}

.pink_link_block figure {
	width: 24vw;
	margin-right: 3vw;
}

.pink_link_block .figure_box .tl_box {
	-webkit-flex: 1;
	flex: 1;
	padding-bottom: 3.5vw;
}

.pink_link_block .figure_box .tl_box .tl {
	font-weight: bold;
	position: relative;
	padding-right: 4vw;
	margin-bottom: 0;
	font-size: 1.8rem;
	line-height: 1.4;
	padding-top: 0.1em;
	margin-top: 1vw;
}

.pink_link_block .figure_box .tl_box .tl:before {
	position: absolute;
	content: "";
	background: url(../images/arrow_double_white.png) left center no-repeat;
	width: 3vw;
	height: 100%;
	background-size: contain;
	right: 0;
	top: 0;
}

.pink_link_block .txt {
	position: relative;
	font-size: 1.4rem;
}

.pink_link_block .box + .box {
	margin-top: 7vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
big_slip_block */

.big_slip_block .main_box {
	margin-bottom: 7vw;
}

.big_slip_block .img {
	margin-left: -7vw;
	margin-right: -7vw;
	position: relative;
}

.big_slip_block .img:before {
	background: url(../images/bg_stripe.png) left top repeat;
	background-size: 6px;
	position: absolute;
	content: "";
	width: 100%;
	height: 98%;
	height: -webkit-calc(100% + 15vw);
	height: calc(100% + 15vw);
	left: 7vw;
	top: 0;
}

.big_slip_block figure img {
	position: relative;
}

.big_slip_block .main_box .txt {
	background: rgba(255, 255, 255, 0.7);
	margin-top: -7vw;
	position: relative;
	padding-top: 13vw;
}

.big_slip_block .img_box {
	padding: 0 7vw 0;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
btnlink_block */

.btnlink_block>li {
	position: relative;
	margin: 0 3vw 3vw 0;
}

.btnlink_block>li:before {
	position: absolute;
	background: rgba(243, 26, 77, 0.75);
	left: 3vw;
	top: 3vw;
	content: "";
	width: 100%;
	height: 100%;
	z-index: 1;
	font-weight: 700;
}

.btnlink_block a {
	display: block;
	width: 100%;
	position: relative;
	z-index: 10;
	text-decoration: none;
}

.btnlink_block figure {
	position: relative;
	width: 45%;
	overflow: hidden;
	z-index: 3;
}

.btnlink_block figure:before {
	content: '';
	display: block;
	padding-top: 100%;
	width: 100%;
	position: relative;
}

.btnlink_block figure img {
	width: 102%;
	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
	height: 102%;
	height: -webkit-calc(100% + 2px);
	height: calc(100% + 2px);
	position: absolute;
	top: -1px;
	left: -1px;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	-webkit-backface-visibility: visible;
	backface-visibility: visible;
}

.btnlink_block .txt_block {
	background: #fff;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	width: 60%;
	padding: 4%;
	line-height: 1.5;
	z-index: 4;
}

.btnlink_block .txt_block .tl {
	font-weight: bold;
	position: relative;
	margin-bottom: 2vw;
	font-size: 1.8rem;
	line-height: 1.4;
	padding-top: 0.1em;
	color: #f31a4d;
}

.btnlink_block .txt_block .tl span {
	font-size: 80%;
	vertical-align: baseline;
}

.btnlink_block a .txt_block .tl:after {
	content: "";
	background: url(../images/arrow_double_pink.png) left center no-repeat;
	width: 3vw;
	height: 1em;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
	margin-bottom: 0.1em;
	margin-left: 0.4em;
}

.btnlink_block .txt_block .txt {
	color: #000;
	font-size: 1.5rem;
}

.btnlink_block > li + li {
	margin-top: 10vw;
}

.btnlink_block > li:after {
	position: absolute;
	background: #fff;
	left: 0;
	top: 0;
	content: "";
	width: 100%;
	height: 100%;
	z-index: 2;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tl_bnr */

.tl_bnr li {
	position: relative;
}

.tl_bnr a {
	text-decoration: none;
	padding-bottom: 2vw;
}

.tl_bnr .tl {
	background: #f31a4d;
	color: #fff;
	position: absolute;
	z-index: 2;
	right: 2vw;
	bottom: 0vw;
	font-size: 1.3rem;
	padding: 0vw 2vw;
}

.tl_bnr li + li {
	margin-top: 3.5vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
images_box */

.images_box figure {
	width: 53vw;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	margin-bottom: 11vw;
}

.images_box figure:before {
	background: url(../images/bg_stripe.png) left top repeat;
	background-size: 6px;
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 3vw;
	top: 3vw;
}

.images_block .images_box:nth-child(2n) figure:before,
.images_block .images_box.reverse figure:before {
	left: -3vw;
	top: 3vw;
}

.images_box figure img {
	position: relative;
}

.images_box + .images_box {
	margin-top: 10vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
boxlayout01_box */

.boxlayout01_box + .boxlayout01_box {
	margin-top: 7vw;
}

.boxlayout01_box .txt_block {
	position: relative;
	padding-bottom: 7vw;
}

.boxlayout01_box .txt_block:before {
	background: url(../images/bg_stripe.png) left top repeat;
	background-size: 6px;
	position: absolute;
	content: "";
	top: 0;
	left: -7vw;
	width: 120%;
	width: -webkit-calc(100% + 14vw);
	width: calc(100% + 14vw);
	height: 100%;
}

.boxlayout01_box .txt_block .txt {
	position: relative;
	background: #fff;
	padding: 5vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
アコーディオン */

.accordion {
	padding: 5px;
	position: relative;
}

.accordion + .accordion {
	margin-top: 4vw;
}

.accordion_tl {
	position: relative;
	font-weight: 700;
	font-size: 3.3vw;
	cursor: pointer;
	background: #ededed;
	padding: 3vw 0 3vw 12vw;
	line-height: 1.7;
	transition: 0.5s ease;
}

.accordion_tl.on {
	background: #ffdee6;
	transition: 0.5s ease;
}

.accordion_tl:before {
	position: absolute;
	top: 0;
	content: "";
	line-height: 1;
	background: url(../images/faq_q.png) center center no-repeat;
	background-size: 5vw;
	height: 100%;
	text-align: center;
	left: 0;
	width: 12vw;
}

.accordion_tl p {
	padding-right: 30px;
}

.accordion_tl p:before {
	position: absolute;
	content: "";
	right: 0vw;
	transition: 0.5s ease;
	-webkit-transition: 0.5s ease;
	font-size: 4vw;
	font-weight: 700;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 8vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	text-align: center;
	width: 12px;
	height: 2px;
	background: #000;
	border-radius: 10px;
	transition: 0.5s ease;
}

.accordion_tl p:after {
	position: absolute;
	content: "";
	right: 0vw;
	transition: 0.5s ease;
	-webkit-transition: 0.5s ease;
	font-size: 4vw;
	font-weight: 700;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 8vw;
	-webkit-transform: translate(0%, -50%) rotate(0deg);
	transform: translate(0%, -50%) rotate(0deg);
	text-align: center;
	width: 2px;
	height: 12px;
	background: #000;
	border-radius: 10px;
	transition: 0.5s ease;
}

.accordion_tl.on p:after {
	-webkit-transform: translate(0%, -50%) rotate(90deg);
	transform: translate(0%, -50%) rotate(90deg);
}

.accordion_con {
	padding: 4vw 5vw;
	background: #fff;
	position: relative;
}



/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
bnr_sns */

.bnr_sns li {
	text-align: center;
}

.bnr_sns a {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 65%;
}

.bnr_sns li + li {
	margin-top: 7vw;
}


/*******************************************************************************
/*******************************************************************************
ページ固有 */


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TOP */


/*______________________________________________________________________________
MV */

.mv_con {
	position: relative;
}

.mv_con:before {
	background: #fe4f78 url(../images/bg_pink_dot.png) left top repeat;
	background-size: 19px auto;
	content: "";
	position: absolute;
	width: 50%;
	height: 110%;
	height: -webkit-calc(100% + 15vw);
	height: calc(100% + 15vw);
	left: 0;
	top: 0;
}

.mv_con .img {
	width: 92%;
	margin-left: auto;
	position: relative;
	overflow: hidden;
}

.mv_con .img img {
	width: 150%;
}

.mv_con .txt {
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(-75%, -50%);
	transform: translate(-75%, -50%);
	width: 56%;
	transition: transform 1.5s ease, opacity 0.5s ease;
	opacity: 0;
}

.mv_con .txt span {
	font-weight: 700;
	line-height: 2.2;
	display: block;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}

.mv_con .txt em {
	background: linear-gradient(transparent 0, rgba(255, 255, 255, 0.75) 0);
	display: inline-block;
	padding: 0 2vw;
}

.mv_con .txt span + span {
	margin-top: 2vw;
}

.mv_wrap .slick-current.mv_con .txt {
	opacity: 1;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.mv_wrap .slick-list {
	overflow: visible;
}

.mv_wrap .slick-slide:focus {
	outline: none !important;
}


/*______________________________________________________________________________
model_first */

.model_first {
	position: relative;
	margin-top: 8vw;
}

.model_first .main_tl {
	width: 66%;
	margin-left: auto;
	margin-right: auto;
	max-width: 205px;
	padding-right: 3vw;
}

.model_first .main_txt {
	margin-top: 10vw;
	font-size: 1.8rem;
	font-weight: 700;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
下層共通 */


/*______________________________________________________________________________
mv_under_wrap */

.mv_under_wrap {
	padding-bottom: 5vw;
}

.mv_under_con {
	position: relative;
}

.mv_under_con:before {
	background: #fe4f78 url(../images/bg_pink_dot.png) left top repeat;
	background-size: 19px auto;
	content: "";
	position: absolute;
	width: 50%;
	height: 110%;
	height: -webkit-calc(100% + 5vw);
	height: calc(100% + 5vw);
	left: 0;
	top: 0;
}

.mv_under_wrap .img {
	position: relative;
}

.mv_under_con .txt {
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	width: 52%;
}

.mv_under_con .txt span {
	font-weight: bold;
	line-height: 2.2;
	display: block;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
}

.mv_under_con .txt .small {
	font-size: 1.3rem;
}

.mv_under_con .txt span + span {
	margin-top: 2vw;
}

.mv_under_con .txt em {
	background: linear-gradient(transparent 0, rgba(255, 255, 255, 0.75) 0);
	display: inline-block;
	padding: 0 2vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
line */

.line_bnr a {
	width: 90%;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
area */

.area_map p {
	margin-left: auto;
	margin-right: auto;
	width: 60%;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
glossary */

.glossary_tl {
	width: 100vw;
	position: absolute;
	left: 0;
	top: 0;
	background: white;
	padding-top: 13vw;
}

.glossary_tl span {
	background: #fe4f78;
	width: 15vw;
	height: 15vw;
	border-radius: 50%;
	color: #fff;
	margin-left: auto;
	margin-right: auto;
	font-size: 6.4vw;
	font-weight: bold;
	text-align: center;
	padding-top: 2.7vw;
	margin-bottom: 7vw;
	display: block;
}

.glossary_tl span:before {
	position: absolute;
}

.glossary_tl em {
	font-weight: 400;
	font-size: 3.2vw;
	vertical-align: baseline;
	padding-left: 0.1em;
}

.glossary_layout table {
	margin-left: -7vw;
	margin-right: -7vw;
	width: auto;
}

.glossary_layout th,
.glossary_layout td {
	font-size: 1.6rem;
}

.glossary_layout th {
	padding: 4vw 0 4vw 7vw;
	width: 39%;
	line-height: 1.4;
}

.glossary_layout .gyou_col th {
	position: relative;
}

.glossary_layout .gyou_col th,
.glossary_layout .gyou_col td {
	padding-top: 40vw;
}

.glossary_layout td {
	padding: 4vw 7vw 4vw 4vw;
	width: 39%;
}

.glossary_layout th .yomi {
	display: block;
	font-size: 1rem;
	font-weight: 400;
	padding-top: 0.5em;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
company */

.company_map_block .gmap {
	margin-left: -5vw;
	margin-right: -5vw;
	margin-bottom: -5vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
application */

.kibouday dl {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.kibouday dt {
	font-weight: 700;
	-webkit-flex: 1;
	flex: 1;
}

.kibouday dd {
	width: 25%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.kibouday dd.date {

	width: 46%;
	margin-right: 10px;

}

.kibouday dd p {
	width: 2em;
	text-align: center;
}

.kibouday .div_select {
	-webkit-flex: 1;
	flex: 1;
}

.kibouday .selectblock:before {
	width: 14px;
}

.kibouday .selectblock:after {
	width: 6px;
	right: 4px;
	height: 6px;
}

.kibouday li + li {
	margin-top: 5vw;
}
/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
match */
.match_img  img {
	max-width: 864px;
	display: inline-block;
}