@charset "UTF-8";
/*------------------------------------------------------------
	base
------------------------------------------------------------ */
* { box-sizing:border-box; }
html { font-size: 10px; webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }
body { margin: 0; padding: 0; font: 15px/1.4 'Noto Sans JP', "Yu Gothic", YuGothic, "游ゴシック体", "Helvetica", "Lucida Grande", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Geneva", "Arial", "Verdana", sans-serif; height: 100%; background-color:#fff; color:#333; font-weight: 400;}
h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,form,figure{ margin: 0px; padding: 0px; }
ul { list-style-type: none; }
img { border: none; }
input,textarea,select { font-size: 1em; }
form { margin: 0px; }
table {	border-collapse:collapse; font-size: 100%; border-spacing: 0; width: 100%;}
/*link*/
a { border:0; text-decoration:none; color: inherit; transition: all .2s ease-in-out; }
a:hover { text-decoration: none; color:inherit; }
/*text*/
h1, h2, h3, h4, h5, h6 { text-align: left; line-height:1.6; line-break: strict; font-weight: 700; }
h1 { font-size: 2vw; }
h2 { font-size: 3vw; }
h3 { font-size: 2.3vw; }
h4 { font-size: 2.1vw; }
h5 { font-size: 1.9vw; }
h6 { font-size: 1.8vw; }
p { font-weight: normal; font-size: 16px; line-height: 1.6;}
.caption { font-size : -webkit-calc(1em - 2px) ; font-size : calc(1em - 2px) ; }
.textC { text-align:center !important; }
.textL { text-align:left !important; }
.textR { text-align:right !important; }
.bpb0 { margin:0 !important; padding:0 !important; border:0 !important; }
.indt { text-indent: -1em; padding-left: 1em;}
.osw { font-family: "Oswald", sans-serif;}
.minc { font-family: "Noto Serif JP", serif;}

/*strong*/
strong { font-weight: bold; }
b { color:#333; }
em, i { font-style: italic; }
.normal { font-weight:normal !important; }

/* IMG */
img { display:block; margin:0 auto; padding:0; border: 0; max-width:100%; }
img.center { display:block; margin:0 auto; }
img.left { float: left; margin: 0 15px 0 0; border: 0; }
img.right { float: right; margin: 0 0 0 15px; border: 0; }
a img { transition: all .2s ease-in-out; }
a:hover img { opacity:.70; }
.w100 { width:100%; }
.wMax100 { max-width:100%; }
.cR { border-radius:10px; }
img.bd999 { border:1px solid #999; }
/* clearfx */
.cf:before, .cf:after { content: ""; display: table; }
.cf:after{ clear: both; }
.cf { zoom: 1; } /* For IE 6/7 */

/* LIST */
ul { margin-bottom: 0; list-style: none outside; }
ol { margin-bottom: 0; list-style: decimal; margin-left: 2.2em; }
ul.square, ul.circle { margin-left: 2em; }
ul.square { list-style: square outside; }
ul.circle { list-style: disc outside; }
ul ul.circle, ul ul.square { margin-top: 4px; margin-bottom: 5px; }

/* HR */
hr { border-width: 1px 0 0 0; border-style: solid; border-color: #bdbdbd; height: 1px; margin: 1.5em 0;}
hr.dot { border-width: 1px 0 0 0; border-style: dotted; border-color: #444; height: 1px; }
hr.dash { border-width: 1px 0 0 0; border-style: dashed; border-color: #444; height: 1px; }

/* Margin */
.btmMgn0 { margin-bottom:0 !important; }
.btmMgn-s { margin-bottom:5% !important; }
.btmMgn-m { margin-bottom:7% !important; }
.btmMgn-l { margin-bottom:10% !important; }
.btmMgn-fnt { margin-bottom:.6em !important; }

.topMgn0 { margin-top:0 !important; }
.topMgn-s { margin-top:5% !important; }
.topMgn-m { margin-top:7% !important; }
.topMgn-l { margin-top:10% !important; }

/* Padding */
.btmPad0 { padding-bottom:0 !important; }
.btmPad-s { padding-bottom:5% !important; }
.btmPad-m { padding-bottom:7% !important; }
.btmPad-l { padding-bottom:10% !important; }

.topPad0 { padding-top:0 !important; }
.topPad-s { padding-top:5% !important; }
.topPad-m { padding-top:7% !important; }
.topPad-l { padding-top:10% !important; }

.all0 { margin:0 !important; padding:0 !important; border:0 !important; background:none !important; }

i { font-size:calc(1em + 2px); }


@media(min-width:1300px) {
    h1 { font-size: 30px; }
    h2 { font-size: 32px; }
    h3 { font-size: 28px; }
    h4 { font-size: 25px; }
    h5 { font-size: 22px; }
    h6 { font-size: 20px; }
}
@media(max-width:767px) {
    h1 { font-size: 2vw; }
    h2 { font-size: 5vw; }
    h3 { font-size: 4.7vw; }
    h4 { font-size: 4.2vw; }
    h5 { font-size: 3.8vw; }
    h6 { font-size: 3.4vw; }
    p { font-size: 1.5rem; }
    .caption { font-size : 1.2rem; }
    ul.square, ul.circle { margin-left: 1.5em; }
}
@media(max-width:320px) {
    p { font-size: 1.3rem; }
}


/*------------------------------------------------------------
	BREADCRUMB
------------------------------------------------------------ */
#breadcrumb { padding: 1em; background: #fff; border-top: 1px solid #E4E9EF; border-bottom: 1px solid #E4E9EF;}
#breadcrumb > div { display: flex; align-items: center; justify-content: flex-start; margin: 0 auto; font-size: 13px; line-height: 1em; width: 95%; margin: 0 auto;}
#breadcrumb > div, #breadcrumb a, #breadcrumb i { color: #b5c3d3; }
#breadcrumb > div > i { margin: 0 .5em; }
#breadcrumb > div i { font-size: calc(1em + 3px); transition: all .2s ease-in-out;}
#breadcrumb > div a { display: block; position: relative; padding-right: .9em; margin-right: .5em;}
#breadcrumb > div a::after {
content: "\f105";
font-family: FontAwesome;
position: absolute;
top: 50%;
right: 0;
transform: translate(0%,-50%);
transition: all .2s ease-in-out;
color: #b5c3d3;
display: block;
font-size: 15px;
}
#breadcrumb > div a i:hover, #breadcrumb > div a:hover { color: #666;}
@media(max-width:767px) {
    #breadcrumb { padding: .6em 0;}
    #breadcrumb > div { font-size: 11px; flex-wrap: wrap; line-height: 1.2;}
    #breadcrumb > div a { padding-right: .8em; margin-right: .4em;}
    #breadcrumb > div a::after {font-size: 13px;}
}

/*------------------------------------------------------------
	form
------------------------------------------------------------ */
.policy h4, .policy h6, .policy p { text-align:left; margin-bottom:.5em; letter-spacing: 0;}
.policy h4 { border-bottom: 1px solid #ccc; margin-bottom: 1.5em; padding-bottom: .8em;}
.policy h6 { margin-top:2.5em; }
.policy { margin-top: 8%!important;}
.policy .stdBx { padding: 5% 6%; border: 1px solid #ccc;}
.thanks { margin: 1em auto .5em!important; }
.mw_wp_form_complete { padding-top:10%; }
.mwform-checkbox-field label, .mwform-radio-field label { cursor:pointer; }
.mw_wp_form .horizontal-item + .horizontal-item { margin:0 0 .5em !important; }
.form .btn.list.back { background:#ddd; border:0; margin-bottom:-4%; }
.mw_wp_form .error {
color: #e14 !important;
position: absolute;
padding-top: .2em;
}
.mw_wp_form .agree-check .error { top: 1.6em;}

@media(max-width:767px) {
    .policy h4 { font-size:1.6rem; text-align: center;}
    .policy p { font-size:1.2rem; }
    .policy .stdBx.min { padding: 7% 8%; width: 100%; max-width: 88%;}
    .form { padding-top: 5%;}
    .form table { margin-top:10%; }
    .form th, .form td {border:12px solid #fff; width:100%; display:block; box-sizing:border-box; text-align:center; }
    .form td { border-top:0; text-align:left; }
    .form input[type="submit"] {-webkit-appearance: none; }
    .form .btn.list { margin:10% auto 0; border: 1px solid #464c4e !important; border-radius: 6px !important;}
    .mwform-tel-field input[type="text"] { width:25%; }
}

form { font-size:16px; line-height:1.2; font-weight:normal; color:#333; }
form input { margin:0 auto; }
form label { margin:0; font-size:16px; line-height:1.2; font-weight:normal; color:#333; }
input[type="radio"], input[type="checkbox"] { margin:0 5px 0 0; }
span label { margin-right:15px; }
textarea { width:100% !important; border-color:#ccc; }
.select-group {
position: relative;
display:block;
overflow: hidden;
box-sizing: border-box;
width: 100%;
margin:0;
padding: 0;
vertical-align: middle;
border:1px solid #ccc;
background-repeat: no-repeat;
}
.select-group select {
position: relative;
z-index: 1;
line-height: 1.8;
display: block;
width: 100%;
padding: .2em 1.2em;
color:#999;
font-size:16px;
border: none;
border-radius: 0;
background-color: transparent;
background-image: none;
box-shadow: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
cursor:pointer;
}
.select-group::after {
position: absolute;
top: 0;
right: 10px;
bottom: 0;
width: 0;
height: 0;
margin: auto;
content: '';
border-top: 8px solid #aaa;
border-right: 8px solid transparent;
border-left: 8px solid transparent;
}
.select-group::before {
position:absolute;
top:0;
right:0;
content: '';
border:20px solid #f2f2f2;
}
.select-group select option { color:#222; }
table.form { position:relative; width:100%; margin:0 auto; }
table.form th { width:35%; }
table.form td { padding:0; }

/* ポリシーチェック */
.agree-check input[type="checkbox"] {
    -webkit-appearance: none;
    position: relative;
    margin-right: 5px;
    border-radius: 3px;
    border: 1px solid #999;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    background:#fff;
    vertical-align: top;
    transition: all .2s ease-in-out;
}
.agree-check input[type="checkbox"]:checked { background: #e91539; }
.agree-check input[type="checkbox"]:checked:before {
position: absolute;
left: 2px;
top: 2px;
display: block;
content: "\f00c";
font-family: FontAwesome;
font-size:14px;
color:#fff;
}
.agree-check { position:relative; margin-top: 6%;}
.agree-check div { display: flex; align-items: center; justify-content: center;}
.agree-check div span { cursor:pointer;}
.agree-check div > span { display: block; margin: 0; text-align: center; font-weight: 500; color: var(--main);}
.agree-check div > span .mwform-checkbox-field-text { color: var(--main);}
.agree-check > p { text-align: center; margin-top: 6%;}
.agree-check > p a { display: inline-block; margin: 0 .3em; color: var(--bl); text-decoration: underline;}
.agree-check > p a:hover { text-decoration: none;}

form table td span.mwform-radio-field { display: block;}
form table td span.mwform-radio-field:not(:first-of-type) { margin-top: .8em!important;}

.error { display: block; color: #e91539!important; margin-top: .4em;}
.contact-error section > h4 { color: #e91539;}

input[type="text"], input[type="email"], textarea { width:99%; box-sizing: border-box; border:1px solid #ccc; border-radius: 5px; -webkit-appearance: none; padding:.8em; line-height:1; color: #333;}
textarea { line-height: 1.4;}
input[type="text"]:focus, input[type="email"]:focus, textarea:focus { outline:none!important; background: #fff; border: 1px solid #999; border-radius: 5px;}
.mwform-tel-field input[type="text"], .mwform-zip-field input[type="text"] {display: inline-block; width: auto;}
.mwform-zip-field input[type="text"] { margin-bottom: .5em;}

.entry-form-thanks .posthead .stdBx,
.contact-thanks .posthead .stdBx { margin: 0 auto; padding: 0; border: 0;}

input[type="submit"] { display: inherit; margin:20px auto 0; border:0; box-shadow: none;text-decoration:none !important; cursor:pointer; transition: all .2s ease-in-out; color: #fff; background: rgba(79, 23, 127, 1); padding: 1em 3em; font-weight: 600; width: 400px; max-width: 100%; border-radius: 200px; font-size: 24px;}
input[type="submit"]:hover { color: #fff; background: rgba(79, 23, 127, .7); font-weight: 500;}
input.back[type="submit"] { background: #ccc; }
input.back[type="submit"]:hover { color: #fff; background: #999;}
form .chec { display:block; text-align:center; cursor:pointer; }

@media(max-width:767px) {
    form { font-size:16px; line-height:1.2; }
    form input { width:96%; margin:0 auto; border-color:#bbb; }
    form label { font-size:1.5rem; line-height:1.2; }
    form label > input { width: auto; }
    input[type="radio"] { margin:0 .4em 0 0; }
    input[type="checkbox"] { margin:0; width:auto; }
    span label { margin-right:0; }
    input[type="text"], input[type="email"], textarea { font-size:16px; }
    input[type="submit"] { font-size: 4.6vw;}

    table.form { width:100%; }
    table.form th, table.form td { border:0; font-size:1.6rem; line-height:1.2; display:block; width:100%; text-align:center; }
    table.form td { margin:3% 0 10%;}

    .agree { margin:5% 0 10%; padding:0 5% 5%; background:#fff; border:1px solid #ccc; }
    .agree-check { margin-top: 10%;}
}


/*------------------------------------------------------------
	404
------------------------------------------------------------ */
.error404 h3,
.error404 p { text-align: center;}
.error404 h3 { margin-bottom: 1em; color: var(--main);}


/*------------------------------------------------------------
	others
------------------------------------------------------------ */
@media(min-width:768px) {
	.onlySp { display:none !important; }
}
@media(max-width:767px) {
	.onlyPc { display:none !important; }
}
@media(max-width:411px) {
	.small-container { padding-bottom: 172%; /* 高さ */ }
}
@media (min-width: 751px) {
    a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    }
}
