

/* Base */
*{
margin:0;
padding:0;
line-height:170%;
}
html { 
font-size: 62.5%; 
}
body {
margin:0 auto;
padding:0;
text-align:center;
color: #222;
background:#fff;
font-size:1.4rem;
font-family: -apple-system, blinkMacSystemFont, /* Macの欧文はSan Francisco (OS X 10.11以降) */
               'Arial', /* Macの欧文 (OS X 10.10以前) */
               'Segoe UI',       /* Windowsの欧文 */
               YuGothicM,        /* Windows8.1以上は游ゴシック */
               YuGothic,         /* Macの游ゴシック */
               sans-serif;
}
@media all and (-ms-high-contrast:none) {
body {
font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
font-weight: normal;
}
}
@media screen and (min-width: 319px) and (max-width: 768px){
body {
background-image:none;
}
}
/* Windows */
@font-face {
  font-family: YuGothicM;
  font-weight: 400;
  src: local('YuGothic-Medium'),  /* Mediumを明示的に指定 */
       local('Yu Gothic Medium'), /* Chrome用 */
       local('YuGothic-Regular'); /* Windows8.1ではMediumがないのでRegularを指定 */
}
@font-face {
  font-family: YuGothicM;
  font-weight: bold;
  src: local('YoGothic-Bold'), /* Boldはそのまま */
       local('Yu Gothic');     /* Chrome用 */
}
body.noscroll {
position: fixed;
width:100%;
overflow-y: scroll;
}
a:link {
color:#004BFF;
text-decoration:underline;
}
a:hover {
color:#004BFF;
text-decoration:underline;
}
a:active {
color:#004BFF;
text-decoration:underline;
}
a:visited {
color:#004BFF;
text-decoration:underline;
}
img{
margin: 0;
padding: 0;
vertical-align: bottom;
border:none;
}
input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
ul li{
list-style:none;
}
.mbotom5 {
margin-bottom:5px;
}
.font-50 {
font-size:5rem;
}
.font-40 {
font-size:4rem;
}
.font-30 {
font-size:3rem;
}
.font-24 {
font-size:2.4rem;
}
.font-22 {
font-size:2.2rem;
}
.font-20 {
font-size:2rem;
}
.font-18 {
font-size:1.8rem;
}
.font-16 {
font-size:1.6rem;
}
.font-14 {
font-size:1.4rem;
}
.font-12 {
font-size:1.2rem;
}
.font-10 {
font-size:1rem;
}
.font-8 {
font-size:0.8rem;
}
.mbotom10 {
margin-bottom:10px;
}
.mbotom15 {
margin-bottom:15px;
}
.mbotom20 {
margin-bottom:20px;
}
.mbotom25 {
margin-bottom:25px;
}
.mbotom30 {
margin-bottom:30px;
}
.mbotom35 {
margin-bottom:35px;
}
.mbotom40 {
margin-bottom:40px;
}

.mbotom50 {
margin-bottom:50px;
}
.mbotom60 {
margin-bottom:60px;
}
.mbotom70 {
margin-bottom:70px;
}
.mbotom80 {
margin-bottom:80px;
}
.mbotom90 {
margin-bottom:90px;
}
.mbotom100 {
margin-bottom:100px;
}
.mbotom110 {
margin-bottom:110px;
}
.mbotom120 {
margin-bottom:120px;
}
.mbotom130 {
margin-bottom:130px;
}
.mbotom140 {
margin-bottom:140px;
}
.mbotom150 {
margin-bottom:150px;
}
.mtop10 {
margin-top:10px;
}
.mtop15 {
margin-top:15px;
}
.mtop20 {
margin-top:20px;
}
.mtop30 {
margin-top:30px;
}
.mtop40 {
margin-top:40px;
}
.mleft10 {
margin-left:10px;
}
.mleft15 {
margin-left:15px;
}
.mleft20 {
margin-left:20px;
}
.mleft30 {
margin-left:30px;
}
.mleft40 {
margin-left:40px;
}
.mright10 {
margin-right:10px;
}
.mright15 {
margin-right:15px;
}
.mright20 {
margin-right:20px;
}
.mboth10 {
margin:10px 0px;
}
.mboth15 {
margin:15px 0px;
}
.mboth20 {
margin:20px 0px;
}
.mboth30 {
margin:30px 0px;
}
.mboth_lr10 {
margin:0px 10px;
}
.mboth_lr15 {
margin:0px 15px;
}
.mboth_lr20 {
margin:0px 20px;
}
.mboth_all10 {
margin:10px;
}
.mboth_all15 {
margin:15px;
}
.mboth_all20 {
margin:20px;
}
.padbottom10 {
padding-bottom:10px;
}
.padbottom15 {
padding-bottom:15px;
}
.padbottom20 {
padding-bottom:20px;
}
.padbottom30 {
padding-bottom:30px;
}
.padbottom40 {
padding-bottom:40px;
}
.padtop10 {
padding-top:10px;
}
.padtop15 {
padding-top:15px;
}
.padtop20 {
padding-top:20px;
}
.padtop30 {
padding-top:30px;
}
.padtop40 {
padding-top:40px;
}
.padleft10 {
padding-left:10px;
}
.padleft15 {
padding-left:15px;
}
.padleft20 {
padding-left:20px;
}
.padleft30 {
padding-left:30px;
}

.padright10 {
padding-right:10px;
}
.padright15{
padding-right:15px;
}
.padright20 {
padding-right:20px;
}
.padboth10 {
padding:10px 0px;
}
.padboth15 {
padding:15px 0px;
}
.padboth20 {
padding:20px 0px;
}
.padboth_lr10 {
padding:0px 10px;
}
.padboth_lr15 {
padding:0px 15px;
}
.padboth_lr20 {
padding:0px 20px;
}
.padboth_all10 {
padding:10px;
}
.padboth_all15 {
padding:15px;
}
.padboth_all18 {
padding:18px;
}
.padboth_all20 {
padding:20px;
}
.padboth_all30 {
padding:30px;
}
.height2em{
height:2em;
}
.height25em{
height:2.5em;
}
.height3em{
height:3em;
}
.img_float_right_top {
padding-left:10px;
padding-bottom:10px;
float:right;
}
.img_float_left_top {
padding-right:10px;
padding-bottom:10px;
float:left;
}
.img_align_left_top {
padding-right:10px;
padding-bottom:10px;
}
.img_align_right_top {
padding-left:10px;
padding-bottom:10px;
}

.indent-5em {
padding-left:0.5em;
text-indent:-0.5em;
}
.indent1em {
padding-left:1em;
text-indent:-1em;
}
.indent15em  {
padding-left:1.7em;
text-indent:-1.7em;
}
.indent2em  {
padding-left:2em;
text-indent:-2em;
}
.indent3em  {
padding-left:3em;
text-indent:-3em;
}
.indent6em  {
padding-left:6em;
text-indent:-6em;
}

.text-height-4em{
height:4em;
}
.text-height-3em{
height:3em;
}
.text-height-2em{
height:3em;
}

.font-bold {
font-weight:bold;
}

br.brake{
display:block;
}
br.no-brake{
display:none;
}
.align_left{
text-align:left;
}
.align_center{
text-align:center;
}
.align_right{
text-align:right;
}

/*基本カラー*/
.keycolor-font-ptn1 {
color:#8f1d22;
}
.keycolor-font-ptn2 {
color:#222;
}
.keycolor-font-ptn3 {
color:#6f1714;
}
.keycolor-font-ptn4 {
color:#FF9900;
}
.keycolor-font-ptn5 {
color:#FF3300;
}

.button{
cursor: pointer;
}
.button:hover{
filter:alpha(opacity=70);
-moz-opacity: 0.7;
opacity: 0.7;
}
.vertical_bottom{
vertical-align:bottom;
}
br.break{
display:block;
}
.disp-pc{
display:block;
}
.disp-sp{
display:none;
}

.clear{
clear:both;
}
.img_hover:hover{
filter:alpha(opacity=70);
-moz-opacity: 0.7;
opacity: 0.7;
}

::-moz-selection {
    background: #222;
    text-shadow: none;
    color:#fff;
}

::selection {
    background: #222;
    text-shadow: none;
    color:#fff;
}

input{
vertical-align:middle; 
}
:placeholder-shown {color: #999}
/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {color: #999; }
/* Firefox 18- */
:-moz-placeholder {color: #999; opacity: 1; }
/* Firefox 19+ */
::-moz-placeholder {color: #999; opacity: 1; }
/* IE 10+ */
:-ms-input-placeholder {color: #999; }

.jp-font{
font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
.Oswald-font{
font-family: 'Oswald', sans-serif;
font-weight:100;
}
.Teko-font{
font-family: 'Teko', sans-serif;
font-weight:100;
}


/****imgwid***/
img.img-full-wid{
width:100%;
height:auto;
}
img.img-max-wid{
max-width:100%;
height:auto;
}
img.vtop{
vertical-align: top;
}
/****imgwid***/

	
	


/****pagetop***/
#pagetop {
position:fixed;
bottom:20px;
right:20px;
cursor: pointer;
z-index:200;
transition: 0.5s ease;
zoom:1;
}
@media screen and (min-width: 319px) and (max-width: 768px){
#pagetop {
bottom:10px;
right:10px;
}
}





/***fadein***/
.fadein {
  opacity: 0;
  transform : translate(0, 50px);
  transition : all 2000ms;
}

.fadein.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}


#wrapper{
width:100%;
margin-right:auto;
margin-left:auto;
margin-bottom:70px;
text-align:center;
}
#wrapper img{
max-width:100%;
height:auto;
}
@media screen and (min-width: 319px) and (max-width: 768px){
#wrapper{
margin-bottom:40px;
}
}


/***h***/
.h3-style{
margin-bottom:50px;
text-align:left;
clear:both;
}
.h3-style>h3{
font-size:3.5rem;
background-image:url(../images/bg_h3_border.png);
background-position:left bottom;
background-repeat:no-repeat;
padding-bottom:10px;
font-weight:bold;
}
.h3-style>h3 storng{
display:block;
font-size:2.5rem;
}
.h3-style>h3 br{
display:none;
}
@media screen and (min-width: 319px) and (max-width: 768px){
.h3-style{
margin-top:20px;
margin-bottom:20px;
}
.h3-style>h3{
font-size:2.5rem;
line-height:130%;
}
.h3-style>h3 storng{
font-size:1.5rem;
}
.h3-style>h3 br{
display:block;
}
}
/***h***/

/****form****/
#contact-wrapper{
width:100%;
margin:0 auto;
text-align:center;
clear:both;
}
#contact-wrapper img{
max-width:100%;
height:auto;
}
.contact-container{
overflow:hidden;
zoom:1;
width:1200px;
margin:0 auto;
text-align:center;
margin-bottom:100px;
}
#contact .form-container{
overflow:hidden;
zoom:1;
clear:both;
}
#contact .message-block{
width:100%;
margin-bottom:30px;
margin-left:auto;
margin-right:auto;
text-align:center;
text-align:left;
}
#contact .input{
overflow:hidden;
zoom:1;
clear:both;
margin-bottom:50px;
}
#contact .agree{
overflow:hidden;
zoom:1;
clear:both;
margin-bottom:30px;
			}
#contact .agree-inner{
border:1px solid #ddd;
padding:20px 19px;
margin-bottom:30px;
text-align:left;
}
#contact .agree-inner>h5{
font-size:1.8rem;
margin-bottom:10px;
}
#contact .agree-inner>p{
font-size:1.4rem;
margin-bottom:10px;
}
#contact .agree-inner>ul li{
font-size:1.4rem;
margin-bottom:10px;
}
#contact .form-container table{
width:100%;
}
#contact .form-container th{
text-align:left;
background-color:#fff;
border-bottom:1px solid #eee;
width:25%;
		font-weight:bold;
		vertical-align: middle;
}
#contact .form-container th>p{
padding-top:30px;
padding-bottom:30px;
padding-left:20px;
padding-right:30px;
font-size:1.8rem;
line-height:130%;
}
#contact .form-container th.hissu{
background-position:right 15px center;
background-image:url(../images/icon_hissu.png);
background-repeat:no-repeat;
padding-right:10px;
}
#contact .form-container td{
width:75%;
text-align:left;
		border-bottom:1px solid #ddd;
		vertical-align: middle;
}
#contact .form-container th.q-style{
background-color:#f1f1f1;
}
#contact .form-container td .parts{
padding-top:20px;
padding-bottom:20px;
padding-left:20px;
}
#contact .form-container ul.list-colm li{
float:left;
padding-right:20px;
padding-bottom:20px;
}
#contact .form-container dl.form-colm{
width:100%;
border-bottom:1px solid #ddd;
padding-bottom:15px;
margin-bottom:15px;
overflow:hidden;
zoom:1;
clear:both;
}
#contact .form-container dl.form-colm dt{
width:20%;
float:left;
font-weight:bold;
font-size:1.6rem;
padding:7px 0px;
}
#contact .form-container dl.form-colm dt.hissu-in{
background-position:right 15px center;
background-image:url(../images/bg_hissu.png);
background-repeat:no-repeat;
}
#contact .form-container dl.form-colm dd{
width:80%;
float:right;
text-align:left;
}
#contact .form-container ul.check-list-3colm li{
float:left;
width:33.33333333%;
padding-bottom:10px;
}
#contact .form-container input.field-text-L,
#contact .form-container input.field-text-M,
#contact .form-container input.field-text-S,
#contact .form-container input.field-text-SS{
background-color:#eee;
height:40px;
}
#contact .form-container input.field-err{
background-color:#F0DDEC;
}
#contact .form-container input.field-text-L{
width:420px;
}
#contact .form-container input.field-text-M{
width:220px;
}
#contact .form-container input.field-text-S{
width:100px;
}
#contact .form-container input.field-text-SS{
width:70px;
}
#contact .form-container .field-textarea{
background-color:#eee;
width:700px;
height:200px;
}
#contact .form-container .field-textarea-err{
background-color:#F0DDEC;
}
#contact .form-container input.field-radio{
display: none;
}
#contact .form-container input.field-radio + label{
padding-left: 20px;
position:relative;
margin-right: 20px;
cursor: pointer;
}
#contact .form-container input.field-radio + label::before{
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
width: 15px;
height: 15px;
border: 1px solid #999;
border-radius: 50%;
}
#contact .form-container input.field-radio:checked + label{
font-weight:bold;
}
#contact .form-container input.field-radio:checked + label::after{
content: "";
display: block;
position: absolute;
top: 3px;
left: 3px;
width: 11px;
height: 11px;
background-color: #999;
border-radius: 50%;
}

#contact .form-container .selectdiv {
position: relative;
float: left;
		min-width: 300px;
		margin-bottom:10px;
}
/* IE11 hide native button (thanks Matt!) */
#contact .form-container select::-ms-expand {
display: none;
}
#contact .form-container .selectdiv:after {
content: '<>';
font-size:1.7rem;
color: #333;
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
right: 11px;
top: 18px;
padding: 0 0 2px;
border-bottom: 1px solid #ccc;
position: absolute;
pointer-events: none;
}
#contact .form-container .selectdiv select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
 display: block;
width: 100%;
max-width: 420px;
height: 50px;
float: left;
margin: 5px 0px;
padding: 0px 24px;
font-size:1.6rem;
line-height: 1.75;
color: #333;
background-color: #ffffff;
background-image: none;
border: 1px solid #cccccc;
-ms-word-break: normal;
word-break: normal;
}
#contact .form-container input[type=checkbox] {
  display: none;
}
#contact .form-container .checkbox {
box-sizing: border-box;
-webkit-transition: background-color 0.2s linear;
transition: background-color 0.2s linear;
position: relative;
display: inline-block;
margin: 0 20px 8px 0;
padding: 12px 12px 12px 42px;
border-radius: 8px;
background-color: #f6f7f8;
vertical-align: middle;
cursor: pointer;
}
#contact .form-container .checkbox:hover {
background-color: #EDE4DA;
}
#contact .form-container .checkbox:hover:after {
border-color: #B3241F;
}
#contact .form-container .checkbox:after {
-webkit-transition: border-color 0.2s linear;
transition: border-color 0.2s linear;
position: absolute;
top: 50%;
left: 15px;
display: block;
margin-top: -10px;
width: 16px;
height: 16px;
border: 2px solid #bbb;
border-radius: 6px;
content: '';
}
#contact .form-container .checkbox:before {
-webkit-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
position: absolute;
top: 50%;
left: 21px;
display: block;
margin-top: -7px;
width: 5px;
height: 9px;
border-right: 3px solid #B3241F;
border-bottom: 3px solid #B3241F;
content: '';
opacity: 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
#contact .form-container input[type=checkbox]:checked + .checkbox:before {
  opacity: 1;
}

#contact .form-container input[type="submit"],
#contact .form-container input.submit-mod,
#contact .form-container input.conf-submit{
border-radius:50px;
width:450px;
text-align:center;
color:#fff;
font-size:2rem;
padding:30px 0px;
line-height:100%;
cursor: pointer;
}
#contact .form-container input[type="submit"]{
background-color:#000;
}
#contact .form-container input.submit-mod{
background-color:#333;
}
#contact .form-container input.conf-submit{
background-color:#d76740;
}
#contact .form-container input[type="text"],
#contact .form-container .field-textarea,
#contact .form-container .selectdiv select,
#contact .form-container input[type="submit"],
#contact .form-container input.submit-mod{
transition-duration: 0.3s;
}
#contact .form-container input[type="text"]:focus,
#contact .form-container .field-textarea:focus,
#contact .form-container .selectdiv select:focus{
box-shadow: 0 0 5px #ccc;
border: 1px solid #ddd;
background-color:#fff;
transition-duration: 0.3s;
}
#contact .form-container input[type="submit"]:hover{
background-position:right 10px center;
background-color:#d74540;
}
#contact .form-container input.submit-mod:hover{
background-position:right 10px center;
background-color:#666;
}
#contact .form-container input.conf-submit:hover{
background-position:right 10px center;
background-color:#d74540;
}
#contact .errmess,
#contact .okmess{
padding:15px;
text-align:center;
color:#fff;
font-weight:bold;
font-size:1.8rem;
margin-bottom:20px;
}
#contact .errmess{
background-color:#B3241F;
}
#contact .okmess{
background-color:#4168EC;
}
#contact .btn-flex{
display: -webkit-flex;
display: flex;
justify-content: space-between;
}
#contact .btn-flex>div{
margin-bottom:20px;
}
iframe.i-frame{
width:100%;
text-align:center;
margin:0 auto;
height:250px;
border:none;
	}
	
#remaining-characters,
#remaining-characters-2 {
		color: #ff0000;
		font-weight:bold;
	}
.link-none {
color:#222;
text-decoration:none;
   pointer-events: none;
}
@media screen and (min-width: 319px) and (max-width: 768px){
#contact-wrapper{
width:96%;
}
.contact-container{
width:96%;
position:static;
}
.contact-diagonal{
display:none;
}
.contact-column{
width:100%;
margin:0 auto;
text-align:center;
position:static;
top:0px;
}
.contact-box{
padding-top:20px;
padding-bottom:20px;
padding-left:15px;
padding-right:15px
}
#contact .form-container th,
#contact .form-container td{
display: block;
width: 100%;
overflow:hidden;
zoom:1;
				clear:both;
				vertical-align: baseline;
}
#contact .form-container th{
background-color:#333;
color:#fff;
}
#contact .form-container th.q-style{
background-color:#333;
}
#contact .form-container th>p{
padding-top:15px;
padding-bottom:15px;
padding-left:15px;
padding-right:40px;
font-size:1.4rem;
}
#contact .form-container td .parts{
padding-top:10px;
padding-bottom:10px;
padding-left:0px;
}
#contact .form-container input.field-text-L{
width:100%;
}
#contact .form-container input.field-text-M{
width:100%;
}
#contact .form-container input.field-text-S{
width:100%;
}
#contact .form-container .field-textarea{
width:100%;
}
#contact .form-container .selectdiv {
min-width: 200px;
}
#contact .form-container .selectdiv select {
max-width: 300px;
}
#contact .form-container input[type="submit"],
#contact .form-container input.submit-mod,
#contact .form-container input.conf-submit{
width:300px;
font-size:16px;
}
#contact .form-container ul.list-colm li{
float:none;
padding-right:0px;
padding-bottom:10px;
}
#contact .form-container dl.form-colm dt{
width:100%;
float:none;
margin-bottom:15px;
}
#contact .form-container dl.form-colm dd{
width:100%;
float:none;
}
#contact .form-container dl.form-colm dt{
width:100%;
float:none;
margin-bottom:15px;
padding:0px 0px;
}
#contact .form-container dl.form-colm dd{
width:100%;
float:none;
}
#contact .form-container ul.check-list-3colm li{
float:none;
width:100%;
}
#contact .btn-flex{
display: block;
}
iframe.i-frame{
width:90%;
}
}
/****form****/

	
/****foota****/
#footer{
width:100%;
margin:0 auto;
text-align:center;
clear:both;
padding-top:20px;
padding-bottom:30px;
}
#footer-inner>p{
line-height:100%;
font-size:1.2rem;
}
/****foota****/


@media screen and (min-width: 319px) and (max-width: 768px){
html { 
font-size: 58.5%; 
}
br.brake{
display:none;
}
br.no-brake{
display:block;
}
.padleft10 {
padding-left:0px;
}
/****pagetop***/
#pagescrolltop {
bottom: 0%;
right: 0px;
}
#pagescrolltop:hover{
bottom: 0%;
}
/****pagetop***/

}

.flex-faq{
margin-bottom:30px;
display: -webkit-flex;
display: flex;
justify-content: space-between;
}
.flex-faq .note-area{
width:70%;
}
.flex-faq .buttun-area{
width:26%;
}
.buttun{
width:100%;
margin:0 auto;
text-align:center;
}
.buttun a{
border-radius:100px;
display:block;
text-decoration:none;
background-color:#8f1d22;
text-align:center;
}
.buttun a>p{
line-height:100%;
color:#fff;
/*padding:14px 10px;
font-size:1.6rem;*/
padding:18px 10px;
font-size:1.8rem;
font-weight:bold;
text-align:center;
position:relative;
}
.buttun a>p::before{
content: "";
position: absolute;
top:45%;
right: 15px;
width: 5px;
height: 5px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transition: 0.3s ease;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
}
.border-b{
border-bottom:1px solid #ddd;
margin-bottom:20px;
}
@media screen and (min-width: 319px) and (max-width: 768px){
.flex-faq{
width:96%;
display:block;
margin-left:auto;
margin-right:auto;
text-align:center;
}
.flex-faq .note-area{
width:100%;
text-align:left;
}
.flex-faq .buttun-area{
width:100%;
}
.buttun a>p{
padding:14px 10px;
font-size:1.6rem;
}
}