@charset "utf-8";

/* reset
----------------------------------------- */

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,
a,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,
small,strong,sub,sup,var,b,u,i,dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,input,textarea,table,caption,tbody,thead,tfoot,tr,th,td,
main,article,aside,canvas,details,embed,figure,figcaption,footer,header,
menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin: 0;
	padding: 0;
}

h1,h2,h3,h4,h5,h6,th {
	font-family: inherit;
	font-size: 100%;
	font-weight: normal;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

table,th,td {
	text-align: left;
	border: none;
}

ol,ul,li {
	list-style: none;
}

img {
	border: none;
	vertical-align: top;
	max-width: 100%;
}

input[type=text],
input[type=password],
input[type=button],
input[type=submit],
button,
select,
textarea {
	color: inherit;
	font-family: inherit;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	font-size: 100%;
	font-weight: normal;
	line-height: inherit;
}

input::-webkit-input-placeholder {
	color: #aaa;
}
input:-ms-input-placeholder {
	color: #aaa;
}
input::-moz-placeholder {
	color: #aaa;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
}

select::-ms-expand {
	display:none;
}

*,*:before,*:after {
	box-sizing: border-box;
}


/* 初期設定
----------------------------------------- */

html {
	font-size: 62.5%;
}

body {
	min-width: 1200px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic Medium", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
	font-size: 150%;
	color: #333;
	line-height: 1.7;
	letter-spacing: 0.15em;
	-webkit-text-size-adjust: 100%;
}
body.s_ie {
	font-family: "メイリオ", Meiryo, sans-serif;
}
@media screen and (max-width: 767px){
	body {
		min-width: 320px;
	}
}

a {
	color: inherit;
	text-decoration: none;
	transition: all 0.4s;
}

em, strong, .c_bold {
	font-weight: bold;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
}

*,*::before,*::after {
	box-sizing: border-box;
}


/* 汎用クラス
----------------------------------------- */

.c_fontL  { font-size: 1.6rem; }
.c_fontLL { font-size: 1.8rem; }
.c_fontXL { font-size: 2rem; }
.c_fontS  { font-size: 1.3rem; }
.c_fontSS { font-size: 1.2rem; }
.c_fontXS { font-size: 1.1rem; }

.c_colorRed { color: #f00; }
.c_bold { font-weight: bold; }

.c_clearfix { zoom: 1; }
.c_clearfix:after {
	content: "";
	display: block;
	clear: both;
	height: 0.01px;
}
.c_floatL { float: left; }
.c_floatR { float: right; }
.c_ofHidden { overflow: hidden; }

.c_taLeft { text-align: left !important; }
.c_taCenter { text-align: center !important; }
.c_taRight { text-align: right !important; }

.c_vaTop { vertical-align: top !important; }
.c_vaMdl { vertical-align: middle !important; }
.c_vaBtm { vertical-align: bottom !important; }

.c_mt0  { margin-top:  0px !important; }
.c_mt3  { margin-top:  3px !important; }
.c_mt5  { margin-top:  5px !important; }
.c_mt10 { margin-top: 10px !important; }
.c_mt15 { margin-top: 15px !important; }
.c_mt20 { margin-top: 20px !important; }
.c_mt25 { margin-top: 25px !important; }
.c_mt30 { margin-top: 30px !important; }
.c_mt35 { margin-top: 35px !important; }
.c_mt40 { margin-top: 40px !important; }
.c_mt45 { margin-top: 45px !important; }
.c_mt50 { margin-top: 50px !important; }
.c_mt60 { margin-top: 60px !important; }
.c_mt70 { margin-top: 70px !important; }
.c_mt80 { margin-top: 80px !important; }
.c_mt90 { margin-top: 90px !important; }

.c_ml0  { margin-left:  0px !important; }
.c_ml3  { margin-left:  3px !important; }
.c_ml5  { margin-left:  5px !important; }
.c_ml10 { margin-left: 10px !important; }
.c_ml15 { margin-left: 15px !important; }
.c_ml20 { margin-left: 20px !important; }
.c_ml25 { margin-left: 25px !important; }
.c_ml30 { margin-left: 30px !important; }
.c_ml35 { margin-left: 35px !important; }
.c_ml40 { margin-left: 40px !important; }
.c_ml45 { margin-left: 45px !important; }
.c_ml50 { margin-left: 50px !important; }
.c_ml60 { margin-left: 60px !important; }
.c_ml70 { margin-left: 70px !important; }
.c_ml80 { margin-left: 80px !important; }
.c_ml90 { margin-left: 90px !important; }

.c_mr0  { margin-right:  0px !important; }
.c_mr3  { margin-right:  3px !important; }
.c_mr5  { margin-right:  5px !important; }
.c_mr10 { margin-right: 10px !important; }
.c_mr15 { margin-right: 15px !important; }
.c_mr20 { margin-right: 20px !important; }
.c_mr25 { margin-right: 25px !important; }
.c_mr30 { margin-right: 30px !important; }
.c_mr35 { margin-right: 35px !important; }
.c_mr40 { margin-right: 40px !important; }
.c_mr45 { margin-right: 45px !important; }
.c_mr50 { margin-right: 50px !important; }
.c_mr60 { margin-right: 60px !important; }
.c_mr70 { margin-right: 70px !important; }
.c_mr80 { margin-right: 80px !important; }
.c_mr90 { margin-right: 90px !important; }

.c_mb0  { margin-bottom:  0px !important; }
.c_mb3  { margin-bottom:  3px !important; }
.c_mb5  { margin-bottom:  5px !important; }
.c_mb10 { margin-bottom: 10px !important; }
.c_mb15 { margin-bottom: 15px !important; }
.c_mb20 { margin-bottom: 20px !important; }
.c_mb25 { margin-bottom: 25px !important; }
.c_mb30 { margin-bottom: 30px !important; }
.c_mb35 { margin-bottom: 35px !important; }
.c_mb40 { margin-bottom: 40px !important; }
.c_mb45 { margin-bottom: 45px !important; }
.c_mb50 { margin-bottom: 50px !important; }
.c_mb60 { margin-bottom: 60px !important; }
.c_mb70 { margin-bottom: 70px !important; }
.c_mb80 { margin-bottom: 80px !important; }
.c_mb90 { margin-bottom: 90px !important; }

.c_iBlock { display: inline-block; }

.c_liquid { width: 100%; }

.c_breakall { word-break: break-all; }
.c_nowrap { white-space: nowrap; }

.c_over:hover {
	opacity: 0.7;
}

@media screen and (max-width: 1300px){ .c_ov1300 { display: none !important; } }
@media screen and (max-width: 1200px){ .c_ov1200 { display: none !important; } }
@media screen and (max-width: 1100px){ .c_ov1100 { display: none !important; } }
@media screen and (max-width: 1000px){ .c_ov1000 { display: none !important; } }
@media screen and (max-width: 900px){ .c_ov900 { display: none !important; } }
@media screen and (max-width: 800px){ .c_ov800 { display: none !important; } }
@media screen and (max-width: 767px){ .c_ov767 { display: none !important; } }
@media screen and (max-width: 700px){ .c_ov700 { display: none !important; } }
@media screen and (max-width: 600px){ .c_ov600 { display: none !important; } }
@media screen and (max-width: 500px){ .c_ov500 { display: none !important; } }
@media screen and (max-width: 400px){ .c_ov400 { display: none !important; } }
@media screen and (max-width: 350px){ .c_ov350 { display: none !important; } }
@media screen and (min-width: 1301px){ .c_ud1300 { display: none !important; } }
@media screen and (min-width: 1201px){ .c_ud1200 { display: none !important; } }
@media screen and (min-width: 1101px){ .c_ud1100 { display: none !important; } }
@media screen and (min-width: 1001px){ .c_ud1000 { display: none !important; } }
@media screen and (min-width: 901px){ .c_ud900 { display: none !important; } }
@media screen and (min-width: 801px){ .c_ud800 { display: none !important; } }
@media screen and (min-width: 768px){ .c_ud767 { display: none !important; } }
@media screen and (min-width: 701px){ .c_ud700 { display: none !important; } }
@media screen and (min-width: 601px){ .c_ud600 { display: none !important; } }
@media screen and (min-width: 501px){ .c_ud500 { display: none !important; } }
@media screen and (min-width: 401px){ .c_ud400 { display: none !important; } }
@media screen and (min-width: 351px){ .c_ud350 { display: none !important; } }


/* ページフレーム
----------------------------------------- */

.f_pageArea {
	overflow: hidden;
}
@media screen and (max-width: 767px){
	.f_pageArea {
		padding: 48px 0 40px;
	}
}

.f_header {
	padding: 18px 100px;
	display: flex;
	align-items: center;
	border-bottom: 3px solid #ff960b;
}
.f_header .p_logo {
	display: block;
	margin: 5px 35px 0 0;
}
.f_header .p_logo img {
	width: auto;
	height:36px;
}
.f_header .p_spMenu {
	display: none;
}
@media screen and (max-width: 767px){
	.f_header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 1000;
		flex-wrap: wrap;
		justify-content: flex-start;
		border-bottom: 1px solid #d9d9d9;
		background-color: #fff;
		padding: 0;
		height: 48px;
	}
	.f_header .p_logo {
		margin: 0 3% 0 4%;
/*		width: 25%;*/
/*		max-width: 100px;*/
	}
	.f_header .p_logo img {
		display: block;
		width: auto;
		height:19px;
	}
	.f_header .p_title {
/*		width: 48%;*/
		max-width: 53%;
	}
	.f_header .p_title img {
		max-width: 100%;
	}
	.f_header .p_spMenu {
		position: relative;
		display: block;
		margin-left: auto;
		width: 48px;
		height: 48px;
		border-left: 1px solid #d9d9d9;
		padding-top: 28px;
		text-align: center;
		color: #ff960b;
		font-size: 1rem;
		font-weight: bold;
		letter-spacing: 0;
	}
	.f_header .p_spMenu::before,
	.f_header .p_spMenu::after {
		content: '';
		position: absolute;
		top: 10px;
		left: 0;
		right: 0;
		width: 24px;
		height: 2px;
		margin: 0 auto;
		background-color: #ff960b;
		transition: all 0.3s;
	}
	.f_header .p_spMenu::after {
		top: 24px;
		box-shadow: 0 -7px #ff960b;
	}
	.f_header .p_spMenu.s_close::before {
		top: 17px;
		transform: rotate(45deg);
	}
	.f_header .p_spMenu.s_close::after {
		top: 17px;
		transform: rotate(-45deg);
		box-shadow: none;
	}
	.f_header .p_spMenu > span:nth-child(2) {
		display: none;
	}
	.f_header .p_spMenu.s_close > span:nth-child(1) {
		display: none;
	}
	.f_header .p_spMenu.s_close > span:nth-child(2) {
		display: block;
	}
}

.f_fixNavi {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	height: 372px;
	margin: auto 0;
	border: 2px solid #212121;
	border-right: none;
	border-radius: 20px 0 0 20px;
	background-color: #fff;
	overflow: hidden;
}
.f_fixNavi li + li {
	border-top: 2px solid #212121;
}
.f_fixNavi a {
	display: block;
/*	padding: 10px 12px;*/
	padding: 11px 13px;
	font-size: 1.3rem;
	font-weight: bold;
	letter-spacing: 0;
}
.f_fixNavi a:hover {
	opacity: 0.7;
}
.f_fixNavi .p_new {
	margin-left: 5px;
	vertical-align: -4px;
}
.f_fixNavi .p_contact {
	background-color: #f83e08;
	color: #fff;
}
.f_fixNavi .p_campaign {
	display: flex;
	align-items: center;
	background-color: #ffc400;
	padding: 5px 12px;
	font-size: 1.2rem;
	line-height: 1.2;
}
.f_fixNavi .p_campaign img {
	margin-right: 5px;
}
.f_fixNavi .p_login {
	background-color: #00ada9;
	color: #fff;
}
@media screen and (min-width: 1600px){
	.f_fixNavi {
		height: 379px;
	}
	.f_fixNavi a {
		padding: 10px 15px;
		font-size: 1.5rem;
	}
	.f_fixNavi .p_campaign {
		padding: 7px 15px;
		font-size: 1.4rem;
	}
}
@media screen and (min-width: 768px){
	.f_fixNavi {
		display: block !important;
	}
}
@media screen and (max-width: 767px){
	.f_fixNavi {
		top: 48px;
		left: 0;
		height: auto;
		margin: 0;
		border: none;
		border-radius: 0;
		background-color: rgba(0,0,0,0.7);
		overflow-y: auto;
		display: none;
	}
	.f_fixNavi li {
		background-color: #fff;
	}
	.f_fixNavi li + li {
		border-top: 1px solid #d9d9d9;
	}
	.f_fixNavi li:nth-child(-n+4) {
		border-top-color: #212121;
	}
	.f_fixNavi a {
		position: relative;
		padding: 11px 12px;
		font-size: 1.5rem;
	}
	.f_fixNavi a::after {
		content: '';
		position: absolute;
		top: 50%;
		right: 20px;
		width: 10px;
		height: 10px;
		border-top: 3px solid #ff960b;
		border-right: 3px solid #ff960b;
		transform-origin: right top;
		transform: rotate(45deg);
	}
	.f_fixNavi .p_contact::after,
	.f_fixNavi .p_login::after {
		border-color: #fff;
	}
	.f_fixNavi .p_campaign {
		background: url(../img/navi_campaign.png) no-repeat 12px 50% #ffc400;
		background-size: 306px auto;
		height: 48px;
	}
	.f_fixNavi .p_campaign::after {
		border-color: #f83e08;
	}
	.f_fixNavi .p_campaign img,
	.f_fixNavi .p_campaign span {
		display: none;
	}
}
@media screen and (max-width: 360px){
	.f_fixNavi .p_campaign {
		background-size: 85% auto;
	}
}

.f_pageTitle {
	text-align: center;
	font-size: 5.2rem;
	font-weight: bold;
}
@media screen and (max-width: 767px){
	.f_pageTitle {
		font-size: 2.4rem;
	}
}

.f_contactArea {
	position: relative;
	width: 90%;
	margin: 0 auto;
	padding: 40px 0;
	display: flex;
	flex-wrap: wrap;
	line-height: 2;
	letter-spacing: 0;
}
.f_contactArea .p_title {
	width: 100%;
	padding-left: 9%;
	font-weight: bold;
}
.f_contactArea .p_colLayout {
	width: 100%;
	display: flex;
	align-items: center;
}
.f_contactArea .p_colLayout li:nth-child(1) {
	width: 45%;
	margin-right: 6%;
}
.f_contactArea .p_colLayout li:nth-child(2) {
	width: 22%;
}
.f_contactArea .p_colLayout li:nth-child(3) {
	width: 24%;
	margin-left: 1%
}
.f_contactArea .p_colLayout li img {
	width: 100%;
	display: block;
}
.f_contactArea .p_contactBtn {
	display: block;
	background: url(../img/icon_contact.png) no-repeat 11% 50% #ff960b;
	border-radius: 23px;
	padding: 6px 0 6px 20px;
	box-shadow: 2px 3px 10px rgba(0, 0, 0, 0.16);
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
}
.f_contactArea .p_contactBtn:hover {
	opacity: 0.5;
}
.f_contactArea .p_linkBtn {
	display: block;
	border-radius: 24px;
	border: 1px solid #e2e2e2;
	background: #fff;
	box-shadow: 2px 3px 10px rgba(0, 0, 0, 0.16);
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
}
.f_contactArea .p_linkBtn:hover {
	opacity: 0.5;
}
.f_contactArea .p_linkBtn > span {
	position: relative;
	display: inline-block;
	padding: 5px 0 5px 20px;
}
.f_contactArea .p_linkBtn > span::before {
	content: '';
	position: absolute;
	top: 16px;
	left: 0;
	width: 10px;
	height: 10px;
	border-top: 4px solid #ff960b;
	border-right: 4px solid #ff960b;
	transform: rotate(45deg);
}
.f_contactArea .p_attention {
	width: 100%;
	padding: 0 0 0 9%;
}
.f_contactArea .p_attention p {
	font-size: 1.3rem;
}
@media screen and (max-width: 767px){
	.f_contactArea{
		width: 95%;
		padding: 20px 0;
		display: block;
	}
	.f_contactArea .p_colLayout {
		display: block;
	}
	.f_contactArea .p_colLayout li:nth-child(1) {
		width: auto;
		margin: 0 0 15px;
	}
	.f_contactArea .p_colLayout li:nth-child(2) {
		width: 260px;
		margin: 0 auto 15px;
	}
	.f_contactArea .p_colLayout li:nth-child(3) {
		width: 260px;
		margin: 0 auto 15px;
	}
	.f_contactArea .p_contactBtn {
		font-size: 1.5rem;
	}
	.f_contactArea .p_linkBtn {
		font-size: 1.5rem;
	}
	.f_contactArea .p_linkBtn > span::before {
		top: 15px;
		width: 9px;
		height: 9px;
		border-top: 3px solid #ff960b;
		border-right: 3px solid #ff960b;
	}
	.f_contactArea .p_attention {
		padding: 15px 20px 0;
	}
}

.f_ftLogoArea {
	background-color: #eee;
	padding: 40px 20px;
	text-align: center;
}
.f_ftLogoArea img {
	width: 210px;
}
@media screen and (max-width: 767px){
	.f_ftLogoArea {
		padding: 30px 20px;
	}
	.f_ftLogoArea img {
		display: block;
		margin: 0 auto;
		width: 100px;
	}
}

footer {
    background: #000;
}
.footer-link {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 20px 30px;
    border-bottom: 1px solid #4d4a4a;
}

.footer-link li a {
    position: relative;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1;
    padding-left: 1.2em;
    display: flex;
    align-items: center;
}

.footer-link li a[target="_blank"]::after {
    content: "";
    display: inline-block;
    width: 11px;
    height: 11px;
    background: url(../img/link-icon.png) no-repeat center / cover;
    margin-left: 5px;
}

.footer-link li+li {
    margin-left: 2em;
}

.footer-group {
    display: flex;
    padding: 20px 30px 0;
    justify-content: left;
    align-items: center;
}

.footer-group-left {
    height: 100px;
    display: flex;
    align-items: center;
    border-right: 1px solid #4d4a4a;
    padding-right: 20px;
}

.footer-group img {
    width: auto;
}

.footer-group_list {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.footer-group_list + .footer-group_list{
    margin-top: 15px;
}

.footer-group_top+dd {
    margin-left: 25px;
}

.footer-group_list dd {
    display: inline-block;
    margin-top: 3px;
    margin-left: 20px;
    line-height: 1;
}

.footer-group_list a:link {
    text-decoration: none;
    color: #fff;
    position: relative;
    display: flex;
    align-items: center;
}

.footer-group_list a::after {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../img/link-icon.png) no-repeat center / cover;
    margin-left: 8px;
}

.footer-link a::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background: url(../img/arrow_right.png) no-repeat center / cover;
    margin-right: 1.2px;
}

.footer-group_hd .a-blank,
.footer-group_nex .a-blank,
.footer-group_nmm .a-blank {
    display: inline-block;
    padding-right: 20px;
}
.footer-copyright {
    padding: 20px 30px;
    text-align: right;
    color: #cbcbcb;
    letter-spacing: 0.01em;
}

@media screen and (max-width: 751px) {
    footer {
        padding: 23px 30px 30px;
    }

    .footer-link {
        margin: 0 0 15px;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        padding: 0 0 15px;
    }

    .footer-link li+li {
        margin-left: 0;
        margin-top: 4px;
    }

    .footer-wrap {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        flex-direction: column;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: center;
        align-items: center;
    }

    .footer-group {
        display: block;
        padding: 0;
    }

    .footer-group-left {
        height: auto;
        display: block;
        border-right: none;
        padding-right: 0;
        text-align: center;
    }

    .footer-group-left img {
        width: 160px;
    }

    .footer-group_list {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        flex-direction: column;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: center;
        align-items: center;
    }

    .footer-group_list + .footer-group_list {
        margin-top: 0;
    }

    .footer-group_list img {
        height: 12px;
    }

    .footer-group_top+dd {
        margin-top: 9pt;
        line-height: 13px;
    }

    .footer-wrap dd {
        margin-top: 12px;
        line-height: 13px;
        margin-left: 0;
    }

    .footer-group_hd .a-blank,
    .footer-group_nex .a-blank,
    .footer-group_nmm .a-blank {
        display: inline-block;
        padding-right: 0;
    }

    .footer-copyright {
        text-align: center;
        width: 100%;
        margin-bottom: 0;
        line-height: 1;
        margin-top: 15px;
        padding: 0;
        font-size: 1.1rem;
    }

    .footer-group_list {
        margin-bottom: 0;
    }

    .footer-group_list a::after {
        width: 10px;
        height: 10px;
        margin-left: 4px;
    }

    .footer-group_list:nth-child(2) dd:nth-child(2) a img {
        height: 14.6px;
    }

    .footer-link li a {
        padding-left: 0;
    }
}

/*.footer_upper {
	padding: 20px 30px 0;
	background-color: #000;
}
.footer_upper .ot-sdk-show-settings {
	color:#ffffff;
	cursor: pointer;
	font-size:1.3rem;
}
.f_footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding: 20px 30px;
	background-color: #000;
}
.f_footer .p_group {
	display: flex;
	flex-wrap: wrap;
}
.f_footer .p_group dd {
	display: inline-block;
	margin-top: 3px;
	margin-left: 20px;
	line-height: 1;
}
.f_footer dt.s_top + dd {
	margin-left: 25px;
}
.f_footer dt.s_top,
.f_footer dd.s_hd span,
.f_footer dd.s_nex span,
.f_footer dd.s_nmm span {
	display: inline-block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
.f_footer dt.s_top {
	width: 195px;
	height: 23px;
	background: url(../img/com_sprite_logo01.png) no-repeat 0 -29px;
	line-height: 1;
}
.f_footer dd.s_hd span {
	width: 209px;
	height: 17px;
	background: url(../img/com_sprite_logo01.png) no-repeat 0 -52px;
}
.f_footer dd.s_nex span {
	width: 91px;
	height: 16px;
	background: url(../img/com_sprite_logo01.png) no-repeat 0 -69px;
}
.f_footer dd.s_nmm span {
	width: 61px;
	height: 15px;
	background: url(../img/com_sprite_logo01.png) no-repeat 0 -85px;
}
.f_footer a {
	display: inline-block;
	padding-right: 20px;
}
.f_footer a::after {
	content: "";
	display: inline-block;
	margin-left: 8px;
	background: url(../img/com_sprite_ic01.png) no-repeat 0 0;
	width: 10px;
	height: 10px;
	background-position: -12px -98px;
	vertical-align: 3px;
}
.f_footer .p_copyright {
	padding: 10px 0;
	font-size: 1.5rem;
	color: #cbcbcb;
	letter-spacing: 0.01em;
	line-height: 1.3;
}
@media screen and (max-width: 767px){
	.footer_upper {
		text-align:center;
	}
	.f_footer {
		display: block;
		padding: 20px;
	}
	.f_footer .p_group {
		display: block;
		text-align: center;
	}
	.f_footer .p_group dt,
	.f_footer .p_group dd {
		transform: scale(0.8);
	}
	.f_footer .p_group dd {
		display: block;
		margin: 10px 0 0;
	}
	.f_footer dt.s_top + dd {
		margin-left: 0;
	}
	.f_footer .p_copyright {
		padding: 15px 0 0;
		font-size: 1.1rem;
		text-align: center;
	}
}*/

.f_fixFooter {
	display: none;
}
@media screen and (max-width: 767px){
	.f_fixFooter {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: -100px;
		z-index: 900;
		border: 1px solid #212121;
		opacity: 0;
		transition: opacity 0.5s;
	}
	.f_fixFooter.s_show {
		bottom: 0;
		opacity: 1;
	}
	.f_fixFooter a {
		position: relative;
		display: block;
		width: 50%;
		padding: 8px 10px;
		font-size: 1.4rem;
		font-weight: bold;
		letter-spacing: 0;
		color: #fff;
	}
	.f_fixFooter a + a {
		border-left: 1px solid #212121;
	}
	.f_fixFooter a::after {
		content: '';
		position: absolute;
		top: 50%;
		right: 8px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform-origin: right top;
		transform: rotate(45deg);
	}
	.f_fixFooter .p_login {
		background-color: #00ada9;
	}
	.f_fixFooter .p_contact {
		background-color: #ff960b;
	}
}
@media screen and (max-width: 350px){
	.f_fixFooter a {
		font-size: 1.3rem;
	}
}


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

.m_section {
	padding: 60px 20px;
}
.m_section.s_bg {
	background-color: #fffaf2;
}
.m_section .p_inner {
	max-width: 1100px;
	margin: 0 auto;
}
@media screen and (min-width: 768px){
	.m_section.s_pcBg {
		background-color: #fffaf2;
	}
}
@media screen and (max-width: 767px){
	.m_section {
		padding: 50px 20px;
	}
	.m_section.s_spBg {
		background-color: #fffaf2;
		padding-bottom: 0;
	}
	.m_spBgWhite {
		margin: 0 -20px;
		background-color: #fff;
		padding: 10px 20px 0;
	}
}

.m_link {
	text-decoration: underline;
	color: #FFC400;
}
.m_link.s_strong {
	color: #000;
	font-weight: bold;
}
.m_link:hover {
	text-decoration: none;
}

.m_linkBtn {
	display: block;
	max-width: 390px;
	margin: 30px auto 0;
	border-radius: 30px;
	background: #ff960b;
	box-shadow: 1px 3px 6px rgba(0, 0, 0, 0.16);
	text-align: center;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
}
.m_linkBtn:hover {
	opacity: 0.7;
}
.m_linkBtn > span {
	position: relative;
	display: inline-block;
	padding: 13px 10px 13px 30px;
}
.m_linkBtn > span::before {
	content: '';
	position: absolute;
	top: 24px;
	left: 0;
	width: 12px;
	height: 12px;
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	transform: rotate(45deg);
}
.m_linkBtn.s_white {
	border: 1px solid #e2e2e2;
	background-color: #fff;
	color: inherit;
}
.m_linkBtn.s_white > span {
	padding: 12px 10px 12px 30px;
}
.m_linkBtn.s_white > span::before {
	border-color: #ff960b;
}
@media screen and (max-width: 767px){
	.m_linkBtn {
		font-size: 1.6rem;
	}
	.m_linkBtn > span {
		padding: 10px 10px 10px 25px;
	}
	.m_linkBtn > span::before {
		top: 18px;
		width: 10px;
		height: 10px;
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
	}
	.m_linkBtn.s_white > span {
		padding: 9px 10px 9px 25px;
	}
}

.m_dotList > li {
	position: relative;
	padding-left: 1.1em;
}
.m_dotList > li + li {
	margin-top: 5px;
}
.m_dotList > li::before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
.m_dotList > li.s_red {
	color: #f00;
}
.m_dotList > li.s_note::before {
	content: '※';
}

.m_noteList {
	margin: 10px 0;
}
.m_noteList > li {
	position: relative;
	padding-left: 1.2em;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}
.m_noteList > li::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width: 767px){
	.m_noteList > li {
		font-size: 1.2rem;
	}
}

.m_headerList {
	margin: 10px 0;
}
.m_headerList > li {
	position: relative;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}
.m_headerList > li > span {
	float: left;
	margin-right: 8px;
}
.m_headerList > li > p {
	overflow: hidden;
}
@media screen and (max-width: 767px){
	.m_headerList > li {
		font-size: 1.2rem;
	}
}

.m_faqArea {
	max-width: 900px;
	margin: 50px auto 0;
}
@media screen and (max-width: 767px){
	.m_faqArea {
		margin: 20px auto 0;
	}
}

.m_faq .p_question {
	margin-bottom: 20px;
	position: relative;
	background-color: #fff;
	padding: 20px 20px 20px 85px;
	font-size: 2.3rem;
	font-weight: bold;
	line-height: 1.3;
	cursor: pointer;
}
.m_faq .p_question.s_open {
	background-color: #ff960b;
	color: #fff;
}
.m_faq .p_question .p_icon {
	position: absolute;
	top: 0;
	left: 30px;
	bottom: 0;
	width: 30px;
	height: 30px;
	margin: auto 0;
	border-radius: 50%;
	background-color: #ff960b;
}
.m_faq .p_question .p_icon::before,
.m_faq .p_question .p_icon::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 16px;
	height: 3px;
	border-radius: 2px;
	background-color: #fff;
	margin: auto;
}
.m_faq .p_question .p_icon::after {
	transform: rotate(90deg);
}
.m_faq .p_question.s_open .p_icon {
	background-color: #fff;
}
.m_faq .p_question.s_open .p_icon::before {
	background-color: #ff960b;
}
.m_faq .p_question.s_open .p_icon::after {
	display: none;
}
.m_faq .p_answer {
	position: relative;
	padding: 0 0 20px 40px;
	font-size: 1.8rem;
	display: none;
}
.m_faq .p_answer::before {
	content: 'A.';
	position: absolute;
	top: -4px;
	left: 0;
	color: #ff960b;
	font-size: 2.4rem;
	font-weight: bold;
}
@media screen and (max-width: 767px){
	.m_faq .p_question {
		padding: 15px 15px 15px 50px;
		font-size: 1.4rem;
	}
	.m_faq .p_question .p_icon {
		left: 16px;
		width: 24px;
		height: 24px;
	}
	.m_faq .p_question .p_icon::before,
	.m_faq .p_question .p_icon::after {
		width: 14px;
		height: 2px;
	}
	.m_faq .p_answer {
		padding: 0 0 20px 30px;
		font-size: 1.3rem;
	}
	.m_faq .p_answer::before {
		top: -6px;
		font-size: 2rem;
	}
}


/* マージンキャンセル
----------------------------------------- */

*:first-child {
	margin-top: 0;
}
*:last-child {
	margin-bottom: 0;
}

/* モーダルウィンドウ
----------------------------------------- */
.modal {
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	display: none;
	z-index: 10000;
	overflow-y: auto;
}
.modal .inner {
	position: relative;
	z-index: 10001;
	transform: translate(0,20%);
	background-color: #FFFFFF;
	border-radius: 10px;
/*	box-shadow: 0 15px 0 2px rgba(16,95,64,0.6);*/
	width: 95%;
	max-width: 880px;
	height: 70vh;
	margin: 0 auto;
}
a.modalClose {
	cursor: pointer;
}
.modal .close-area {
	position: absolute;
	z-index: 10001;
	top: -9%;
	right: 0;
	width: 42px;
}
.modal .close-area a.modalClose {
	position: relative;
	width: 42px;
	height: 42px;
	display: block;
}
.modal .close-area a.modalClose:before {
	display: block;
	content: "";
	background: #FFFFFF;
	height: 3px;
	width: 130%;
	transform: rotate(45deg);
	position: absolute;
	bottom: 20px;
	left: -6px;
}
.modal .close-area a.modalClose:after {
	display: block;
	content: "";
	background: #FFFFFF;
	height: 3px;
	width: 130%;
	transform: rotate(135deg);
	position: absolute;
	bottom: 20px;
	left: -6px;
}
.modal .inner .contents {
	padding: 30px 30px 30px 30px;
	overflow-y: auto;
	height: 100%;
	border:4px solid #ffc400;
	border-radius:10px;
}
.modal h2 {
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: 0.1rem;
	margin: 0 0 1rem;
}
.modal h3 {
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.1rem;
	margin: 1rem 0;
}
.modal h2 img {
	margin: 0 0.5rem 0 0;
	position: relative;
	top: 10px;
}
.modal h2 span {
		background:linear-gradient(transparent 60%, #ffc400 60%);
}
.modal p {
	font-size: 1.7rem;
	line-height:1.6;
}
.modal p img {
	width:100%;
	height:auto;;
}
.modal ul {
	margin: 1rem 0;
}
.modal ul li {
	font-size: 1.5rem;
	line-height: 1.4;
	margin-left: 1em;
	text-indent: -1em;
}
.modal .overLay {
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.8);
	width: 100%;
	height: 100vh;
	z-index: 10000;
}
.modal .btn-r-green {
	background: #429977;
	color: #fff;
	border-radius: 30px;
	padding: .4rem 0 .3rem;
	border: 2px solid #429977;
	text-align: center;
	display: block;
	width: 32%;
	margin: 3rem auto;
}

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

	.modal h2::before {
		margin-right: 1rem;
	}
	.modal h2::after {
		margin-left: 1rem;
	}
	.modal .btn-r-green {
		width: 80%;
	}
	.modal .close-area a.modalClose {
		width: 35px;
		height: 35px;
	}
	.modal .close-area a.modalClose:before,
	.modal .close-area a.modalClose:after {
		width: 120%;
		left: 0px;
	}
	.modal .inner {
		height: 70vh;
	}
	.modal .inner .contents {
		padding: 20px;
	}
	.modal h2 {
		font-size:1.8rem;
		margin: 0 0 1rem;
	}
	.modal h2 img {
		width:10%;
		height:auto;
		top:4px;
	}
	.modal ul li {
		font-size: 1.3rem;
		line-height: 1.5;
	}
	.modal h3 {
		font-size: 1.5rem;
		line-height:1.5;
	}
	.modal p {
		font-size:1.5rem;
	}
}


.f_header {
	justify-content: space-between;
}
.f_fixNavi2 {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
}
.button {
	position: relative;
	display: inline-block;
	font-weight: bold;
	line-height: 1.5;
	padding: 13px 26px 12px 53px;
	transition: 0.3s;
	text-decoration: none;
	color: #fff;
	border-radius: 0.5rem;
	background: #014dca;
	box-shadow: 0 3px 0 #c9c9c9;
	margin-left: 10px;
	border: 2px solid #212121;
	font-size: 110%;
	letter-spacing: 1px;
	animation: btn_animation 4s infinite;
}
@keyframes btn_animation {
	0% {
		box-shadow: 0 3px 0 #c9c9c9;
		top: 0px;
	}
	10% {
		box-shadow: 0 0 0 #c9c9c9;
		top: 3px;
	}
	20% {
		box-shadow: 0 3px 0 #c9c9c9;
		top: 0px;
	}
	30% {
		box-shadow: 0 0 0 #c9c9c9;
		top: 3px;
	}
	40% {
		box-shadow: 0 3px 0 #c9c9c9;
		top: 0px;
	}
}
.button p {
	margin: 0;
}
.button .btn_balloon {
	position: absolute;
	display: inline-block;
	bottom: 0.6em;
	left: -6px;
	width: 1.9em;
	height: 1.9em;
	line-height: 1.9em;
	text-align: center;
	color: #212121;
	font-size: 143%;
	font-weight: bold;
	background: #ffffa0;
	border-radius: 50%;
	box-sizing: border-box;
	transform: rotate(-8deg);
	border: 2px solid #212121;
}
.button .btn_balloon::before {
	position: absolute;
	content: "";
	bottom: -2px;
	right: -15px;
	border: 7px solid transparent;
	border-left: 13px solid #212121;
	transform: rotate(31deg);
}
.button .btn_balloon::after {
	position: absolute;
	content: "";
	bottom: 1px;
	right: -11px;
	border: 6px solid transparent;
	border-left: 12px solid #ffffa0;
	z-index: 0;
	transform: rotate(31deg);
}
.button:hover {
	transform: translate(0, 3px);
	background: #3979e2; 
	box-shadow: none;
}
.f_fixNavi2 .btn_box {
	position: relative;
	top: 74%;
	z-index: 1000;
	margin: 0 15px;
}
.f_fixNavi2 .button {
	padding: 27px 11px 25px 11px;
}
.f_fixNavi2 .button .btn_balloon {
	bottom: 2.4em;
	left: -6px;
	transform: rotate(6deg);
}
.m_questionLinkBtn {
	position: relative;
	display: inline-block;
	border-radius: 30px;
	background: url(../../img/icon_question.png) no-repeat 35px 50% #ff960b;
	padding: 13px 35px 13px 70px;
	box-shadow: 1px 3px 6px rgba(0, 0, 0, 0.16);
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	color: #fff;
}
.m_questionLinkBtn:hover {
	opacity: 0.5;
}

@media screen and (min-width: 768px) {
	.pc_none {
		display: none !important;
	}
	.f_fixNavi {
		height: 326px;
		position: absolute;
		top: 50%;
		bottom: 50%;
		transform: translateY(-50%);
	}
}

@media screen and (min-width: 1600px){
	.f_fixNavi {
		height: 334px;
	}
}

@media screen and (max-width: 767px){
	.f_header .btn_box {
		display: none;
	}
	.sp_none {
		display: none !important;
	}
	footer {
		padding: 23px 30px 100px;
	}
	.f_fixFooter {
		display: block;
		border: none;
	}
	.f_fixFooter .f_fixFooter_bottom {
		display: flex;
		border: 1px solid #212121;
	}
	.f_fixFooter .btn_box {
		display: flex;
		justify-content: flex-end;
		margin-bottom: 5px;
	}
	.f_fixFooter .button {
		padding: 20px 11px 15px 11px !important;
		margin-left: 0;
		width: 30% !important;
		text-align: center;
	}
		.f_fixFooter .button .btn_balloon {
		bottom: 2.4em;
		left: -17px;
		transform: rotate(1deg);
	}
	.f_fixFooter .button .btn_balloon::before {
		bottom: -1px;
		border: 6px solid transparent;
		border-left: 11px solid #212121;
	}
	.f_fixFooter .button .btn_balloon::after {
		border-left: 10px solid #ffffa0;
	}
	.questionLink {
		position: relative;
		display: inline-block;
		background: url(../../img/icon_question.png) no-repeat 30% 50% #014dca;
		padding: 9px 10px 9px 25px;
		text-align: center;
		font-size: 1.5rem;
		line-height: 1.4;
		letter-spacing: 0;
		font-weight: bold;
		color: #fff;
		width: 100%;
	}
	.m_questionLinkBtn {
		display: block;
		max-width: 400px;
		margin: 0 auto;
		background-position: 15px 50%;
		padding: 9px 10px 9px 30px;
		font-size: 1.5rem;
		line-height: 1.4;
		letter-spacing: 0;
		background-size: 20px;
	}
}
