html { overflow-x: hidden; }
html,body { position: relative; }
.pageheader-sub{
    /*padding-top:6rem;*/
}
/*----------------------------------------------------

highlight

----------------------------------------------------*/
.subttl--num--01 {
    background: url(../../img/hi/subttl_hi_num01.png) no-repeat;
    padding-left: 60px;
}
.subttl--num--02 {
    background: url(../../img/hi/subttl_hi_num02.png) no-repeat;
    padding-left: 60px;
}
.subttl--num--03 {
    background: url(../../img/hi/subttl_hi_num03.png) no-repeat;
    padding-left: 60px;
}
.subttl--num--04 {
    background: url(../../img/hi/subttl_hi_num04.png) no-repeat;
    padding-left: 60px;
}


.page-template-highlight h2{
    margin-bottom:1vh;
}

.section--fixed p{
    margin-bottom:1.5em;
}
.section--fixed img{
    margin:20px 0;
}
.section--fixed figure > img{
    margin:0;
}
.section--fixed .subsection{
    margin-bottom: 0px;
}

/*----------------------------------------------------

text-alighn

----------------------------------------------------*/
.text--center{
    text-align: center;
}

/*----------------------------------------------------

img 幅固定

----------------------------------------------------*/
.img-responsive{
    width: 100%;
}
/*----------------------------------------------------

container 固定orリキッドのコンテナ

----------------------------------------------------*/
.section {
    position: relative;
    overflow-x: hidden;
}
.section--fixed{
    width: 100%;
    max-width: 40em;
    margin: 6rem auto 0;
    padding-bottom: 10rem;
    /*overflow-x: hidden;*/
}

/*----------------------------------------------------

subsection

----------------------------------------------------*/
.subsection{
    padding: 7rem 0;
}
/*----------------------------------------------------

footer

----------------------------------------------------*/
.page_footer{
    padding: 4rem 4rem 5rem;
    border-top: 1px solid #545454;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap:wrap;
        -ms-flex-wrap:wrap;
            flex-wrap:wrap;
    background: #fff;
}
/*----------------------------------------------------

Container

----------------------------------------------------*/
.container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
}
.container_half {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}
/*----------------------------------------------------

テキスト回り込み

----------------------------------------------------*/
.col--photo {
    width: 60%;
    float: left;
    margin-right: 50px;
}
/*----------------------------------------------------

flex 左右並べ

----------------------------------------------------*/

.flex {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
            flex-wrap: wrap;

    -ms-flex-align: start;
        -webkit-align-items: flex-start;
            align-items: flex-start;
}


/*---------------------------------------*/
.flex.is--end {
    -ms-flex-pack: end;
        -webkit-justify-content: flex-end;
            justify-content: flex-end;
}
.flex.is--between {
    -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
            justify-content: space-between;
}

.flex.is--center {
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center;
}
.flex.is--s_around {
            -webkit-justify-content: space-around;
                -ms-flex-pack: space-around;
                    justify-content: space-around;
}
/*---------------------------------------*/
.flex.is--a_center {
    -ms-flex-align: center;
        -webkit-align-items: center;
            align-items: center;
}
.flex.is--a_end {
    -ms-flex-align: end;
        -webkit-align-items: flex-end;
            align-items: flex-end;
}
.flex.is--a_stretch {
    -ms-flex-align: stretch;
        -webkit-align-items: stretch;
            align-items: stretch;
}

.flex.is--nowrap{
    -ms-flex-wrap: nowrap;
        -webkit-flex-wrap: nowrap;
            flex-wrap: nowrap;
}
.flex.is--col{
    -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
}

.flex.is--fixed{
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 10rem;
}
/*---------------------------------------*/
.is--self_end {
    -ms-flex-item-align: end;
        -webkit-align-self: flex-end;
            align-self: flex-end;
}
.is--self_center{
    -webkit-align-self: center;
        -ms-flex-item-align: center;
                -ms-grid-row-align: center;
            align-self: center;
}
/*---------------------------------------*/
.is--order_last {
    -ms-flex-order: 5;
        -webkit-order: 5;
            order: 5;
}
.is--pos_rel{
    position: relative;
}
/*-------------------------------------
grid
-------------------------------------*/
.grid {
    margin: 0;
}
.grid_item {
    padding-left: 0;
    padding-right: 0;
}
.grid--S {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
}
.grid--S .grid_item {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.grid--M {
    margin-right: -2rem;
    margin-left: -2rem;
}
.grid--M .grid_item {
    padding-left: 2rem;
    padding-right: 2rem;
}
.grid--L {
    margin-right: -8rem;
    margin-left: -8rem;
}
.grid--L .grid_item {
    padding-left: 6rem;
    padding-right: 6rem;
    flex:1;
}

.grid_item--inner { display: block; }
/*-------------------------------------
grid
-------------------------------------*/

.box--indent{
    padding-left: 6rem;
    padding-right: 6rem;
}
/*.section .width-grow:last-child .box--indent{
    padding-right: 0;
}*/
/*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


layout box Width


||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/
.width-1 {      width: calc(100% * 1 / 6); }
.width-1_half { width: calc(100% * 1.5 / 6);}
.width-2 {      width: calc(100% * 2 / 6); }
.width-2_half { width: calc(100% * 2.5 / 6); }
.width-3 {      width: calc(100% * 3 / 6); }
.width-3_half { width: calc(100% * 3.5 / 6); }
.width-4 {      width: calc(100% * 4 / 6); }
.width-4_half { width: calc(100% * 4.5 / 6); }
.width-5 {      width: calc(100% * 5 / 6); }
.width-5 {      width: calc(100% * 5.5 / 6); }
.width-6 {      width: 100%; }
.width-grow {
    -ms-flex: 1;
        -webkit-flex: 1;
            flex: 1;
}
.push-1{

}
/*===================
隙間サイズ
===================*/
.blank--S {
    margin-left: 2rem;
    margin-right: 2rem;
}
/*------------------------------
utility
------------------------------*/
.mar_T--S {
    margin-top: 3rem;
}
.mar_T--M {
    margin-top: 6rem;
}

.mar_T--L {
    margin-top: 9rem;
}
.mar_B--L {
    margin-bottom: 9rem;
}
.pad_L--S {
    padding-left: 2rem;
}
.pad-LR--M{
    padding-right: 3rem;
    padding-left: 3rem;
}
.pad-LR--L{
    padding-right: 6rem;
    padding-left: 6rem;
}