@charset 'UTF-8';
/*============================================================= 02_base =============================================================*/
/*!  02_base
================================================ */
html
{ font-size: 62.5%; /* 10px */ 

    overflow: auto; width: 100%;              -webkit-text-size-adjust: 100%; /* SP Safari用 */ -ms-text-size-adjust: 100%;
}
body
{ font-family: 'Noto Sans Japanese', 'Hiragino Kaku Gothic ProN',YuGothic,'Yu Gothic','メイリオ', sans-serif; font-size: 1.3rem; line-height: 1.7; overflow: hidden; 

    width: 100%; min-width: 320px; letter-spacing: .05em; color: #333; -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 600px)
{
    body
    {
        font-size: 1.4rem; line-height: 1.8; min-width: 1100px;
    }
}
/* layout
-------------------------------------------------
-------------------------------------------------
*/
#wrapper
{
    position: relative;
}
#container
{
    overflow: hidden;
}
/* clearfix
=========================================== */
.cf:after
{ display: block; clear: both; 

    content: '';
}
/* switch
=========================================== !*/
@media screen and (max-width: 599px)
{
    .viewPc
    {
        display: none !important;
    }  .viewSp
    {
        display: block;
    }
}
@media screen and (min-width: 600px)
{
    .viewPc
    {
        display: block;
    }  .viewSp
    {
        display: none !important;
    }
}
/* box-sizing
-------------------------------------------------
-------------------------------------------------
*/
html,
body,
header,
footer,
h1,
h2,
h3,
h4,
h5,
section,
article,
div,
dl,
dt,
dd,
ol,
ul,
li,
p,
a,
span
{
    box-sizing: border-box;
}
h1,
h2,
h3,
h4,
h5,
section,
article,
div,
dl,
dt,
dd,
ol,
ul,
li,
p,
a,
span
{
    max-height: 100%;
}
/* img
-------------------------------------------------
-------------------------------------------------
*/
img
{
    max-width: 100%; height: auto; vertical-align: bottom;
}
/* link
-------------------------------------------------
-------------------------------------------------
*/
a
{ -webkit-transition: all .2s;        transition: all .2s; text-decoration: none; 

    color: #333; outline: none;
}
a:hover
{
    opacity: .5; -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=50)';
}
/*a:active {  color: $black; } a:hover {  color: $black; } a:visited {  color: $black; }*/
/* form
-------------------------------------------------
-------------------------------------------------
*/
/* デフォルトスタイルをリセット
------------------------------ */
select
{ box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 0; background: none transparent; 

    -moz-appearance: none; -webkit-appearance: none;      -o-appearance: none;     -ms-appearance: none;         appearance: none;
}
select::-ms-expand
{
    display: none;
}
textarea
{ box-sizing: border-box; resize: vertical; border-radius: 0; 

    -moz-appearance: none; -webkit-appearance: none;      -o-appearance: none;     -ms-appearance: none;         appearance: none;
}
input
{ box-sizing: border-box; border-radius: 0; 

    -moz-appearance: none; -webkit-appearance: none;      -o-appearance: none;     -ms-appearance: none;         appearance: none;
}
/*@media screen and ($for-phone-only) {  textarea,input {  font-size : 1.6rem; } }*/
/* iOSでのデフォルトスタイルをリセット */
input[type='submit'],
input[type='button']
{ -webkit-box-sizing: content-box;        box-sizing: border-box; border: none; 
    border-radius: 0; -webkit-appearance: button;    -moz-appearance: button;         appearance: button;
}
input[type='submit']::-webkit-search-decoration,
input[type='button']::-webkit-search-decoration
{
    display: none;
}
input[type='submit']::focus,
input[type='button']::focus
{
    outline-offset: -2px;
}
/* other
-------------------------------------------------
-------------------------------------------------
*/
.em
{
    font-weight: bold;
}
/*============================================================= 03_layout =============================================================*/
/*!  #gHeader
================================================ */
@media screen and (min-width: 600px)
{
    #gHeader
    { position: absolute; z-index: 100; top: 0; left: 50%; 

        width: 100%; -webkit-transform: translateX(-50%);         transform: translateX(-50%);
    }
}
#gHeader .hdIn
{
    display: -webkit-box;    display: -ms-flexbox;    display: flex;
}
@media screen and (max-width: 599px)
{
    #gHeader .hdIn
    {
        height: 39px; padding: 8px 15px 8px 12px; border-bottom: 1px solid #ccc;
    }
}
@media screen and (min-width: 600px)
{
    #gHeader .hdIn
    {
        max-width: 1920px; margin: 0 auto;
    }
}
@media screen and (max-width: 599px)
{
    #gHeader .hdMeta
    {
        width: 50%;
    }  #gHeader .hdMeta .logo a img
    {
        width: 130px;
    }
}
@media screen and (max-width: 1200px)
{
	#gHeader .hdMeta .txt{
		font-size: 1rem
	}
}

@media screen and (min-width: 600px)
{
    #gHeader .hdMeta
    {
       display: block; width: 40%; flex-wrap: wrap;
    }  #gHeader .hdMeta .logo
    {
        padding-left:20px;
    }  #gHeader .hdMeta .txt
    { font-size: 1rem; line-height: 1.6; letter-spacing: -0.1px; margin:10px 10px 10px 20px; color: #fff;
    }
}
@media screen and (max-width: 599px)
{
    #gHeader .hdInfo
    {
        width: 50%;
    }
}
@media screen and (min-width: 600px)
{
    #gHeader .hdInfo
    {
        display: -webkit-box; display: -ms-flexbox; display: flex;  -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end;   width: 60%;
    }
}
#gHeader .hdInfo .hdInfoIn
{
	display: block;
    /*display: -webkit-box;    display: -ms-flexbox;    display: flex;*/
}
@media screen and (max-width: 599px)
{
    #gHeader .hdInfo .hdInfoIn
    { 
		display: flex; -webkit-box-pack: end; justify-content: flex-end;
    }
}
#gHeader .hdInfo .hdInfoIn .hdInfoMail a
{
    display: block;
}
@media screen and (max-width: 599px)
{
    #gHeader .hdInfo .hdInfoIn .hdInfoMail
    { overflow: hidden; width: 22px; height: 16px; margin: 3px 0 0 19px; white-space: nowrap; text-indent: 100%; background: url(../img/common/ico_mail01.png) center center no-repeat; background-size: 22px auto; 

        -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2;
    }
}
@media screen and (min-width: 600px)
{
    #gHeader .hdInfo .hdInfoIn .hdInfoMail
    {
        width: 274px; margin-left: 1px;
    }  #gHeader .hdInfo .hdInfoIn .hdInfoMail a
    { position: relative; 

        padding: 21px 0;
    }  #gHeader .hdInfo .hdInfoIn .hdInfoMail a:after
    { position: absolute; right: 2px; bottom: 2px; display: block; width: 0; height: 0; 

        content: ''; border-width: 5px; border-style: solid; border-color: transparent #987c41 #987c41 transparent;
    }  #gHeader .hdInfo .hdInfoIn .hdInfoMail a span
    { line-height: 18px; position: relative; 

        display: inline-block; padding-left: 34px;
    }  #gHeader .hdInfo .hdInfoIn .hdInfoMail a span:before
    { position: absolute; top: 0; left: 0; display: inline-block; width: 24px; height: 18px; 

        content: ''; background: url(../img/common/ico_mail03.png) left top no-repeat;
    }
}
@media screen and (max-width: 599px)
{
    #gHeader .hdInfo .hdInfoIn .hdInfoTel
    { overflow: hidden; width: 20px; height: 18px; margin: 2px 0 0 0; white-space: nowrap; text-indent: 100%; background: url(../img/common/ico_tel01.png) center center no-repeat; background-size: 20px auto; 

        -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1;
    }
}
@media screen and (min-width: 600px)
{
    #gHeader .hdInfo .hdInfoIn .hdInfoTel {
        width: 200px;
        margin-left: 1px;
        padding: 18px 23px;
        background-color: #1e426f;
        display: inline-block; 
    }
    #gHeader .hdInfo .hdInfoIn .hdInfoTel .telNum {
        font-size: 1.2rem; line-height: 1.25; color: #fff;
    }  #gHeader .hdInfo .hdInfoIn .hdInfoTel .telNum:nth-of-type(1)
    {
        margin-bottom: 13px;
    }  #gHeader .hdInfo .hdInfoIn .hdInfoTel .telNum span
    {
        display: inline-block; padding: 0 6px;
    }
    #gHeader .hdInfo .hdInfoIn .hdInfoTel .telNum img {
        display: block;
        margin-top: 5px;
        margin-left: 10px;
    }
}
@media screen and (max-width: 599px)
{
    #gHeader .spTelBox
    { position: absolute; z-index: 10; top: 39px; left: 0; 

        display: none; width: 100%; background-color: #274878;
    }  #gHeader .spTelBox .spTelBoxIn
    { position: relative; text-align: center;
    

        padding: 25px 30px 23px;
    }  #gHeader .spTelBox .spTelBoxIn:before
    { position: absolute; top: -16px; right: 58px; display: inline-block; width: 0; height: 0; 

        content: ''; border-top: 8px solid transparent; border-right: 8px solid transparent; border-bottom: 8px solid #274878; border-left: 8px solid transparent;
    }  #gHeader .spTelBox a
    {
        display: block;
    }  #gHeader .spTelBox a:hover
    {
        opacity: 1; -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
    }  #gHeader .spTelBox .bnr_office
    {
        padding: 10px 13px 10px 25px; border: 2px solid #dee2e4; background: #fff; box-shadow: 0 3px 0 0 #dee2e4;
    }  #gHeader .spTelBox .bnr_office:nth-of-type(1)
    {
        margin-bottom: 13px;
    }  #gHeader .spTelBox .bnr_office .bnr_tit
    {
        font-size: 1.1rem; line-height: 1.8; margin-bottom: 6px;
    }  #gHeader .spTelBox .bnr_office .bnr_tit span
    {
        display: inline-block; margin-right: 5px; padding: 0 8px; color: #fff; background-color: #274878;
    }  #gHeader .spTelBox .bnr_office .bnr_num
    { font-family: 'Sawarabi Mincho'; font-size: 3rem; font-weight: 500; 
        line-height: 1; letter-spacing: .03em;
    }  #gHeader .spTelBox .btn_close
    { font-size: 1.4rem; line-height: 1; 

        padding: 13px 0; text-align: center; color: #fff; background-color: #1a3a66;
    }  #gHeader .spTelBox .btn_close span
    {
        display: inline-block;
    }  #gHeader .spTelBox .btn_close span.ico_close
    {
        width: 14px; height: 14px; margin-right: 7px;
    }  #gHeader .spTelBox .btn_close span.ico_close span:nth-child(1)
    {
        width: 2px; height: 14px; -webkit-transform: translateX(2px) translateY(1px) rotate(-45deg);         transform: translateX(2px) translateY(1px) rotate(-45deg); background-color: #fff;
    }  #gHeader .spTelBox .btn_close span.ico_close span:nth-child(2)
    {
        width: 2px; height: 14px; -webkit-transform: translateY(1px) rotate(45deg);         transform: translateY(1px) rotate(45deg); background-color: #fff;
    }
}
/*!  #gNav
================================================ */
/*#gNav {  .navList {  display: flex; flex-wrap: nowrap; @media screen and ($for-phone-only) {  border-bottom: 1px solid #ccc; } .item {  a {  display: block; line-height: 1; text-align: center; } @media screen and ($for-phone-only) {  border-left: 1px solid #ccc; a {  padding: 14px 0; font-size: 1.1rem; } &:nth-child(1) {  width: 22%; border-left: none; } &:nth-child(2) {  width: 39%; } &:nth-child(3) {  width: 39%; } } @media screen and ($for-pc-only) {  width: 177px; margin-left: 1px; &:nth-child(1) {  margin-left: 0; } a {  padding: 12px 0 11px; background-color:  rgba(255, 255, 255, .7); font-size: 1.2rem; &.current {  background-color:  rgba(255, 255, 255, 1); } span {  display: block; margin-bottom: 7px; font-family: $sp-sc; font-size: 1.8rem; font-weight: 500; } } } } } } */
#gNavSp .navList
{
    display: -webkit-box;    display: -ms-flexbox;    display: flex; border-bottom: 1px solid #ccc; -ms-flex-wrap: nowrap;     flex-wrap: nowrap;
}
#gNavSp .navList .item
{
    border-left: 1px solid #ccc;
}
#gNavSp .navList .item a
{ line-height: 1; 

    display: block; text-align: center;
}
#gNavSp .navList .item a
{ font-size: 1.1rem; 

    padding: 14px 0;
}
#gNavSp .navList .item:nth-child(1)
{
    width: 22%; border-left: none;
}
#gNavSp .navList .item:nth-child(2)
{
    width: 39%;
}
#gNavSp .navList .item:nth-child(3)
{
    width: 39%;
}
#gNavPc .navList
{
    display: -webkit-box;    display: -ms-flexbox;    display: flex; -ms-flex-wrap: nowrap;     flex-wrap: nowrap;
}
#gNavPc .navList .item
{
    width: 177px; margin-left: 1px;
}
#gNavPc .navList .item:nth-child(1)
{
    margin-left: 0;
}
#gNavPc .navList .item a
{ font-size: 1.2rem; line-height: 1; 

    display: block; padding: 30px 0 30px; text-align: center; background-color: rgba(255, 255, 255, .7);
}
#gNavPc .navList .item a.current
{
    background-color: white;
}
#gNavPc .navList .item a span
{ font-family: 'Spectral SC', serif; font-size: 1.8rem; font-weight: 500; 

    display: block; margin-bottom: 7px;
}
@media screen and (max-width: 1300px)
{
    #gNavPc .navList .item{
    width: 135px;
    }
}
@media screen and (min-width: 600px)
{
    #gHeader .hdInfo .hdInfoIn .hdInfoTel {
        width: 200px;
        margin-left: 1px;
        padding: 25px 23px;
        background-color: #1e426f;
        display: inline-block; 
    }
    #gHeader .hdInfo .hdInfoIn .hdInfoTel .telNum {
        font-size: 1.2rem; line-height: 1.25; color: #fff;
    }  #gHeader .hdInfo .hdInfoIn .hdInfoTel .telNum:nth-of-type(1)
    {
        margin-bottom: 13px;
    }  #gHeader .hdInfo .hdInfoIn .hdInfoTel .telNum span
    {
        display: inline-block; padding: 0 6px;
    }
    #gHeader .hdInfo .hdInfoIn .hdInfoTel .telNum img {
        display: block;
        margin-top: 5px;
        margin-left: 10px;
    }
}


/*!  #mainImg 下層ページ
================================================ */
/*!  #mainimg
================================================ */
@media screen and (max-width: 599px)
{
    #mainimg
    { position: relative; 

        height: 200px; border-bottom: 5px solid #bd9e6a;
    }  #mainimg .itemImg
    {
        width: 100%; max-width: 2560px; height: 200px;
    }  #mainimg .itemImg span
    {
        display: block; height: 100%; background-position: center center; background-size: cover;
    }  #mainimg .mainTxt
    { line-height: 1; 

        position: absolute; top: 50%; left: 50%; -webkit-transform: translateX(-50%) translateY(-50%);         transform: translateX(-50%) translateY(-50%); text-align: center;
    }  #mainimg .mainTxt span
    { font-family: 'Spectral SC', serif; line-height: 1; position: relative; 

        display: block; margin-top: 32px; color: #fff; text-shadow: 0 0 4px #333;
    }  #mainimg .mainTxt span:before
    { position: absolute; top: -16px; left: 50%; display: block; width: 125px; height: 2px; 

        content: ''; -webkit-transform: translateX(-50%);         transform: translateX(-50%); background-color: #fff;
    }
}
@media screen and (min-width: 600px)
{
    #mainimg
    { position: relative; 

        height: 500px; border-bottom: 5px solid #bd9e6a;
    }  #mainimg .itemImg
    {
        height: 500px;
    }  #mainimg .itemImg span
    {
        display: block; height: 100%; background-position: center center; background-size: cover;
    }  #mainimg .mainTxt
    { line-height: 1; 

        position: absolute; top: 50%; left: 50%; margin-top: -37px; -webkit-transform: translateX(-50%);         transform: translateX(-50%); text-align: center;
    }  #mainimg .mainTxt span
    { font-family: 'Spectral SC', serif; font-size: 2.2rem; line-height: 1; position: relative; 

        display: block; margin-top: 50px; color: #fff; text-shadow: 0 0 4px #333;
    }  #mainimg .mainTxt span:before
    { position: absolute; top: -30px; left: 50%; display: block; width: 250px; height: 2px; 

        content: ''; -webkit-transform: translateX(-50%);         transform: translateX(-50%); background-color: #fff;
    }
}
/*!  #breadcrumb
================================================ */
#breadcrumb
{
    border-bottom: 1px solid rgba(0, 0, 0, .07);
}
#breadcrumb ol
{ overflow: hidden; 

    width: 1100px; margin: 0 auto; padding: 20px 0;
}
#breadcrumb ol li
{ font-size: 12px; line-height: 1.2; display: inline-block; 
    float: left;
}
#breadcrumb ol li + li
{ position: relative; 

    padding-left: 22px;
}
#breadcrumb ol li + li:before
{ position: absolute; top: 50%; left: 6px; display: block; width: 5px; height: 5px; margin-top: -3px; 

    content: ''; -webkit-transform: rotate(-45deg);         transform: rotate(-45deg); border-right: 1px solid #dddcdc; border-bottom: 1px solid #dddcdc;
}
#breadcrumb ol li a
{ display: inline-block; text-decoration: none; 

    color: #274878;
}
/*!  #gFooter
================================================ */
#gFooter
{ color: #fff; 
    background-color: #162f55;
}
@media screen and (min-width: 600px)
{
    #gFooter
    {
        background-color: #1e426f;
    }
}
@media screen and (min-width: 600px)
{
    #gFooter .pagetop
    {
        position: absolute; z-index: 100; right: 50px; bottom: -50px; width: 50px; height: 50px;
    }
}
#gFooter .pagetop a
{ position: relative; 

    display: block; overflow: hidden; white-space: nowrap; text-indent: 100%;
}
@media screen and (max-width: 599px)
{
    #gFooter .pagetop a
    {
        height: 35px; border-top: 1px solid #3e5578; border-bottom: 1px solid #3e5578; background-color: rgba(77, 99, 132, .5);
    }  #gFooter .pagetop a:before
    { position: absolute; top: 50%; left: 50%; display: inline-block; width: 10px; height: 10px; margin-top: -2px; 

        content: ''; -webkit-transform: translateX(-50%) rotate(-45deg);         transform: translateX(-50%) rotate(-45deg); border-top: 2px solid #fff; border-right: 2px solid #fff;
    }
}
@media screen and (min-width: 600px)
{
    #gFooter .pagetop a
    { height: 100%; 

        background-color: #1a3a66;
    }  #gFooter .pagetop a:before
    { position: absolute; top: 50%; left: 50%; display: block; width: 13px; height: 13px; margin-top: -4px; 

        content: ''; -webkit-transform: translateX(-50%) rotate(-45deg);         transform: translateX(-50%) rotate(-45deg); border-top: 2px solid #fff; border-right: 2px solid #fff;
    }
}
@media screen and (min-width: 600px)
{
    #gFooter .ftIn
    {
        width: 1100px; margin: 0 auto;
    }
}
#gFooter .ftIn .ftLogo
{
    text-align: center;
}
@media screen and (max-width: 599px)
{
    #gFooter .ftIn .ftLogo
    {
        padding-top: 20px; padding-bottom: 17px;
    }  #gFooter .ftIn .ftLogo img
    {
        width: 126px;
    }
}
@media screen and (min-width: 600px)
{
    #gFooter .ftIn .ftLogo
    {
        padding-top: 40px; padding-bottom: 33px;
    }
}
#gFooter .ftIn #ftNav .ftList
{
    display: -webkit-box;    display: -ms-flexbox;    display: flex;
}
#gFooter .ftIn #ftNav .ftList .item a
{
    color: #fff;
}
@media screen and (max-width: 599px)
{
    #gFooter .ftIn #ftNav .ftList
    {
        -ms-flex-wrap: wrap;            flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
    }  #gFooter .ftIn #ftNav .ftList .item
    {
        width: 50%; border-bottom: 1px solid #162e51; border-left: 1px solid #162e51; background-color: #1a3862;
    }  #gFooter .ftIn #ftNav .ftList .item:nth-child(-n+2)
    {
        border-top: 1px solid #162e51;
    }  #gFooter .ftIn #ftNav .ftList .item:nth-child(odd)
    {
        border-left: none;
    }  #gFooter .ftIn #ftNav .ftList .item a
    { font-size: 1.2rem; line-height: 1; position: relative; 

        display: block; padding: 19px 0 19px 10px;
    }  #gFooter .ftIn #ftNav .ftList .item a:after
    { position: absolute; top: 50%; right: 10px; display: block; width: 5px; height: 5px; 

        content: ''; -webkit-transform: translateY(-50%) rotate(-45deg);         transform: translateY(-50%) rotate(-45deg); border-right: 1px solid #fff; border-bottom: 1px solid #fff;
    }
}
@media screen and (min-width: 600px)
{
    #gFooter .ftIn #ftNav
    {
        margin-bottom: 30px;
    }  #gFooter .ftIn #ftNav .ftList
    {
        -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    }  #gFooter .ftIn #ftNav .item:nth-child(1) a
    {
        border-left: none;
    }  #gFooter .ftIn #ftNav .item a
    { font-size: 1.5rem; font-weight: 300; line-height: 1; 

        display: inline-block; padding: 0 25px; border-left: 1px solid #627b9a;
    }
}
#gFooter .copyright
{
    /* overflow: hidden; white-space: nowrap; text-indent: 100%; */ text-align:center;
}
@media screen and (max-width: 599px)
{
    #gFooter .copyright
    { height: 70px; 
        padding: 15px 0; /* background: url(../img/common/footer/txt_copyright_sp.png) center top 15px no-repeat; background-size: 165px auto; */
    }
}
@media screen and (min-width: 600px)
{
    #gFooter .copyright
    { height: 63px; 
        padding: 24px 0; background: #1a3a66/*  url(../img/common/footer/txt_copyright_pc.png) center top 24px no-repeat */;
    }
}
/*============================================================= 05_helper =============================================================*/
/*!  .js-name
================================================ */
/*============================================================= 06_lib =============================================================*/
