@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&display=swap');

html {
	color: #111111;
	font-size: 1em;
	line-height: 1.4;
}

html,
body {
	line-height: 1.6;
	font-size: 16px;
	padding: 0;
	margin: 0;
	letter-spacing: .075em
}

body {
	font-size: 1rem;
	font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	color: #000000;
}


::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}

::selection {
	background: #b3d4fc;
	text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
	resize: vertical;
}

/* ==========================================================================
   Commons styles
   ========================================================================== */
a {
	text-decoration: none;
	color: inherit;
	transition: color 0.2s 0s ease;
}

a:hover {
	color: #f23b41
}

a:focus,
*:focus {
	outline: none;
}

a[href^="tel:"] {
	pointer-events: none;
	cursor: text;
}

img {
	border: 0px;
}

p,
dd,
figure,
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	padding: 0
}

ul,
li,
dl {
	margin: 0;
	padding: 0;
	list-style: none
}

.b {
	font-weight: bold
}

.fw_n {
	font-weight: normal
}

.tx_und {
	text-decoration: underline
}

.tx_cent {
	text-align: center
}

.tx_right {
	text-align: right
}

.tx_left {
	text-align: left
}

.marker_tp_1 {
	background: rgba(0, 0, 0, 0) linear-gradient(transparent 80%, #f5ea54 0%) repeat scroll 0 0;
}

.marker_tp_2 {
	background: rgba(0, 0, 0, 0) linear-gradient(transparent 80%, #cce4ff 0%) repeat scroll 0 0;
}

.marker_tp_3 {
	background: rgba(0, 0, 0, 0) linear-gradient(transparent 0%, #fff008 0%) repeat scroll 0 0;
}

.marker_tp_4 {
	background: rgba(0, 0, 0, 0) linear-gradient(transparent 0%, #7dd7e6 0%) repeat scroll 0 0;
}

.fc_wht {
	color: #FFF !important
}

.fc_blue_0045a9 {
	color: #0045a9 !important
}

.fc_blk {
	color: #000000 !important
}

.fc_blk_010101 {
	color: #010101 !important
}

.fc_blue_004bb4 {
	color: #004bb4 !important
}

.fc_blue_4397cb {
	color: #4397cb !important
}

.fc_yel {
	color: #fff008 !important
}

.fc_org {
	color: #ff7654 !important
}

.fs_80 {
	font-size: 80%;
}

.fs_90 {
	font-size: 90%;
}

.fs_120 {
	font-size: 120%;
}

.tx_sdw_1 {
	text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0-1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.ff_min {
	font-family: 'Noto Serif JP', serif;
}

.ff_jsf {
	font-family: 'Josefin Sans', serif;
}

.txs_12 {
	font-size: 12px;
}

.txs_13 {
	font-size: 13px;
}

.txs_14 {
	font-size: clamp(12px, 0.72vw, 14px);
}

.txs_15 {
	font-size: clamp(13px, 0.78vw, 15px);
}

.txs_16 {
	font-size: clamp(14px, 0.833vw, 16px);
}

.txs_18 {
	font-size: clamp(15px, 0.93vw, 18px);
}

.txs_20 {
	font-size: clamp(16px, 1.04vw, 20px);
}

.txs_21 {
	font-size: clamp(16px, 1.09vw, 21px);
}

.txs_22 {
	font-size: clamp(18px, 1.14vw, 22px);
}

.txs_23 {
	font-size: clamp(17px, 1.19vw, 23px);
}

.txs_24 {
	font-size: clamp(17px, 1.25vw, 24px);
}

.txs_25 {
	font-size: clamp(18px, 1.3vw, 25px);
}

.txs_26 {
	font-size: clamp(14px, 1.35vw, 26px);
}

.txs_27 {
	font-size: clamp(20px, 1.4vw, 27px);
}

.txs_28 {
	font-size: clamp(20px, 1.4583vw, 28px);
}

.txs_30 {
	font-size: clamp(22px, 1.56vw, 30px);
}

.txs_32 {
	font-size: clamp(22px, 1.66vw, 32px);
}

.txs_35 {
	font-size: clamp(22px, 1.82vw, 35px);
}

.txs_36 {
	font-size: clamp(22px, 1.84vw, 36px);
}

.txs_38 {
	font-size: clamp(22px, 1.97vw, 38px);
}

.txs_40 {
	font-size: clamp(36px, 2.08vw, 40px);
}

.txs_45 {
	font-size: clamp(30px, 2.34vw, 45px);
}

.txs_46 {
	font-size: clamp(36px, 2.39vw, 46px);
}

.txs_60 {
	font-size: clamp(36px, 3.12vw, 60px);
}

.txs_72 {
	font-size: clamp(36px, 3.75vw, 72px);
}

.txs_80 {
	font-size: clamp(46px, 4.16vw, 80px);
}

.ls_ng_15 {
	letter-spacing: -.015em
}

.ls_0 {
	letter-spacing: 0
}

.ls_25 {
	letter-spacing: .025em
}

.ls_35 {
	letter-spacing: .035em
}

.ls_5 {
	letter-spacing: .05em
}

.ls_75 {
	letter-spacing: .075em;
}

.ls_80 {
	letter-spacing: .08em
}

.ls_100 {
	letter-spacing: .1em
}

.ls_200 {
	letter-spacing: .2em
}

.fw_500 {
	font-weight: 500
}

.fw_550 {
	font-weight: 550
}

.fw_600 {
	font-weight: 600
}

.lh_1_6 {
	line-height: 1.6
}

.lh_1_8 {
	line-height: 1.8
}

.lh_2 {
	line-height: 2
}

.bx_sdw_1 {
	box-shadow: 1px 1px 3px 1px #f2f2f2;
}

.flex_wrapper {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}

.flex-wrap_par {
	flex-wrap: wrap;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}

.flex-rev {
	flex-flow: row-reverse;
}

.jus_bet {
	justify-content: space-between
}

.jus_cent {
	justify-content: center
}

.an_bl {
	align-items: baseline
}

.an_cent {
	align-items: center
}

.block_link {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100
}

.hover:hover {
	opacity: 1;
	-webkit-animation: flash 1s;
	animation: flash 1.5s;
	transition-property: all;
	transition: 0.15s linear;
}

@-webkit-keyframes flash {
	0% {
		opacity: .4;
	}

	100% {
		opacity: 1;
	}
}

@keyframes flash {
	0% {
		opacity: .4;
	}

	100% {
		opacity: 1;
	}
}

@media screen and (min-width:767px) {
	.hover_0 {
		transition-property: all;
		transition: 0.15s linear;
	}

	.hover_0:hover {
		opacity: 0.5;
	}

	.hover_1 {
		transition-property: all;
		transition: 0.2s linear;
	}

	.hover_1:hover {
		opacity: 0.8;
	}
}

.pc {
	display: block
}

.rp {
	display: none !important
}

.sp {
	display: none !important
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.no_link {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}

.max_img {
	max-width: 100%;
	height: auto;
	display: block;
}

.img_w100 {
	width: 100%;
	height: auto
}

.img_w50 {
	width: 50%;
	height: auto
}

.img_w40 {
	width: 40%;
	height: auto
}

.img_w20 {
	width: 20%;
	height: auto
}

.img_w25 {
	width: 25%;
	height: auto
}

.img_w30 {
	width: 30%;
	height: auto
}

.img_w35 {
	width: 35%;
	height: auto
}

.img_w10 {
	width: 10%;
	height: auto
}

.img_w5 {
	width: 5%;
	height: auto
}

.centered {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignright {
	margin: 0 0 0 min(1.45vw, 28px);
	display: inline;
}

.alignleft {
	margin: 0 min(1.45vw, 28px) 0 0;
	display: inline;
}

.alignright {
	float: right;
}

.alignleft {
	float: left;
}

.mgn_auto {
	margin-left: auto;
	margin-right: auto;
}

.clear {
	clear: both
}

.pos_rel {
	position: relative
}

/*-------------------------------------
ラッパー
--------------------------------------*/
.wrap_1168 {
	max-width: 1168px;
	margin-left: auto;
	margin-right: auto;
}

/*-------------------------------------
背景色
--------------------------------------*/
.bg_type_wht {
	background-color: #FFF
}

.bg_type_water {
	background-color: #4397cb
}

.bg_type_strip {
	background: url("../img/bg_strip.png")
}

/*-------------------------------------
リスト
--------------------------------------*/
.list_type_1 {
	display: flex;
}

.list_type_1 .cel {
	line-height: 1.8;
	font-weight: 500;
	text-align: left;
}

.list_type_1 dt {
	width: 1em;
	text-align: left
}

.list_type_1 dd {
	width: calc(100% - 1em);
	text-align: left;
}

/*-------------------------------------
ボックス
--------------------------------------*/
.bx_tp_1 {
	background: #FFF;
	box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.3);
}

.inl_b {
	display: inline-block
}

.inl {
	display: inline
}

/*-------------------------------------
見出し
--------------------------------------*/
.h_type_1 {
	padding: min(2.39vw, 46px) 0;
	font-size: clamp(30px, 3.12vw, 60px);
	color: #FFF;
	text-align: center;
	letter-spacing: .075em;
	line-height: 1.2;
	background: #4397cb;
	text-shadow: 3px 3px 6px #387ca6;
}

/*form_restart*/
.form_area input[type='text'],
.form_area input[type='email'],
.form_area input[type='submit'],
.form_area input[type='button'],
.form_area input[type='reset'],
.form_area button,
.form_area textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

/*-------------------------------------
ボタン
--------------------------------------*/
.btn_type_1 {}

/*-------------------------------------
余白
--------------------------------------*/
.sec_pad_50 {
	padding: min(2.6vw, 50px) 0;
}

.sec_pad_50_t {
	padding-top: min(2.6vw, 50px);
}

.sec_pad_50_b {
	padding-bottom: min(2.6vw, 50px);
}

.sec_pad_80 {
	padding: min(4.16vw, 80px) 0;
}

.sec_pad_80_t {
	padding-top: min(4.16vw, 80px);
}

.sec_pad_80_b {
	padding-bottom: min(4.16vw, 80px);
}

.sec_pad_100 {
	padding: min(5.2vw, 100px) 0;
}

.sec_pad_100_t {
	padding-top: min(5.2vw, 100px);
}

.mgn_auto {
	margin-left: auto !important;
	margin-right: auto !important;
}

.mgn_t_5 {
	margin-top: 5px
}

.mgn_t_10 {
	margin-top: 10px
}

.mgn_t_15 {
	margin-top: 15px
}

.mgn_t_17 {
	margin-top: min(0.8854166666666666vw, 17px)
}

.mgn_t_20 {
	margin-top: min(1.0416666666666665vw, 20px)
}

.mgn_t_30 {
	margin-top: min(1.5625vw, 30px)
}

.mgn_t_40 {
	margin-top: min(2.08333333vw, 40px)
}

.mgn_t_50 {
	margin-top: min(2.6041vw, 50px)
}

.mgn_t_60 {
	margin-top: min(3.125vw, 60px)
}

.mgn_t_70 {
	margin-top: min(3.64vw, 70px)
}

.mgn_t_80 {
	margin-top: min(4.16vw, 80px)
}

.mgn_t_100 {
	margin-top: min(5.2vw, 100px)
}

.mod_left_1100 {
	margin-left: calc((100vw - 1100px) / 2)
}

.mod_right_1100 {
	margin-right: calc((100vw - 1100px) / 2)
}

.mod_side_100 {
	margin-right: min(5.208333333333334vw, 100px);
	margin-left: min(5.208333333333334vw, 100px);
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
header.general {
	padding-bottom: 13px;
}

header.general h1 img {
	display: block;
	width: 262px;
	height: auto;
	margin: 9px 0 0 20px;
}

header.general .btns {
	width: calc(100% - 262px);
	display: flex;
	justify-content: flex-end;
}

header.general .btns .bx {
	width: 100%;
	max-width: 350px;
	padding: 17px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #0045a9;
	color: #FFF;
}

header.general .btns .bx:last-child {
	margin-left: 1.4%
}

header.general .btns .bx img {
	margin-right: 5%
}

.fv {
	background: url("../img/fv.bg.jpg") no-repeat center top / cover
}

.fv .mv {
	width: min(45.26vw, 869px);
	height: auto;
	margin: 22px 0 min(4.68vw, 90px) 8.33%
}

.fv .txt {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	padding: min(8.33vw, 160px) 0 0 54%;
}

.fv .txt h2 {
	font-size: clamp(30px, 4.16vw, 80px);
	color: #1f4c9f;
	letter-spacing: .075em;
	line-height: 1.35
}

.fv .under {
	width: min(33.59vw, 645px);
	padding-top: min(4.68vw, 90px);
}

.fv .under img {
	width: min(28.85vw, 554px)
}

.fv .under .btn a {
	display: block;
	padding: min(2.08vw, 40px) 0;
	background: #ff558f;
	line-height: 1.1;
}

.bluse {}

.bluse h2 {
	padding: 8px 0 27px;
	box-shadow: 0px 3px 7px 0px #387ca6;
	position: relative;
	z-index: 10
}

.bluse h2 img {
	display: block;
	width: min(55.05vw, 1057px);
	height: auto;
	margin: 0 auto
}

.bluse .tra {
	position: relative;
	z-index: 20
}

.bluse .inn {
	position: relative;
	z-index: 0;
	margin-top: -52px;
	padding-top: min(3.43vw, 66px);
	background: url("../img/note_bg.png");
}

.bluse .inn .chk_stage {
	padding-bottom: min(7.81vw, 150px);
}

.bluse .inn .chks {
	padding: 0 0 0 min(10.41vw, 200px);
}

.bluse .inn .chks dl {
	display: flex;
	align-items: center
}

.bluse .inn .chks dt {
	width: 3.3%;
}

.bluse .inn .chks dt img {
	display: block;
	width: 100%;
	height: auto
}

.bluse .inn .chks dd {
	width: 96.7%;
	padding-left: 1%;
}

.bluse .inn .woman {
	position: absolute;
	bottom: 0;
	right: min(3.43vw, 66px);
	width: min(36.92vw, 709px);
	height: auto;
}

.four_merit h3 {
	text-align: center;
	padding: 30px 0 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #c8ddf3;
	box-shadow: 0px 3px 6px 0px rgba(151, 153, 154, 0.3);
}

img.ivn_go {
	display: block;
	height: auto;
	width: min(23.07vw, 443px);
	margin-right: 1%
}

.four_merit h3 .wrap {
	display: inline-block;
	line-height: 1;
	padding-bottom: 1.8%
}

.four_merit .bxs_wrap {
	padding-right: min(3.64vw, 70px);
	padding-left: min(3.64vw, 70px);
}

.four_merit .bxs {
	position: relative;
	background: #FFF;
	padding-left: min(3.75vw, 72px);
	box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.3);
}

.four_merit .bxs.no1 {
	padding-top: min(1.45vw, 28px);
	padding-bottom: min(4.01vw, 77px);
	padding-right: min(4.01vw, 77px);
}

.four_merit .bxs.no1 .tit {
	width: min(62.91vw, 1208px)
}

.four_merit .bxs.no1 .msg {
	width: 66%
}

.four_merit .bxs.no1 .obj {
	width: min(28.17vw, 541px);
	position: absolute;
	bottom: 1%;
	right: min(4.01vw, 77px)
}

.four_merit .bxs.mid {
	padding-top: min(2.86vw, 55px);
	padding-bottom: min(2.86vw, 55px);
}

.four_merit .bxs.mid .px {
	width: 32.5%;
}

.four_merit .bxs.mid .tx {
	width: 67.5%;
}

.four_merit .bxs.mid .flex {
	display: flex
}

.four_merit .bxs.no2 {
	padding-right: min(1.77vw, 34px);
}

.four_merit .bxs.no3 {
	padding-right: min(4.01vw, 77px);
}

.four_merit .bxs.no2 .tx {
	padding-left: 3%
}

.four_merit .bxs.no3 .tx {
	padding-right: 3%
}

.four_merit .bxs.no3 .tit {
	width: min(70.72vw, 1358px)
}

.four_merit .bxs.no3 .px .img_w100 {
	position: relative;
	z-index: 10
}

.four_merit .bxs.no3 .px .circ {
	position: absolute;
	bottom: -7%;
	left: -24%;
	width: min(11.82vw, 227px);
	height: auto;
	z-index: 0
}

.reason,
.free_cons {
	background: #f8f5f0
}

.reason .s_tit {
	display: block;
	width: min(44.01vw, 845px);
	height: auto;
	margin: min(4.68vw, 90px) auto 0
}

.reason .bxs {
	padding: min(2.6vw, 50px) min(4.68vw, 90px);
	background: #FFF;
	box-shadow: 1px 0px 9px 2px rgba(0, 0, 0, 0.1);
}

.reason .bxs .inl_b h2 {
	font-size: clamp(28px, 3.02vw, 58px);
	color: #0045a9;
	text-align: center;
	letter-spacing: .075em;
	line-height: 1.6
}

.reason .bxs .inl_b h2 .obj {
	display: block;
	height: auto;
	position: absolute;
}

.reason .bxs.no1 .inl_b h2 .obj.one {
	top: -6%;
	left: -5%;
	width: min(2.03vw, 39px);
}

.reason .bxs.no1 .inl_b h2 .obj.two {
	bottom: 0;
	right: -15%;
	width: min(4.32vw, 83px);
}

.reason .bxs.no2 .inl_b h2 .obj {
	bottom: -10%;
	right: -50%;
	width: min(14.89vw, 286px);
}

.reason .bxs.no3 .inl_b h2 .obj {
	bottom: -10%;
	right: -18%;
	width: min(6.77vw, 130px);
}

.reason .bxs .mn .px img {
	display: block;
	width: 100%;
	height: auto
}

.reason .bxs.no1 .mn .px {
	width: 28%
}

.reason .bxs.no1 .mn .txt {
	width: 72%;
	padding-left: 2%
}

.reason .bxs.mid .mn .px {
	width: 44.5%
}

.reason .bxs.mid .mn .txt {
	width: 55.5%;
	padding-left: 3%
}

.reason .arrw {
	display: block;
	width: min(6.09vw, 117px);
	height: auto
}

.reason .bxs .leade {
	padding: 30px 2%;
	max-width: 1124px;
	margin: 0 auto;
	background: #449dd3;
	color: #FFF;
	text-align: center;
	box-shadow: 1px 0px 9px 2px rgba(0, 0, 0, 0.16);
}

.reason .bxs.no2 {
	padding-bottom: 0
}

.free_cons .mn {
	padding: min(4.68vw, 90px) min(2.6vw, 50px) min(10.2vw, 196px);
	background: url("../img/bg_strip.png")
}

.free_cons .mn figure {
	width: 48%
}

.free_cons .mn figure img {
	display: block;
	width: 100%;
	height: auto
}

.free_cons .mn .woman {
	position: absolute;
	bottom: 0;
	right: 0;
	width: min(40.67vw, 781px);
	height: auto;
	display: block
}

.como_tbl {
	padding: min(2.91vw, 56px) min(2.6vw, 50px);
	background: #f9f6f0;
	box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.3);
}

.como_tbl .row {
	display: flex;
	justify-content: space-between;
	border-bottom: 2px solid #0045a9
}

.como_tbl .row .str {
	border-right: 6px solid #4397cb;
	border-left: 6px solid #4397cb;
}

.como_tbl .row.no1 .th.str {
	border-top: 6px solid #4397cb;
	padding-right: 1.5%;
	padding-left: 1.5%;
}

.como_tbl .row.lst .td.str {
	border-bottom: 6px solid #4397cb;
}

.como_tbl .row.no1 .th {
	padding: 38px 0;
	text-align: center
}

.como_tbl .row.no1 .th .two {
	display: block;
	width: min(10.62vw, 204px);
	height: auto
}

.como_tbl .row.no1 .th .three {
	display: block;
	width: min(9.06vw, 174px);
	height: auto
}

.como_tbl .row .td {
	padding: 10px 0 4px;
}

.como_tbl .row .td.left {
	padding-left: 2%
}

.como_tbl .row.no1 .th h3 {
	margin-bottom: min(2.6vw, 50px)
}

.como_tbl .row .col {
	width: 24%;
	font-size: clamp(20px, 1.66vw, 32px);
	font-weight: 600;
	letter-spacing: .075em;
}

.como_tbl .row .col span {
	font-size: clamp(20px, 2.29vw, 44px);
}

.como_tbl .row .col.bg_b {
	background: #d1ecfd
}

.como_tbl .row .col.bg_g {
	background: #f1ebe1
}

.comp {
	padding-bottom: min(15.98vw, 307px)
}

.comp .msg .inl_b {
	line-height: 1.8
}

.comp .msg .inl_b .obj {
	position: absolute;
	top: 0;
	left: -12%;
	width: min(3.22vw, 62px);
	height: auto;
}

.comp .msg .inl_b .obj.und {
	top: unset;
	left: unset;
	right: 0;
	bottom: 0
}

.comp .woman {
	position: absolute;
	bottom: 0;
	right: 7%;
	width: min(17.39vw, 334px);
	height: auto;
	z-index: -1
}

.flow .wrap {
	padding: 52px;
	background: #FFF;
	box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.3);
}

.flow .bxs .tit {
	display: flex;
	align-items: center;
	border-bottom: 5px solid #d4d5d6;
	margin-bottom: min(3.33vw, 64px)
}

.flow .bxs .tit img {
	display: block;
	width: 12.5%;
	height: auto
}

.flow .bxs .tit h3 {
	width: 87.5%;
	padding-left: 2%;
	font-size: clamp(24px, 3.33vw, 64px);
	letter-spacing: .095em;
}

.flow .bxs .mn {
	display: flex;
	justify-content: space-between
}

.flow .bxs .mn .px {
	width: 48%
}

.flow .bxs .mn .px img {
	display: block;
	width: 100%;
	height: auto
}

.flow .bxs .mn .tx {
	width: 50%;
	font-size: clamp(18px, 1.82vw, 35px);
	font-weight: 500;
	color: #000;
	letter-spacing: .025em;
	line-height: 1.5
}

.case {
	background: #d6f4f4
}

.case img.ivn_go {
	width: min(30.31vw, 582px);
	margin: 0 auto;
}

.case .h_type_1 {
	padding-bottom: min(2.08vw, 40px);
	font-size: clamp(30px, 4.16vw, 80px);
}

.case .bxs h3 {
	padding-bottom: 20px
}

.case .bxs h3::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: min(17.55vw, 337px);
	height: 2px;
	margin: auto;
	background-color: #111111
}

.case .bxs .mn {
	max-width: 1336px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
}

.case .bxs .mn .bx {
	width: 43.55%
}

.fee .bxs {
	padding: min(2.6vw, 50px) 0;
}

.fee .bxs .msg,
.fee .bxs .fee_tbl,
.fee .bxs .lst_msg {
	padding: 0 min(5.2vw, 100px)
}

.fee .bxs figure {
	margin-right: 1%
}

.fee .bxs .fee_tbl dl {
	display: flex;
	padding-bottom: 5px;
	margin-bottom: 15px;
	border-bottom: #29a48a solid 3px;
	font-size: clamp(24px, 2.5vw, 48px);
	font-weight: 500;
	color: #29a48a;
	letter-spacing: .075em;
}

.fee .bxs .fee_tbl dt {
	width: 70%;
}

.fee .bxs .fee_tbl dd {
	width: 30%;
	text-align: right;
}

.line_rza {
	background: url("../img/l_rza_bg.jpg") repeat center top / cover
}

.line_rza .bxs {
	padding: min(5.2vw, 100px) min(7.81vw, 150px);
}

.line_rza .qr_bx {
	max-width: 1168px;
	margin-left: auto;
	margin-right: auto;
	padding: 30px 1%;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 3px solid #c9eed3;
	background: #edffe4
}

.line_rza .qr_bx p {
	margin-left: 3%
}

.form_area h3 {
	padding: 40px 0;
	background: #54b8bb;
	font-size: clamp(20px, 2.5vw, 48px);
	color: #FFF;
	text-align: center;
	letter-spacing: .075em;
	text-shadow: 3px 3px 6px #387ca6;
}

.form_area .mn {
	border: 3px solid #54b8bb;
}

.form_area .mn .row {
	border-bottom: 1px solid #54b8bb
}

.form_area .mn .row:last-of-type {
	border-bottom: none
}

.form_area .mn .row .cel {
	padding: 30px 0;
}

.form_area .mn .row .th {
	width: 33.5%;
	background: #c7e8e9;
	padding-left: 1%;
	display: flex;
	align-items: center
}

.form_area .mn .row .th .req {
	display: inline-block;
	padding: 6px 14px;
	margin-left: 3%;
	letter-spacing: .075em;
	text-align: center;
	color: #FFF;
	line-height: 1;
	background: #f09680
}

.form_area .mn .row .td {
	width: 66.5%;
	padding-left: 1%
}

.form_area input[type='text'],
.form_area input[type='email'] .form_area button,
.form_area textarea {
	padding: 8px;
	border: 1px solid #b5b5b5;
	-webkit-transition: all .1s;
	transition: all .1s;
	box-shadow: 2px 2px 5px 0px rgba(34, 23, 20, 0.16) inset;
	width: 100%
}

.form_area input[type='text']:focus,
.form_area input[type='email']:focus,
.form_area textarea:focus {
	box-shadow: 0 0 3px 1px #c7e8e9;
}

.form_area input[type='text'] {
	max-width: 275px
}

.form_area .ml input[type='text'] {
	max-width: 390px
}

.form_area textarea {
	max-width: 505px;
	height: 146px;
}

.form_area .radio_wrap label {
	cursor: pointer
}

.form_area .radio_wrap label:last-of-type {
	margin-left: 1%
}

.form_area input[type='radio'] {
	accent-color: steelblue;
	inline-size: 1.2rem;
	block-size: 1.2rem;
}

.form_area .btns {
	display: flex;
	justify-content: center
}

.form_area input[type='submit'],
.form_area input[type='reset'] {
	max-width: 156px;
	border: 3px solid #54b8bb;
	width: 100%;
	padding: 10px 0;
	cursor: pointer;
	display: block;
}

.form_area input[type='submit'] {
	background: #54b8bb;
	color: #FFF
}

.form_area input[type='reset'] {
	color: #7cc9cb;
	margin-left: 2%
}

footer .row_1 {
	padding: min(10.93vw, 210px) 0 min(3.75vw, 72px);
}

footer .row_1 .inn {
	padding: 0 2%;
}

footer .row_1 .inn .logos {
	width: 30%;
}

footer .row_1 .inn .logos {
	width: 30%;
}

footer .row_1 .inn .lists {
	width: 70%;
	padding-left: 5%
}

.ggmap {
	width: 100%;
	position: relative;
	padding-bottom: 26.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

footer .cp {
	padding: 10px 0;
	background: #449dd3
}






















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

@media screen and (max-width:1110px) {
	header.general .row.flex_wrapper {
		display: block;
	}

	header.general h1 img {
		margin: 20px auto;
	}

	header.general .btns {
		width: 100%;
		display: flex;
		justify-content: center;
	}

	.bluse .inn {
		padding-top: 8vw;
	}
}

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

	/* ==========================================================================
   Commons styles
   ========================================================================== */
	.flex_wrapper,
	.flex-wrap_par {
		display: block;
	}

	.flex_sp {
		display: -webkit-flex !important;
		display: -moz-flex !important;
		display: -ms-flex !important;
		display: -o-flex !important;
		display: flex !important;
		flex-wrap: wrap !important;
	}

	.pc {
		display: none !important
	}

	.sp {
		display: block !important
	}

	a[href^="tel:"] {
		pointer-events: auto;
		cursor: pointer;
	}

	.wrap_1168 {
		width: 100%;
		max-width: 100%;
		height: auto;
		margin-left: auto;
		margin-right: auto;
		padding-right: 0.8rem !important;
		padding-left: 0.8rem !important;
	}

	.sp_no_pad {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.sp_on_pad {
		padding-right: 0.8rem !important;
		padding-left: 0.8rem !important;
	}

	.mod_left_1100 {
		margin-left: 0;
	}

	header.general .btns {
		display: none
	}

	header.general h1 img {
		margin: 18px auto;
		width: 48%
	}

	header.general {
		padding-bottom: 0;
	}

	.fv {
		background: url(../img/fv.bg_sp.jpg) no-repeat center top / cover;
	}

	.fv .mv {
		width: 84.8vw;
		height: auto;
		margin: 5px 0 0 0;
	}

	.fv .txt {
		padding: 17% 0 0 45%;
	}

	.fv .txt h2 {
		font-size: 6.13vw;
		color: #1f4c9f;
		letter-spacing: .075em;
		line-height: 1.35;
	}

	.fv .under {
		width: 100%;
		padding: 4vw 0.8rem 5vw;
	}

	.fv .under p.txs_23 {
		font-size: 3vw;
		text-align: center
	}

	.fv .under img {
		width: 36vw;
	}

	.mgn_t_17 {
		margin-top: 2vw
	}

	.fv .under .btn a {
		padding: 4.5vw 0;
		line-height: 1.1;
	}

	.fv .under .btn .txs_36 {
		font-size: 5.06vw;
	}

	.bluse h2 img {
		display: block;
		width: 90%;
		height: auto;
		margin: 0 auto;
	}

	.bluse h2 {
		padding: 8px 0 20px;
	}

	.bluse .inn {
		padding-top: 8vw;
	}

	.bluse .inn {
		position: relative;
		z-index: 0;
		margin-top: 0;
		padding-top: 10vw;
		background: url(../img/note_bg_sp.png);
	}

	.bluse .inn.mod_side_100 {
		margin-right: 0;
		margin-left: 0;
	}

	.bluse .inn .chk_stage {
		text-align: center;
		padding-bottom: 0
	}

	.bluse .inn .chks {
		padding: 0 0 0 0;
		display: inline-block;
		text-align: left
	}

	.bluse .inn .chks dt {
		width: 7%;
	}

	.bluse .inn .chks dd {
		width: 93%;
		padding-left: 3%;
	}

	.bluse .inn .chks dd.txs_38 {
		font-size: 4.8vw;
	}

	.bluse .inn .woman {
		position: relative;
		bottom: 0;
		right: 0;
		width: 70%;
		height: auto;
		margin: 3vw auto 0
	}

	.four_merit h3 {
		padding: 20px 0 10px;
	}

	img.ivn_go {
		width: 38.26vw;
		margin-right: 1%;
	}

	.four_merit h3.txs_60 {
		font-size: 5vw;
	}

	.four_merit .txs_80 {
		font-size: 7.06vw
	}

	.bluse .tra.two {
		width: 10%
	}

	.mgn_t_50 {
		margin-top: 6vw;
	}

	.four_merit .bxs {
		padding-left: 0.8rem;
	}

	.four_merit .bxs.no1 {
		padding-top: 3vw;
		padding-bottom: 3vw;
		padding-right: 0.8rem
	}

	.four_merit .bxs.no1 .tit {
		width: 100%;
	}

	.four_merit .bxs .msg.txs_27 {
		font-size: 15px
	}

	.four_merit .bxs.no1 .msg {
		width: 70%;
	}

	.four_merit .bxs.no1 .obj {
		width: 30%;
		position: absolute;
		bottom: unset;
		top: 24%;
		right: 0;
		display: block
	}

	.four_merit .bxs.mid .tx,
	.four_merit .bxs.no3 .tit {
		width: 100%;
	}

	.four_merit .bxs.no2 .tx {
		padding-left: 0;
	}

	.four_merit .bxs img.sp.spx {
		width: 84%;
		margin: 4vw auto;
	}

	.four_merit .bxs.no2 .tx h4 {
		width: 89.5%
	}

	.h_type_1 {
		padding: 5vw 0;
		font-size: 5vw;
		letter-spacing: .075em;
	}

	.txs_72 {
		font-size: 8vw;
	}

	/*************************************************************************************************/
	.mgn_t_80 {
		margin-top: 9vw
	}

	.mgn_t_70 {
		margin-top: 8vw;
	}

	.sec_pad_80_b {
		padding-bottom: 9vw;
	}

	.sec_pad_50 {
		padding: 7vw 0;
	}

	.mgn_t_40 {
		margin-top: 6.5vw;
	}

	.mgn_t_60 {
		margin-top: 7vw;
	}

	.reason .s_tit {
		width: 70%;
		margin: 7vw auto 0;
	}

	.reason .bxs .inl_b h2 {
		font-size: 4.8vw;
		line-height: 1.6;
	}

	.reason .bxs {
		padding: 4vw 0.8rem;
	}

	.reason .bxs.no1 {
		padding-top: 7vw
	}

	.reason .bxs.no1 .inl_b h2 .obj.one {
		top: -12%;
		left: -4%;
		width: 3.8vw;
	}

	.reason .bxs.no1 .inl_b h2 .obj.two {
		bottom: unset;
		right: -15%;
		width: 7vw;
		top: 0;
	}

	.reason .bxs.no1 .mn.mgn_t_50 {
		margin-top: 2vw;
	}

	.reason .bxs.no1 .mn .txt {
		width: 100%;
		padding-left: 0;
	}

	.reason .bxs.no1 .mn .txt h3.txs_40 {
		font-size: 4vw
	}

	.reason .bxs.no1 .mn img.sp {
		width: 50%;
		margin: 4vw auto
	}

	p.txs_27 {
		font-size: 15px;
	}

	.reason .arrw {
		display: block;
		width: 8vw;
		height: auto;
	}

	.reason .arrw.mgn_t_40,
	.reason .bxs.mgn_t_40 {
		margin-top: 6vw;
	}

	.reason .bxs .leade {
		padding: 8px 2%;
	}

	.txs_38 {
		font-size: 16px;
	}

	.reason .bxs.mid .mn .txt {
		width: 100%;
		padding-left: 0;
	}

	.reason .bxs img.sp {
		display: block;
		width: 80%;
		height: auto;
		margin: 5vw auto 0
	}

	.reason .clearfix img {
		width: 50%;
		margin: 0 auto;
	}

	.alignright {
		float: none;
	}

	.alignright {
		margin: 0 auto;
		display: block;
	}

	.mod_side_100 {
		margin-right: 0.8rem;
		margin-left: 0.8rem
	}

	.reason .bxs.no2 .inl_b h2 .obj {
		right: -25%;
	}

	.reason .bxs {
		padding-bottom: 5vw;
	}

	.sp_pad_b_5vw {
		padding-bottom: 5vw !important;
	}

	.reason .bxs.no3 .inl_b h2 .obj {
		bottom: 0%;
		right: -10%;
		width: min(6.77vw, 130px);
	}

	.free_cons .mn {
		padding: 5vw 0.8rem 0;
		background: url(../img/bg_strip_sp.png);
	}

	.free_cons .mod_side_100 {
		margin-right: 0;
		margin-left: 0;
	}

	.free_cons .mn figure {
		width: 100%;
	}

	.free_cons .mn .woman {
		position: relative;
		bottom: 0;
		right: 0;
		width: 100%;
		height: auto;
		display: block;
		margin: 0 auto
	}

	.comp {
		padding-bottom: 0
	}

	.comp .h_type_1 img {
		margin: 0 auto 1vw
	}

	.como_tbl .row .col {
		width: 24%;
		font-size: 13px;
		font-weight: 600;
		letter-spacing: .075em;
	}

	.como_tbl .row.no1 .th {
		padding: 10px 0;
		text-align: center;
	}

	.como_tbl .row .th.left,
	.como_tbl .row .td.left {
		padding-left: 0;
		width: 35%
	}

	.comp .msg .inl_b .txs_36 {
		font-size: 5vw;
	}

	.comp .woman {
		position: relative;
		bottom: 0;
		right: unset;
		width: 35%;
		height: auto;
		margin: 4vw auto 0;
		display: block
	}

	.comp .msg .inl_b .obj {
		position: absolute;
		top: -2vw;
		left: -0.8rem;
		width: 5vw;
		height: auto;
	}

	.flow .wrap {
		padding: 5vw 0.8rem;
		background: #FFF;
		box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.3);
	}

	.flow .wrap p.txs_32 {
		font-size: 5vw;
	}

	.flow .bxs.mgn_t_100 {
		margin-top: 7vw;
	}

	.flow .bxs .tit h3 {
		width: 87.5%;
		padding-left: 2%;
		font-size: 5vw;
		letter-spacing: .055em;
	}

	.flow .bxs .mn .tx {
		width: 54%;
		font-size: 15px;
		line-height: 1.5;
	}

	.flow .bxs .mn .px {
		width: 45%;
	}

	.case .h_type_1 {
		padding: 3.5vw 0;
		font-size: 6vw;
	}

	.case {
		background: #FFF;
	}

	.case .bxs.mgn_t_70 {
		margin-top: 4vw;
	}

	.case .bxs {
		padding-right: 0.8rem;
		padding-left: 0.8rem;
	}

	.case .bxs h3.txs_36 {
		padding-bottom: 10px;
		font-size: 5vw;
	}

	.case .bxs .mn.mgn_t_70 {
		margin-top: 4vw
	}

	.txs_45 {
		font-size: 4vw
	}

	.case .bxs .mn .bx {
		width: 47%;
	}

	.txs_35 {
		font-size: 5vw;
	}

	.fee .bxs .msg,
	.fee .bxs .fee_tbl,
	.fee .bxs .lst_msg {
		padding: 0 0.8rem
	}

	.fee .bxs .fee_tbl dl {
		display: flex;
		padding-bottom: 5px;
		margin-bottom: 15px;
		border-bottom: #29a48a solid 3px;
		font-size: 4.8vw;
		font-weight: 500;
		color: #29a48a;
		letter-spacing: .055em;
	}

	.txs_36 {
		font-size: 4vw;
	}

	.txs_24 {
		font-size: 12px;
	}

	.fee .bxs .fee_tbl dl {
		align-items: flex-end
	}

	.fee .bxs .fee_tbl dt {
		width: 50%;
	}

	.fee .bxs .fee_tbl dd {
		width: 50%;
	}

	.fee p.txs_32 {
		font-size: 15px;
	}

	.line_rza .bxs {
		padding: min(5.2vw, 100px) 0.8rem;
	}

	.line_rza .bxs p.txs_35 {
		font-size: 4.8vw;
		letter-spacing: .05em
	}

	.line_rza .qr_bx {
		padding: 0.8rem;
	}

	.line_rza .qr_bx img {
		width: 30%
	}

	.line_rza .qr_bx p.txs_35 {
		font-size: 16px;
	}

	.form_area h3 {
		padding: 10px 0;
		background: #54b8bb;
		font-size: 5vw;
		color: #FFF;
		text-align: center;
		letter-spacing: .075em;
		text-shadow: 3px 3px 6px #387ca6;
	}

	.form_area h3+img {
		width: 10%
	}

	.form_area .mn .row .cel {
		padding: 10px 0;
	}

	.form_area .mn.mgn_t_60 {
		margin-top: 4vw;
	}

	.form_area .mn .row .th {
		width: 100%;
		padding-left: 10%;
	}

	.form_area .mn.txs_24 {
		font-size: 4.5vw;
	}

	.form_area .mn .row .td {
		width: 100%;
		padding: 14px 0;
	}

	.form_area input[type='text'],
	.form_area textarea {
		max-width: inherit;
		width: 85%;
		display: block;
		margin: 0 auto
	}

	.form_area .radio_wrap {
		padding-left: 10% !important
	}

	footer {
		padding-bottom: 55px;
	}

	footer .row_1 {
		padding: 7vw 0;
	}

	footer .row_1 .inn .logos {
		width: 100%;
	}

	.mgn_t_10 {
		margin-top: 20px;
	}

	footer .row_1 .inn .logos p.tx_cent {
		text-align: left;
		font-size: 16px
	}

	footer .row_1 .inn .lists {
		width: 100%;
		margin-top: 6vw;
		padding-left: 0;
		font-size: 16px
	}

	.ggmap {
		padding-bottom: 96.25%;
	}

	footer .cp {
		font-size: 12px;
		padding: 10px 0;
		background: #449dd3;
	}

	.fix_sp_nvs {
		width: 100%;
		height: 55px;
		display: flex;
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 9999
	}

	.fix_sp_nvs .bx {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		align-content: center;
	}

	.fix_sp_nvs .bx.lng {
		width: 35%;
	}

	.fix_sp_nvs .bx.sht {
		width: 30%;
	}

	.fix_sp_nvs .bx.tel {
		background: #4577c0
	}

	.fix_sp_nvs .bx section {
		display: flex;
		justify-content: center;
		align-items: center;
		align-content: center;
	}

	.fix_sp_nvs .bx.tel section p {
		color: #FFF;
		font-size: 3.5vw;
		font-weight: bold
	}

	.fix_sp_nvs .bx.web {
		background: #ff6b95
	}

	.fix_sp_nvs .bx.web section p {
		color: #FFF;
		font-size: 3.5vw;
		font-weight: bold;
		padding-left: 5px;
	}

	.fix_sp_nvs .bx.line {
		background: #fdf451
	}

	.fix_sp_nvs .bx.line section p {
		color: #5ec264;
		font-size: 3.5vw;
		font-weight: bold;
		padding-left: 5px;
	}






















}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
	display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	white-space: nowrap;
	/* 1 */
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	clip: auto;
	-webkit-clip-path: none;
	clip-path: none;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
	white-space: inherit;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
	visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
	content: " ";
	/* 1 */
	display: table;
	/* 2 */
}

.clearfix:after {
	clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
	/* Style adjustments for viewports that meet the condition */
}

@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
	/* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {

	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important;
		/* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	/*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}

	pre {
		white-space: pre-wrap !important;
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	/*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}

.dental_loan {
	margin: 0 min(5.2vw, 100px);
	padding: 16px !important;
	background-color: rgb(202, 232, 243);
	line-height: 1.4;
	color: #29a48a;
}

/* **HTMLを修正できる場合**の追加CSS： */
.dental_loan .monthly-payment {
	font-size: 1.2em;
	/* 親要素のサイズより少し大きく */
	font-weight: bold;
	/* 強調したい色 */
	display: inline-block;
	margin-top: 5px;
}