@charset "utf-8";

/* init **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
*{ margin:0; padding:0; box-sizing:border-box; /*-webkit-appearance:none;*/ }
select option{ padding:0 5px; }
body{ color:#333; background-color:#fff; font:16px "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; line-height:1.6; min-width:1200px; -webkit-text-size-adjust:100%;
background: url(../images/bg.jpg) no-repeat top center / auto 100%; background-attachment: fixed; }
h1 , h2 , h3 , h4 , h5 , h6 , address{ font-style:normal; font-weight:normal; font-size:100%; }
ul{ list-style-type:none; }
img{ border:0; vertical-align:bottom; }

table{ border-spacing:0; border:0; }
table th{ text-align:left; vertical-align:middle; font-weight:normal; }
table td{ word-break:break-all; }

.floatR{ float:right; }
.floatL{ float:left; }

.alignL{ text-align:left; }
.alignR{ text-align:right; }
.alignC{ text-align:center; }

.rel{ position:relative; }
.abs{ position:absolute; }


/* clearfix **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.cf:after{ content:" "; display:block; clear:both; }


/* link **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
a:link , a:visited{ color:#ff4d25; text-decoration:none; }
a:hover{ color:#002278; text-decoration:underline; }


/* font decoration **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* size */
.fontSS{ font-size:12px; }
.fontS{ font-size:14px; }
.fontL{ font-size:20px; }
.fontLL{ font-size:24px; }

/* color */
.txt-gray{ color:#999; }
.txt-blue{ color:#002278; }
.txt-red{ color:#bb1900; }

/*indent */
.idt{ padding-left:1.0em; text-indent:-1.0em; }
.idt-half{ padding-left:0.5em; text-indent:-0.5em; }

/*other */
.str{ font-weight:bold; }
.str-reset{ font-weight:normal; }
span.required{ color: #bb1900; }

/* space **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* padding */
.spt0{ padding-top:0px !important; }
.spt5{ padding-top:5px !important; }
.spt10{ padding-top:10px !important; }
.spt15{ padding-top:15px !important; }
.spt20{ padding-top:20px !important; }
.spt25{ padding-top:25px !important; }
.spt30{ padding-top:30px !important; }
.spt35{ padding-top:35px !important; }

.spb0{ padding-bottom:0px !important; }
.spb5{ padding-bottom:5px !important; }
.spb10{ padding-bottom:10px !important; }
.spb15{ padding-bottom:15px !important; }
.spb20{ padding-bottom:20px !important; }
.spb25{ padding-bottom:25px !important; }
.spb30{ padding-bottom:30px !important; }
.spb35{ padding-bottom:35px !important; }

/* margin */
.smt0{ margin-top:0px !important; }
.smt5{ margin-top:5px !important; }
.smt10{ margin-top:10px !important; }
.smt15{ margin-top:15px !important; }
.smt20{ margin-top:20px !important; }
.smt25{ margin-top:25px !important; }
.smt30{ margin-top:30px !important; }
.smt35{ margin-top:35px !important; }
.smt40{ margin-top:40px !important; }
.smt45{ margin-top:45px !important; }
.smt50{ margin-top:50px !important; }

.smb0{ margin-bottom:0px !important; }
.smb5{ margin-bottom:5px !important; }
.smb10{ margin-bottom:10px !important; }
.smb15{ margin-bottom:15px !important; }
.smb20{ margin-bottom:20px !important; }
.smb25{ margin-bottom:25px !important; }
.smb30{ margin-bottom:30px !important; }
.smb35{ margin-bottom:35px !important; }
.smb40{ margin-bottom:40px !important; }
.smb45{ margin-bottom:45px !important; }
.smb50{ margin-bottom:50px !important; }

.sml0{ margin-left:0px !important; }
.sml20{ margin-left:20px !important; }
.sml30{ margin-left:30px !important; }
.sml50{ margin-left:50px !important; }

.smr0{ margin-right:0px !important; }
.smr20{ margin-right:20px !important; }
.smr30{ margin-right:30px !important; }
.smr50{ margin-right:50px !important; }

/* paragraph */
/*
p{ margin:0 50px 30px; }
p.lh-reset{ line-height:1.0; }
*/
/* original frame */
/*.box{ margin:0 50px; }*/


/* dd span **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
dd span{ font-size:14px;  }

/* input **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
input { margin: 5px 0; }
input.ctl, textarea.ctl, select.ctl{ padding:10px; border:solid 1px #e5e5e5; border-radius:5px; }
input.sizeSS, select.sizeSS{ width:100px; }
input.sizeS, select.sizeS{ width:150px; }
input.sizeM, select.sizeM{ width:500px; }
input.sizeL, select.sizeL{ width:800px; }
textarea.sizeM{ width:500px; height:120px; }
textarea.sizeL{ width:800px; height:120px; }
input[type=submit]{ -webkit-appearance:none; }
input[type=radio]{ margin-right:5px; }
input.ex-sp, select.ex-sp{ margin-right:10px; }
input.both-sp{ margin:0 10px; }
input , textarea , select{ font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; }


/* wrap **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.wrap{ width:1200px; position:relative; margin:0 auto; }


/* btn **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.btn{ transition:all 0.2s; }
.btn:hover{ opacity:0.80; text-decoration:none; }


a.btn-ptn1 , a.btn-ptn2 , a.btn-ptn3{ display:inline-block; color:#fff; text-align:center; cursor:pointer; border-radius:15px; padding:1px 25px 0 20px; }
a.btn-ptn1 , a.btn-ptn2 , a.btn-ptn3{ background-color:#ffba00; }
a.btn-ptn2{ width:210px; height:45px; background-position:right 12px center; background-size:10px 16px !important; border:solid 3px #ffe7a6; border-radius:25px; padding-top:11px; }
a.btn-ptn3{ width:320px; height:45px; background-position:right 12px center; background-size:10px 16px !important; border:solid 3px #ffe7a6; border-radius:25px; padding-top:11px; }

input.btn-ptn1{ display:inline-block; width:350px; height:60px; color:#fff; text-align:center; cursor:pointer; border-radius:45px; font-size:22px; font-weight:bold; background-color:#003366; border:solid 3px #003366; }
input.btn-back{
    display: inline-block;
    width: 350px;
    height: 60px;
    color: #666;
    text-align: center;
    cursor: pointer;
    border-radius: 45px;
    font-size: 22px;
    font-weight: bold;
    background-color: #eee;
    border: solid 3px #d4d4d4;
    padding-left: 5px; }

input.btn-ptn2{
    -webkit-appearance: none;
    background-color: rgba(0, 0, 0, 0.32);
    background-image: none;
    border: none;
    border-radius: 0;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 1em;
    padding: 0.6em 2em;
    text-decoration: none;
}

/* next prev */
.btn-prev a , .btn-next a{ display:inline-block; width:100px; height:45px; color:#fff; text-align:center; font-weight:bold; cursor:pointer; background-color:#ffba00; background-size:5px 8px; background-repeat:no-repeat; border:solid 3px #ffe7a6; border-radius:25px; padding-top:11px; }
.btn-prev a:hover , .btn-next a:hover{ text-decoration:none; }

.btn-area{ text-align:center; padding: 30px 0; }


/* header **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.header .logo{ float:left; margin-bottom: 15px; }
.header .logo p{ margin-top:10px; }
.header .logo h2{ margin-top:15px; }
.header .wrap img { width: 90%; }


/* nav **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.header nav{ height:50px; background-color:#002278; margin-top:20px; }
.header nav li{ width:calc(99.99% / 7); float:left; border-left:solid 1px #3b609d; margin-top:7px; }
.header nav li:last-child{ border-right:solid 1px #3b609d; }
.header nav li a{ display:block; width:90%; color:#fff; text-align:center; border-radius:5px; padding:2px 0; margin:0 auto; }
.header nav li span{ display:block; color:#94caf0; font-size:10px; margin-top:-3px; }

.header nav li a:hover{ color:#002278; font-weight:bold; background-color:#9ec9e9; opacity:1; }
.header nav li a:hover span{ color:#fff; font-weight:normal; }


/* footer **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.footer nav{ float:left; margin-left:40px; }
.footer nav ul{ float:left; width:180px; border-right:solid 1px #eee; padding:3px 15px 0; }
.footer nav ul:last-child{ border-right:none; }
.footer nav ul li a{ color:#333; }

.footer .pagetop{ float:right; }

.footer .copy{ color:#fff; background-color:#003366; text-align:center; padding:10px 0 8px; margin-top:20px; }


/* sp-item **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.sp-item{ display:none; }
.tb-item{ display:none; }

/* ★★★ タブレット ★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media only screen and (max-width: 768px){
/* input **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
input.sizeM{ width:100%; }
input.sizeL{ width:100%; }
textarea.sizeM{ width:100%; height:120px; }
textarea.sizeL{ width:100%; height:120px; }


/* wrap **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
body{ min-width:100%; }
.wrap{ width:100%; }


/* header **********
///////////////////////////////////////////////////////////////////////////////////////////////*/

.header .logo p{ display:none; }
.header .logo h1 img{ width:180px; height:auto; }


/* nav **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.header nav{ display:none; }


/* footer **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.footer{ margin-top:20px; }
.footer nav{ float:none; margin-left:0; }
.footer nav ul{ float:none; width:100%; border-right:none; padding:0; margin-top:25px; }
.footer nav ul:not(:first-child){ display:none; }
.footer nav ul li{ background-position:10px center; border-top:solid 1px #e5e5e5; }
.footer nav ul li a{ display:block; padding:12px 10px 10px; }
.footer .pagetop img{ position:absolute; top:4px; right:25px; }
.footer .copy{ margin-top:0; }
    
    
/* btn **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.btn-area{ margin-top:10px; }
    

/* tb-item **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.tb-item{ display:block; }
    
}


/* ★★★ スマホ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media only screen and (max-width: 414px){ /* iPhone6Plus */
/* btn **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
input.sizeSS{ width:56px; }
input.btn-ptn1, input.btn-back{ width:280px; height:60px; }
input.both-sp{ margin:0 5px; }

a.btn-ptn2 , a.btn-ptn3{ width:280px; }
    
}


/* ★★★ 個別ページ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.contents{ margin:0 20px; background: rgba(255, 255, 255, 0.9); padding: 20px; }


/* h1 **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
h1{ color:#003366; font-size:30px; font-weight:bold;  padding:5px 15px 3px; margin-bottom:20px 0 0; text-align: center; }


/* sbt h2 **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.sbt{ background-color:#e0eeff; border-top:solid 1px #e9f0f9; padding:28px 0 30px; margin: 0 0 30px; }


/* h3 **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
h3{ color:#fff; font-size:14px; font-weight:bold; background-color:#ff4d25; padding:5px 15px 3px; display: inline;border-radius: 50px;}


/* normal-list-area **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.normal-list-area{ margin-bottom:20px; }
.normal-list-area .pre{ display:flex;}
.normal-list-area dl { margin-top: 20px; }
.normal-list-area dl dt { margin-bottom: 10px; }
.normal-list-area dl dd:last-child{ margin-bottom:20px; }
.normal-list-area .bgcol{ background-color:#c5efee; padding:20px; }
.normal-list-area ul{ margin-top:5px; }
.normal-list-area ul.type-disc li{ list-style-type:disc; margin-left:20px; }

/* form complete */
.complete{ text-align:center; }
.complete .logo{ padding:10px; background:#fff; width:250px; margin:0 auto; }
.complete .add{ width:450px; text-align:left; margin:0 auto; }
.complete .bgcol{ background-color:#edf7ff; padding:40px; margin:20px auto; }
.complete .title{ color:#002278; font-size:18px; font-weight:bold; }


/* table area **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.table-area dl{ display:table; width:100%; }
.table-area dt , .table-area dd{ display:table-cell; border:solid 1px #d7e4f1; padding:20px; border-left: none;}
.table-area dl:not(:first-child) dt , .table-area dl:not(:first-child) dd{ border-top:none; }
.table-area dt{ width:260px; border-right:none; vertical-align:middle; background-color:#eee; }
.table-area dt.semi{ background-color:#edf7ff; }
.table-area dd{ position:relative; }
.table-area dd div{ position:absolute; top:14px; right:20px; }
.table-area ol li{ margin-left:20px; }
.table-area dt span{ color:#fff; border-radius:3px; padding:1px 4px; margin-left:5px; }
.table-area dt span.required{ color: #bb1900; }
.table-area dt span.free{ background-color:#898989; }
.table-area .btn-area{ position:relative; }
.table-area .btn-area .btn-back{ position:absolute; top:8px; left:0; }


/* progress **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.progress { list-style: none; margin: 0 0 40px 0; padding: 0; display: table; table-layout: fixed; width: 100%; }
.progress li { position: relative; display: table-cell; text-align: center; font-size: 0.8em; font-weight: bold; }
.progress li.is-comp:before, .progress li.is-comp:after { color: #FFF; background: #003366; }
.progress li:before {
    content: attr(data-step);
    display: block;
    margin: 0 auto;
    background: #DFE3E4;
    width: 3em;
    height: 3em;
    text-align: center;
    margin-bottom: 0.25em;
    line-height: 3em;
    border-radius: 100%;
    position: relative;
    z-index: 1000;
}

.progress li:after {
    content: '';
    position: absolute;
    display: block;
    background: #DFE3E4;
    width: 100%;
    height: 0.5em;
    top: 1.25em;
    left: 50%;
    margin-left: 1.5em;
    z-index: -1;
}

.progress li:nth-child(3):after { display: none; }
.progress li.is-comp:before { color: #FFF; background: #003366; }
.progress p { text-align: center!important; margin: 0!important; font-weight: bold; color: #ccc; }
.progress .is-comp p { color: #003366; }

/* ★★★ タブレット ★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media only screen and (max-width: 768px){
/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.contents{ margin:0; padding:0; }


/* sbt h2 **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.sbt{ padding:18px 0 20px; margin-bottom:20px; }
.sbt img{ width:auto; max-width:100%; max-height:40px; }


/* table area **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.table-area dl{ display:block; }
.table-area dt , .table-area dd{ width:100%; display:block; border:none; padding:10px; }
.table-area dd div{ position:static; }


/* btn-back **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/*input.btn-back{ display:none; }*/
.table-area .btn-area .btn-back { position: initial; }
/* form complete */
.complete .add { width: inherit; }

/* normal-list-area **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.normal-list-area .pre{ display:block; }
    
}


/* ★★★ スマホ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media only screen and (max-width: 414px){ /* iPhone6Plus */
/* item list area **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.item-list-area ul{ margin:0; }
.item-list-area ul li a{ width:100%; }
.item-list-area ul li:nth-child(odd) a{ margin-right:0; }


/* form complete */
.complete{ text-align:left; }

/* sp-item **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.sp-item{ display:block; }
}

/* 個別配色デザイン **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/*h1{ color:#fff; }*/
.sbt{ background: linear-gradient(to right, #488d37 0%,#a09424 50%,#dc730c 100%); }
.footer .copy { background: #00ccc5; }

input.btn-ptn1 { background: #ff4d25; border: solid 5px #4a4a4a; }
input.btn-ptn2 { background-color: #e77600; }
/*.normal-list-area .bgcol{ background-color:#ffe7cc; }
.complete .bgcol{ background-color:#ffe7cc; }*/

.table-area dt { background-color: #c5efee; color: #333; border: solid 1px #ffffff; font-weight: bold;}