@charset "UTF-8";

/* header.css
**************************************************************************************/


/* header-layout
=============================================================================*/
#header {
    border-top: solid 3px #930e14;
}
.home #header {
    margin-bottom: 10px;
}
#header .header-area-in {
    width:1200px;
    margin:0 auto;
    display: flex;
    justify-content: space-between;
}
#header .header-main {
    padding:26px 0 0 0;
}
#header .header-sub {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    position:relative;
}

@media screen and (max-width: 767px){
    #header .header-area-in {
        width: auto;
        display: block;
        position: relative;
        z-index: 70;
    }
    #header .header-main {
        padding: 10px 10px 10px 10px;
        position: relative;
        background: #ffffff;
        z-index: 65;
    }
    #header .header-sub {
        display: block;
        padding-top:0;
        position: static;
    }
}

/* header-main
=============================================================================*/

@media screen and (max-width: 767px){
    #header .header-main .logo img {
        width: 140px;
    }
}

/* header-sub
=============================================================================*/

/* ======== header-sub-navi ======== */

#header .header-sub ul.header-sub-navi {
    display: flex;
    padding: 29px 39px 0 0;
}
#header .header-sub ul.header-sub-navi li a {
    display: block;
    padding:39px 24.5px 0;
    line-height:1.4;
    font-size: 80%;
    text-decoration: none;
    color: #111111;
    border-right: solid 1px #d3d3d3;
}
#header .header-sub ul.header-sub-navi li.sub-navi001 a {
    background: url(../../image/header-ic001.webp) no-repeat center 4px;
    border-left: solid 1px #d3d3d3;
}
#header .header-sub ul.header-sub-navi li.sub-navi002 a {
    background: url(../../image/header-ic002.webp) no-repeat center 7px;
}
#header .header-sub ul.header-sub-navi li.sub-navi003 a {
    background: url(../../image/header-ic003.webp) no-repeat center 4px;
}
#header .header-sub ul.header-sub-navi li.sub-navi004 a {
    background: url(../../image/header-ic004.webp) no-repeat center 4px;
}
#header .header-sub ul.header-sub-navi li a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 767px){
    #header .header-sub ul.header-sub-navi {
        display: none;
    }
}

/* ======== header-sub-btn ======== */

#header .header-sub-btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    width: 300px;
}

@media screen and (max-width: 767px) {
    #header .header-sub-btn {
        display: block;
        width: auto;
    }
}

/*フォントサイズ変更*/
#header div#fontController {
    padding: 15px 15px 0 0;
}
#header div#fontController dt {
    float: left;
    font-size: 87%;
    padding: 6px 12px 0 0;
}
#header div#fontController dd {
    float:left;
    border: solid 1px #d1d1d1;
}
#header div#fontController dd.small {
    display: none;
}
#header div#fontController dd:last-child {
    padding-right:0;
}
#header div#fontController dd a {
    display:flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height:30px;
    color: #767676;
    font-size: 87%;
    text-decoration: none;
    text-align: center;
    box-sizing: border-box;
}
#header div#fontController dd.large a {
    min-width: 47px;
}
#header div#fontController dd a:hover,
#header div#fontController dd a.reset-btn-on,
#header div#fontController dd a.large-btn-on{
    background-color: #930e14;
    color: #ffffff;
}

@media screen and (max-width: 767px){
    #header div#fontController {
        display: none;
    }
}

/*ENGLISH*/
#header div.header-english {
    padding-top: 15px;
}
#header div.header-english a {
    display: block;
    text-align: center;
    text-decoration: none;
    color: #ffffff;
    font-size: 86%;
    border: solid 1px #930e14;
    padding: 5px 9px 5px 35px;
    background: url(../../image/header-ic005.webp) no-repeat #930e14 11px 5px / 18px auto;
}
#header div.header-english a:hover {
    color: #930e14;
    background: url(../../image/header-ic005on.webp) no-repeat #ffffff 11px 5px / 18px auto;
}

@media screen and (max-width: 767px){
    #header div.header-english {
        float: none;
        position: absolute;
        right: 10px;
        top: 17px;
        z-index: 70;
        padding-top: 0;
    }
}

/* 背景色変更 */
#header div#bgcolorController {
    float:left;
    padding-right: 20px;
}
#header div#bgcolorController dl dt {
    float: left;
    font-size: 93%;
    padding-right: 10px;
}
#header div#bgcolorController dl dd {
    float:left;
    padding-right:1px;
}
#header div#bgcolorController dl dd.bgcolor-c {
    padding:0;
}
#header div#bgcolorController dl dd a {
    display:flex;
    justify-content: center;
    align-items: center;
    width: 26px;
    height:26px;
    font-size: 93%;
    text-decoration: none !important;
    text-align: center;
    box-sizing: border-box;
}
#header div#bgcolorController dl dd.default a {
    border: 1px solid #ccc;
    background-color: #ffffff;
    color: #222222 !important;
}
#header div#bgcolorController dl dd.bgcolor-a a {
    background-color: #1651A0;
    color: #ffffff !important;
}
#header div#bgcolorController dl dd.bgcolor-b a {
    background-color: #FFE536;
    color: #222222 !important;
}
#header div#bgcolorController dl dd.bgcolor-c a {
    background-color: #222222;
    color: #ffffff !important;
}

/* サイト内検索 */
#header div.search-area-in {
    width:211px;
    height:32px;
    position:relative;
    margin:0;
}
#header div.search-area label {
    position: absolute;
    top: 6px;
    left: -88px;
    font-size: 87%;
}
#header div.search-area input.input-q {
    font-size:80%;
    width:211px!important;
    height:32px!important;
    border:1px solid #d1d1d1;
    border-radius: 16px;
    padding:2px;
    position:absolute;
    top:2px;
    left:0;
}
#header div.search-area #btn01 {
    width: 14px;
    position: absolute;
    right: 9px;
    top: 9px;
}

@media screen and (max-width: 767px){
    #header .sp-header .sp-search-btn {
        position: absolute;
        top: 17px;
        right: 127px;
        z-index: 70;
    }
    #header .sp-header .sp-search-btn img {
        width: 45px;
    }
    #header div.search-area {
        display: none;
        top: 60px;
        right: 0;
        left: 0;
        margin: auto;
        width: 100%;
        padding: 7px 10px;
        background: #f6f6f6;
        z-index: 72;
        border-top: solid 1px #d3d3d3;
    }
    #header div.search-area label {
        position: absolute;
        top: 9px;
        left: -88px;
        font-size: 86%;
    }
    #header div.search-area-in {
        width:211px;
        height:37px;
        position:relative;
        margin:0 0 0 100px;
    }
}

/* tnavi
=============================================================================*/

#tnavi {
    width: 1200px;
    margin: 0 auto;
    background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(239,239,239,1) 100%);
}
#tnavi ul {
    display: flex;
    justify-content: flex-end;
}
#tnavi ul li {
    padding-right: 30px;
}
#tnavi ul li:last-child {
    padding-right: 15px;
}
#tnavi ul li a {
    display: block;
    text-decoration: none;
    color: #111111;
    padding: 8px 0 8px 14px;
    background: url(../../image/header-ar001.webp) no-repeat 0 16px;
}
#tnavi ul li a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 767px){
    #tnavi {
        display: none;
    }
}

/* gnavi
=============================================================================*/

#gnavi {
    width:1200px;
    margin:0 auto;
    background:#930e14;
}
#gnavi ul {
    display: flex;
    align-items: center;
}
#gnavi ul li a {
    color: #fff;
    text-decoration: none;
    text-align: center;
    border-right: solid 1px #ad484c;
    /*padding: 10px 23.8px;*/
    display: flex;
    align-items: center;
}
#gnavi ul li.gnavi001 a {
    padding: 10px 22px 10px 21px;
}
#gnavi ul li.gnavi002 a {
    padding: 22px 28px 22px 27px;
}
#gnavi ul li.gnavi003 a {
    padding: 10px 23px 10px 22px;
}
#gnavi ul li.gnavi004 a {
    padding: 22px 20px 22px 20px;
}
#gnavi ul li.gnavi005 a {
    padding: 22px 20px 22px 19px;
}
#gnavi ul li.gnavi006 a {
    padding: 10px 15px 10px 15px;
}
#gnavi ul li.gnavi007 a {
    padding: 22px 20px 22px 20px;
}
#gnavi ul li.gnavi008 a {
    padding: 22px 44px 22px 44px;
    border-right: none;
}
#gnavi ul li a:hover,
#gnavi ul li a.current {
    background-color: #80060c;
    opacity: 1;
}

@media screen and (max-width: 767px){
    #body-in .gnavi-area {
        display:none;
    }
}

/* sp header
=============================================================================*/

#header .sp-header {
    display: none;
}

@media screen and (max-width: 767px){
    #header .sp-header {
        display: block;
    }
}

/* ======== sp header cont ======== */

@media screen and (max-width: 767px){
    #header .sp-header-cont {
        background: #f6f6f6;
        border-top: solid 1px #d5d5d5;
        width: auto;
    }
    #header .sp-header-cont a {
        text-decoration: none;
        color: #111111;
        display: block;
    }

    /*sp-navi*/
    #header .sp-header-cont .sp-navi {
        display: flex;
        justify-content: space-between;
        position: relative;
    }
    #header .sp-header-cont .sp-navi .sp-tnavi,
    #header .sp-header-cont .sp-navi .sp-menu {
        width: 50%;
    }
    #header .sp-header-cont .sp-navi p {
        text-align: center;
        font-size: 93%;
    }
    #header .sp-header-cont .sp-navi .sp-tnavi p a {
        padding: 11px 0 14px 40px;
        background: url(../../image/sp-index-ic001.webp) no-repeat 44px 12px / 32px auto;
        border-right: solid 1px #d5d5d5;
    }
    #header .sp-header-cont .sp-navi .sp-menu p a {
        padding: 11px 0 14px 30px;
        background: url(../../image/sp-index-ic002.webp) no-repeat 59px 16px / 20px auto;
    }
    #header .sp-header-cont .sp-navi .sp-tnavi p.open::after,
    #header .sp-header-cont .sp-navi .sp-menu p.open::after {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.3);
        z-index: -1;
        transition: all 0.5s;
    }
    #header .sp-header-cont .sp-navi .sp-tnavi p.open a,
    #header .sp-header-cont .sp-navi .sp-menu p.open a {
        background: url(../../image/sp-index-ic001on.webp) #930e14 no-repeat 44px 12px / 32px auto;
        color: #ffffff;
        border-right: solid 1px #930e14;
    }
    #header .sp-header-cont .sp-navi .sp-menu p.open a {
        background: url(../../image/sp-index-ic002on.webp) #930e14 no-repeat 59px 17px / 20px auto;
    }
    #header .sp-header-cont .sp-navi .sp-tnavi .sp-cont-in,
    #header .sp-header-cont .sp-navi .sp-menu .sp-cont-in {
        display: none;
        position: absolute;
        top: 47px;
        left: 0;
        width: 100%;
        background: #f6f6f6;
        border-top: solid 2px #930e14;
        z-index: 70;
        
    }
    #header .sp-header-cont .sp-navi .sp-tnavi .sp-cont-in ul.sp-cont-list {
        display: flex;
        flex-wrap: wrap;
    }
    #header .sp-header-cont .sp-navi .sp-tnavi .sp-cont-in ul.sp-cont-list li {
        width: 50%;
    }
    #header .sp-header-cont .sp-navi .sp-tnavi .sp-cont-in ul.sp-cont-list li a,
    #header .sp-header-cont .sp-navi .sp-menu .sp-cont-in ul.sp-cont-list li a {
        display: block;
        color: #003399;
        font-size: 87%;
        padding: 14px 0 14px 20px;
        border-right: solid 1px #d5d5d5;
        border-bottom: solid 1px #d5d5d5;
        background: url(../../image/index-ar003.webp) no-repeat 10px 21px / 5px auto;
    }
    #header .sp-header-cont .sp-navi .sp-tnavi .sp-cont-in ul.sp-cont-list li::nth-child(2n) a {
        border-right: none;
    }
    #header .sp-header-cont .sp-navi .sp-tnavi .sp-cont-in ul.sp-cont-list li:nth-child(5) a,
    #header .sp-header-cont .sp-navi .sp-tnavi .sp-cont-in ul.sp-cont-list li:nth-child(6) a,
    #header .sp-header-cont .sp-navi .sp-menu .sp-cont-in ul.sp-cont-list li:last-child a {
        border-bottom: none;
    }
    #header .sp-header-cont .sp-navi .sp-menu .sp-cont-in ul.sp-cont-list li a {
        border-right: none;
    }

    /*sp-btn*/
    #header .sp-header-cont .sp-btn ul {
        display: flex;
        justify-content: space-between;
        border-top: solid 1px #d5d5d5;
        border-bottom: solid 1px #d5d5d5;
    }
    #header .sp-header-cont .sp-btn ul li {
        border-right: solid 1px #d3d3d3;
        width: 33.33%;
    }
    #header .sp-header-cont .sp-btn ul li:last-child {
        border-right: none;
    }
    #header .sp-header-cont .sp-btn ul li a {
        display: block;
        padding: 31px 0 0;
        text-align: center;
        font-size: 80%;
        height: 75px;
    }
    #header .sp-header-cont .sp-btn ul li.sp-btn001 a {
        background: url(../../image/header-ic001.webp) no-repeat center 10px / 17px auto;
    }
    #header .sp-header-cont .sp-btn ul li.sp-btn002 a {
        background: url(../../image/header-ic002.webp) no-repeat center 12px / 20px auto;
    }
    #header .sp-header-cont .sp-btn ul li.sp-btn003 a {
        background: url(../../image/header-ic003.webp) no-repeat center 10px / 14px auto;
    }
}