@charset "utf-8";

html {
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    font-size: 62.5%;
}

body {
    max-width: 1280px;
    margin: 0 auto;
    color: #222;
    font-size: 1rem;
    line-height: 1;
    text-align: center;
    width: 100%;
}

a, a img {
    opacity: 1;
}
a:hover, a:hover img {
    opacity: .7;
}
a.hoverTgl:hover, a.hoverTgl:hover img {
    opacity: 1;
}

/* ====================
header
 ==================== */
header {
    width: 100%;
    overflow: hidden;
    z-index: 1000;
    position:fixed;
    background:#ffffff;
    max-width: 1280px;
}

.h__inner {
    width: 950px;
    margin: 0 auto;
    overflow: hidden;
}

.h__box {
    float: left;
    padding: 10px 0;
}

.h__box.h__box-logo {
    text-align: left;
    width: 260px;
    height: 121px;
    background: url("../img/line01.png") repeat-y top right/26px;
}

.h__box.h__box-tel {
    text-align: left;
    width: 295px;
    margin: 0 0 0 40px;
 }

 .h__box.h__box-tel  a{
    font-size: 42px;
    font-family: 'Impact',sans-serif;
    color:#F10101;
    letter-spacing: 2px;
 }

.h__box.h__box-btn {
    float: right;
    text-align: center;
    width: 305px;
}

.h__text {
    font-size: 1.0rem;
    margin: 5px 0 0 0;
}

/* ====================
section
 ==================== */
section {
    padding: 0 0 50px 0;
}

.sec-line:before {
    content: '';
    display: block;
    width: 100%;
    height: 28px;
    background: url("../img/line02.png") repeat-x;
    background-size: 640px 28px;
}

.sec__ttl__wrap.sec__ttl-bg-1 {
    height: 200px;
    background: url("../img/secTtl_bg01.jpg") no-repeat top center/1280px 200px;
}
.sec__ttl__wrap.sec__ttl-bg-2 {
    height: 231px;
    background: url("../img/secTtl_bg02.jpg") no-repeat top center/1280px 231px;
}
.sec__ttl {
    padding: 45px 0;
}

.sec__inner {
    width: 970px;
    margin: 0 auto;
}

.text-type-1 {
    font-weight: bold;
}
.text-type-2 {
    font-weight: bold;
    color: #eb5409;
}

.text-type-3 {
    color: #f00707;
}

.text-ls {
    letter-spacing: -2px;
}

.link-text {
    color: #006cd9;
    text-decoration: underline;
}

.conv {
    padding: 35px 0 0 0;
    background: url("../img/conv_bg.png") no-repeat top center/522px;
}

.conv__item__wrap {
    width: 950px;
    display: table;
    margin: 20px 10px;
}

.conv__item {
    vertical-align: bottom;
    text-align: left;
    width: 445px;
    display: table-cell;
}

.conv__item:first-child {
    width: 505px;
}

.conv_tel{
    position:relative;
}

.conv_tel p{
    position:absolute;
    top:70px;
    left:80px;
}

.conv_tel p a{
    font-size: 46px;
    font-family: 'Impact',sans-serif;
    color:#F10101;
}



/* ====================
#sec-index-01
 ==================== */

#sec-index-01 {
    padding-top: 121px !important;
}

#sec-index-01 .kv {
    height: 735px;
    /*background: linear-gradient(#9ad3f0 70%, #fff);*/
}

#sec-index-01 .sec__inner {
    margin-top: -235px;
    position: relative;
    z-index: 1;
}

#sec-index-01 .sec__box {
    background: #fff;
    margin: 0 0 5px 0;
}

#sec-index-01 .sec__box.sec__box-index-01 {
    margin: 90px 0 0 0;
    padding: 10px;
    overflow: hidden;
}

#sec-index-01 .sec__box.sec__box-index-01 .fl {
    width: 750px;
    float: left;
}

#sec-index-01 .sec__box.sec__box-index-02 {
    padding: 20px 0 0 0;
}

#sec-index-01 .sec__box.sec__box-index-02 .box__wrap {
    width: 100%;
    overflow: hidden;
    margin: 25px 0;
}

#sec-index-01 .sec__box.sec__box-index-02 .box {
    width: 310px;
    float: left;
    margin: 0 0 0 20px;
}
#sec-index-01 .sec__box.sec__box-index-02 .box:first-child {
    margin: 0 0 0 0;
}

#sec-index-01 .sec__box.sec__box-index-02 .box__ttl {
    width: 310px;
    height: 74px;
    padding: 14px 0 0 0;
    background: url("../img/sec01_box_ribbon.png") no-repeat center top/310px;
}

#sec-index-01 .sec__box.sec__box-index-02 .box__inner {
    width: 290px;
    border: 4px solid #c7c7c7;
    box-shadow: 0 0 8px 2px rgba(0, 0, 0, .1);
    border-top: none;
    margin: -22px 10px 0 10px;
    padding: 25px 0 18px 0;
}

#sec-index-01 .sec__box.sec__box-index-02 .box__text {
    font-size: 1.4rem;
    line-height: 1.57;
    margin-top: -78px;
}

/* ====================
#sec-index-02
 ==================== */
#sec-index-02 .box__wrap {
    width: 100%;
    overflow: hidden;
    margin: 35px 0 25px 0;
}

#sec-index-02 .box {
    width: 365px;
    float: left;
    margin-left: -60px;
    position: relative;
}
#sec-index-02 .box:first-child {
    margin-left: -5px;
}

#sec-index-02 .box__text {
    font-size: 1.6rem;
    line-height: 1.5;
    position: absolute;
    top: 120px;
    left: 70px;
    z-index: 2;
}

/* ====================
#sec-index-03
 ==================== */
#sec-index-03 .step__ttl__wrap {
    width: 970px;
    height: 88px;
    background: url("../img/sec03_step_ribbon.png") no-repeat top center/970px;
    position: relative;
}
#sec-index-03 .step__ttl {
    position: absolute;
    top: -18px;
    left: 0;
    right: 0;
}

#sec-index-03 .step__inner {
    background: rgba(66, 152, 178, .2);
    margin: -15px 10px 0 10px;
    padding: 0 0 15px 0;
}

#sec-index-03 .step__item__wrap {
    width: 950px;
    padding: 15px 0;
    display: table;
    border-collapse: separate;  /* セルの間隔を空ける */
    border-spacing: 15px 0;
}

#sec-index-03 .step__item {
    width: 290px;
    display: table-cell;
    background: #fff;
    box-shadow: 0 0 6px 2px rgba(0, 0, 0, .1);
    border: 4px solid #c7c7c7;
    position: relative;
}

#sec-index-03 .step__item:before {
    content: '';
    width: 62px;
    height: 62px;
    background: url("../img/sec03_step_num01.png") no-repeat left top/62px;
    position: absolute;
    top: -14px;
    left: -14px;
}

#sec-index-03 .step__item:nth-child(2):before {
    background: url("../img/sec03_step_num02.png") no-repeat left top/62px;
}
#sec-index-03 .step__item:nth-child(3):before {
    background: url("../img/sec03_step_num03.png") no-repeat left top/62px;
}

#sec-index-03 .step__item__ttl {
    font-size: 3.0rem;
    font-weight: bold;
    margin: 20px 15px;
}

#sec-index-03 .step__text {
    font-size: 1.8rem;
    line-height: 1.45;
    margin: 15px 10px;
}
#sec-index-03 .step__text-l {
    font-size: 2.0rem;
    font-weight: bold;
}

/* ====================
#sec-index-04
 ==================== */
#sec-index-04 {
    padding: 0 0 30px 0;
}

#sec-index-04 .sec__inner {
    margin-top: -60px;
}

#sec-index-04 .box {
    background: #f2efeb;
    box-shadow: 0 0 6px 2px rgba(0, 0, 0, .1);
    border: 4px solid #c7c7c7;
    margin: 0 0 40px 0;
    padding: 25px;
    overflow: hidden;
}
#sec-index-04 .box:first-child {
    margin: 0 0 20px 0;
}

#sec-index-04 .box .box__photo {
    border: 2px solid #000;
    float: left;
}

#sec-index-04 .box .box__textWrap {
    text-align: left;
    width: 710px;
    float: right;
}

#sec-index-04 .box .box__lead {
    font-size: 3.2rem;
    line-height: 1.32;
    font-weight: bold;
    color: #004d8c;
}

#sec-index-04 .box .box__text {
    font-size: 1.6rem;
    line-height: 1.5;
    margin: 10px 0 20px 0;
}


#sec-index-04 .box .box__prof {
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.32;
}


/* ====================
#sec-index-05
 ==================== */
#sec-index-05 {
    background: #dbe2e8;
}

#sec-index-05 .box {
    display: inline-block;
    vertical-align: top;
    width: 300px;
    height: 272px;
    margin: 20px 10px 0 10px;
    background: url("../img/sec05_box_bg.png") no-repeat top center/contain;
    position: relative;
}

#sec-index-05 .box__num {
    font-size: 1.6rem;
    color: #fff;
    font-weight: bold;
    position: absolute;
    top: 10px;
    left: 22px;
}

#sec-index-05 .box__lead {
    font-size: 3.0rem;
    color: #004d8c;
    font-weight: bold;
    line-height: 1.2;
    margin: 0 20px;
    padding: 55px 0 20px 0;
}

#sec-index-05 .box__text {
    font-size: 1.4rem;
    line-height: 1.57;
    text-align: left;
    margin: 0 20px;
}

/* ====================
#sec-index-06
 ==================== */
#sec-index-06 {
    background: #4db2d1;
}

#sec-index-06 .sec__ttl {
    padding: 70px 0 30px 0;
}

#sec-index-06 .box {
    width: 950px;
    height: 286px;
    display: table;
    background: #fff;
    margin: 0 0 20px 0;
    box-shadow: 0 0 6px 2px rgba(0, 0, 0, .1);
}

#sec-index-06 .box__imgWrap {
    display: table-cell;
    vertical-align: middle;
}

#sec-index-06 .box__textWrap {
    width: 530px;
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    padding: 0 20px 0 0;
}

#sec-index-06 .box__lead {
    font-size: 3.2rem;
    color: #eb5409;
    font-weight: bold;
    line-height: 1.32;
    margin: 0 0 10px 0;
}

#sec-index-06 .box__text {
    font-size: 1.6rem;
    line-height: 1.5;
}


/* ====================
#sec-index-07
 ==================== */
#sec-index-07 .sec__ttl {
    padding: 70px 0 0 0;
}

#sec-index-07 .box__wrap {
    overflow: hidden;
    margin: 0 0 40px 0;
}

#sec-index-07 .box {
    width: 460px;
    height: 200px;
    float: left;
    border: 3px solid #eb9909;
    background: url("../img/sec07_box_bg.png") no-repeat center top/contain;
    margin: 35px 0 0 15px;
    position: relative;
}
#sec-index-07 .box:nth-child(even){
    float: right;
    margin: 35px 10px 0 0;
}

#sec-index-07 .box__icon {
    position: absolute;
    top: -30px;
    left: -10px;
}

#sec-index-07 .box__inner {
    padding: 20px 15px;
    overflow: hidden;
}

#sec-index-07 .box__imgWrap {
    float: left;
}

#sec-index-07 .box__textWrap {
    text-align: left;
    float: right;
    width: 225px;
}

#sec-index-07 .box__price {
    height: 70px;
}

#sec-index-07 .box__name {
    font-size: 1.7rem;
    line-height: 1.2;
    font-weight: bold;
    margin: 15px 0 10px -0.5em;
}

#sec-index-07 .box__name.l2 {
    margin-top: 5px;
    margin-bottom: 2px;
    text-indent: -0.5em;
    padding-left: 0.5em;
}

#sec-index-07 .box__text {
    font-size: 1.6rem;
    line-height: 1.375;
}

#sec-index-07 .box__text-h {
    width: 5em;
    float: left;
    position: relative;
}
#sec-index-07 .box__text-h:after {
    content: '｜';
    position: absolute;
    top: 0;
    right: 0;
}

#sec-index-07 .box__text-b {
    padding-left: 5em;
}

/* ====================
#sec-index-08
 ==================== */
#sec-index-08 .sec__ttl {
    padding: 70px 0 0 0;
}

#sec-index-08 .qa__wrap {
    overflow: hidden;
    margin: 20px 0 40px 0;
}

#sec-index-08 .qa {
    width: 460px;
    float: left;
    margin: 35px 0 0 0;
}
#sec-index-08 .qa:nth-child(even){
    float: right;
    margin: 35px 0 0 0;
}

#sec-index-08 .qa-l1 {  height: 205px;  }
#sec-index-08 .qa-l2 {  height: 255px;  }
#sec-index-08 .qa-l3 {  height: 305px;  }
#sec-index-08 .qa-l4 {  height: 235px;  }
#sec-index-08 .qa-l5 {  height: 210px;  }

#sec-index-08 .qa__q {
    font-size: 2.2rem;
    color: #004d8c;
    font-weight: bold;
    text-align: left;
    line-height: 1.32;
    border: 1px solid #004d8c;
    padding: 5px 5px 5px 40px;
    margin: 0 0 0 30px;
    position: relative;
}

#sec-index-08 .qa__q__icon {

    position: absolute;
    top: -10px;
    left: -30px;
}

#sec-index-08 .qa__a {
    text-align: left;
    padding: 5px 5px 5px 75px;
    margin: 10px 0 0 0;
    position: relative;
}

#sec-index-08 .qa__a:before {
    content: '';
    width: 36px;
    height: 27px;
    background: url("../img/sec08_a.png") no-repeat top left/36px;
    position: absolute;
    top: 15px;
    left: 15px;
}

#sec-index-08 .qa__lead {
    font-size: 2.6rem;
    color: #eb5409;
    font-weight: bold;
    line-height: 1.6;
}

#sec-index-08 .qa__text {
    font-size: 1.6rem;
    line-height: 1.5;
}

#sec-index-08 .sec__text {
    font-size: 2.0rem;
    font-weight: bold;
}

/* ====================
#sec-index-09
 ==================== */
#sec-index-09 .sec__ttl {
    padding: 70px 0 0 0;
}

#sec-index-09 .shop__wrap {
    overflow: hidden;
}

#sec-index-09 .shop {
    width: 225px;
    float: left;
    margin: 40px 22px 0 0;
}
#sec-index-09 .shop:nth-child(4n) {
    margin: 40px 0 0 0;
}

#sec-index-09 .shop__map {
    width: 225px;
    height: 200px;
    margin: 10px 0;
}

#sec-index-09 .shop__info {
    text-align: left;
    overflow: hidden;
    padding: 12px 0 0 0;
    border-bottom: dashed 1px #333;
    margin: 0 0 11px 0;
}

#sec-index-09 .shop__info__h,
#sec-index-09 .shop__info__b,
#sec-index-09 .shop__exp {
    font-size: 1.2rem;
    line-height: 1.5;
    text-align: left;
}

#sec-index-09 .shop__info__h {
    font-weight: bold;
    width: 8.2em;
    float: left;
}
#sec-index-09 .shop__info__b {
    padding-left: 8.2em;
    margin: 0 0 9px 0;
}

/* ====================
#sec-index-10
 ==================== */
#sec-index-10  {
    background: url("../img/sec10_bg.jpg") no-repeat;
    padding: 40px 0 0 0;
}

#sec-index-10 .sec__inner {
    padding: 0 0 30px 0;
}

#sec-index-10 .sec__ttl__wrap {
    width: 970px;
    height: 98px;
    background: url("../img/sec10_ribbon.png") no-repeat center center/970px;
}

#sec-index-10 .sec__ttl {
    padding: 12px 0 0 0;
}

#sec-index-10 .box {
    margin: -16px 10px 40px 10px;
    padding: 45px 90px 40px 90px;
    overflow: hidden;
    background: linear-gradient(rgba(255, 255, 255, .7) 30%, rgba(255, 255, 255, 1) 75%);
}

#sec-index-10 .about__text {
    font-size: 1.6rem;
    font-weight: bold;
    text-align: left;
    line-height: 1.375;
    float: left;
    margin: 30px 0 0 0;
}

#sec-index-10 .about__text.fr {
    float: right;
}

#sec-index-10 .about__text__h {
    width: 8em;
    float: left;
    position: relative;
}
#sec-index-10 .about__text__h:after {
    content: '：';
    position: absolute;
    top: 0;
    right: 0;
}

#sec-index-10 .about__text__b {
    padding: 0 0 10px 8em;
}


/* ====================
footer
 ==================== */
footer {
    text-align: center;
    width: 100%;
    background: #292929;
    padding: 25px 0;
}

footer a:hover {
    opacity: 1;
    color: #fff;

}

.f_text {
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.7;
}

.f_text.f_text-s {
    font-size: 1.2rem;
}




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

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

