@charset "utf-8";
/* =========================================================================================================================================== */
/* CSS変数                                                                                                                                      */
/* =========================================================================================================================================== */
:root {
    --font-YuGothic    :  "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;


    --font-weight-regular : 400;
    --font-weight-bold    : 700;
    --font-weight-black   : 900;
    
    --font-size-normal    : 16px;

    --width-100           : calc(100% - 140px);
    --content-width-1     : 1780px;
    --content-width-2     : 1300px;
    --content-width-3     : 1200px;
    --content-width-4     : 980px;
    --content-width-5     : 400px;
    --content-width-6     : 320px;

    --color-black1        : #000000;
    --color-black2        : #333333;
    --color-black3        : #222222;
    --color-gray1         : #d3d3d3;
    --color-gray2         : #c8c8c8;
    --color-gray3         : #585858;
    --color-gray4         : #d7d7d7;
/* <!-- 23.03.06 ここから --> */
    --color-gray5         : #acacac;
/* <!-- 23.03.06 ここまで --> */
    --color-red1          : #d20b17;
    /* --color-black2        : #222222;
    --color-gray2         : #c8c8c8;
    --color-gray3         : #f5f5f5;
    --color-gray4         : #dfe1e1;
    --color-gray5         : #d9d9d9;
    --color-gray6         : #737373;
    --color-gray7         : #e0e0e0;
    --color-blue1         : #0093c9;
    --color-blue2         : #97bfd5;
    --color-blue3         : #0054b2;
    --color-green1        : #099733; */
    --color-white         : #ffffff;


    --zindex-header       : 100;
    --zindex-gnavi        : 200;
    --zindex-btn-gnavi    : 300;

    --radius-1: 40px;
    --radius-2: 6px;
    --radius-3: 8px;
/* <!-- 23.03.06 ここから --> */
    --radius-4: 4px;
/* <!-- 23.03.06 ここまで --> */

}
@media (max-width: 1023px){
    :root {
        --width-100           : calc(100% - 80px);
        --font-size-normal    : 14px;

        --header-height       : 84px;

        --radius-1: 8px;
        --radius-2: 6px;
        --radius-3: 8px;
    }    
}


/* =========================================================================================================================================== */
/* サイト共通デザイン　                                                                                                                             */
/* =========================================================================================================================================== */
* {
    box-sizing: border-box;
}


/* ------------------------------------------------------------- */
/* 切り替え                                                        */
/* ------------------------------------------------------------- */
.pc_only   { display: block;  }
.pc_none   { display: none;   }
.pc_inline { display: inline; }
.sp_only   { display: none;   }
.sp_none   { display: block; }
@media (max-width: 1023px) {
    .pc_only   { display: none;  }
    .pc_none   { display: block; }
    .pc_inline { display: none;  }
    .sp_only   { display: none;  }
    .sp_none   { display: block; }
}
@media (max-width: 767px) {
    .pc_only   { display: none;  }
    .pc_none   { display: block; }
    .pc_inline { display: none;  }
    .sp_only   { display: block; }
    .sp_none   { display: none;  }
}


/* ------------------------------------------------------------- */
/* 全体                                                           */
/* ------------------------------------------------------------- */
html {
    font-size: 62.5%;
}
body{
    position: relative;
    margin: 0;
    font-family: var(--font-YuGothic);
    font-size: var(--font-size-normal);
    font-size: 1.6rem; 
    font-weight: var(--font-weight-regular);
    line-height: 1.75;
    color: var(--color-black2);
    overflow-x: hidden;
}
main{
    overflow: hidden;
}

/* ------------------------------------------------------------- */
/* INVIEW用　                                                     */
/* ------------------------------------------------------------- */
.fade {
    opacity: 0;
    transition: .8s;
    transform: translate(0, 100px);
}
/* 方向＆距離系：重複不可 */
.fade.fade-up-50 {
    transform: translate(0, 50px);
}
.fade.fade-right-50 {
    transform: translate(-50px, 0);
}
.fade.fade-left-50 {
    transform: translate(50px, 0);
}
.fade.fade-down-50 {
    transform: translate(0, -50px);
}
/* 遅れ系 */
.fade.fade-delay {
    transition-delay: .1s;
}
.fade.fade-delay-500 {
    transition-delay: .5s;
}
.fade.fade-delay-800 {
    transition-delay: .8s;
}
.fade.fade-delay-1000 {
    transition-delay: 1s;
}
/* 表示用*/
.fade.fade-in {
    opacity: 1;
    transform: translate(0, 0);
}


/* ------------------------------------------------------------- */
/* 装飾                                                           */
/* ------------------------------------------------------------- */
@media all {
    .mb-10  { margin-bottom:  10px !important; }
    .mb-20  { margin-bottom:  20px !important; }
    .mb-30  { margin-bottom:  30px !important; }
    .mb-40  { margin-bottom:  40px !important; }
    .mb-50  { margin-bottom:  50px !important; }
    .mb-60  { margin-bottom:  60px !important; }
    .mb-70  { margin-bottom:  70px !important; }
    .mb-80  { margin-bottom:  80px !important; }
    .mb-90  { margin-bottom:  90px !important; }
    .mb-100 { margin-bottom: 100px !important; }


    /* text-align */
    .ta-left   { text-align: left !important;   }
    .ta-center { text-align: center !important; }
    .ta-right  { text-align: right !important;  }
}
@media (max-width: 767px) {
   
}


/* ------------------------------------------------------------- */
/* 画像                                                           */
/* ------------------------------------------------------------- */
img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}


/* ------------------------------------------------------------- */
/* リンク　                                                        */
/* ------------------------------------------------------------- */
a {
    text-decoration: none;
    color: var(--color-black1);
}
a:hover,
a:hover img {
    opacity: 0.7;
}


/* ------------------------------------------------------------- */
/* 文章                                                           */
/* ------------------------------------------------------------- */
/* TYPE1 */
@media all {
    p.type1 {
        font-size: 18px;
        line-height: 36px;
        padding-bottom: 36px;
    }
}
@media (max-width: 1023px) {
    p.type1 {
        font-size: 14px;
        line-height: 22px;
        padding-bottom: 22px;
    }
}


/* TYPE2 */
@media all {
    p.type2 {
        font-size: 20px;
        line-height: 32px;
        padding-bottom: 32px;
    }
}
@media (max-width: 1023px) {
    p.type2 {
        font-size: 14px;
        line-height: 22px;
        padding-bottom: 22px;
    }
}


/* TYPE3 */
@media all {
    p.type3 {
        font-size: 20px;
        line-height: 36px;
        padding-bottom: 36px;
    }
}
@media (max-width: 1023px) {
    p.type3 {
        font-size: 14px;
        line-height: 22px;
        padding-bottom: 22px;
    }
}


/* ------------------------------------------------------------- */
/* H1                                                            */
/* ------------------------------------------------------------- */
/* TYPE1 */
@media all {
    .h1_type1 {
        width: 457px;
        text-align: center;
        background-color: rgba(210, 11, 23, 0.85);
        border-radius: var(--radius-2);
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        padding: 22px 0;
    }
    .h1_type1 .ja {
        font-size: 40px;
        line-height: 1.1;
        font-weight: var(--font-weight-bold);
        color: var(--color-white);
        padding-bottom: 8px;
    }
    .h1_type1 .en {
        font-size: 16px;
        line-height: 1.1;
        font-weight: var(--font-weight-bold);
        color: var(--color-white);
    }
}
@media (max-width: 1023px){
    .h1_type1 {
        width: 241px;
        padding: 10px 0px;
    }
    .h1_type1 .ja {
        font-size: 18px;
        padding-bottom: 4px;
    }
    .h1_type1 .en {
        font-size: 12px;
    }
}


/* ------------------------------------------------------------- */
/* H2                                                            */
/* ------------------------------------------------------------- */
/* TYPE1 */
@media all {
    .h2_type1 {
        position: relative;
    }
    .h2_type1 img {
        position: absolute;
        width: 226px;
        top: -30px;
        left: -105px;
    }
    .h2_type1 h2 {
        font-size: 40px;
        line-height: 54px;
        font-weight: var(--font-weight-bold);
        text-align: center;
        padding-bottom: 20px;
    }
}
@media (max-width: 1195px){
    .h2_type1 img {
        position: relative;
        left: 0;
        top: 0;
        right: 0;
        margin: auto;
        display: block;
        padding-bottom: 11px;
    }
}
@media (max-width: 1023px){
    .h2_type1 img {
        width: 128px;
    }
    .h2_type1 h2 {
        font-size: 16px;
        line-height: 26px;
        padding-bottom: 13px;
    }
}


/* TYPE2 */
@media all {
    .h2_type2 {
        text-align: center;
        padding-bottom: 60px;
    }
    .h2_type2 img {
        width: 368px;
        padding-bottom: 19px;
    }
    .h2_type2 h2 {
        font-size: 50px;
        font-weight: var(--font-weight-bold);
        line-height: 1;
        padding-bottom: 5px;
    }
    .h2_type2 p {
        font-size: 26px;
        font-weight: var(--font-weight-bold);
    }
}
@media (max-width: 1023px) {
    .h2_type2 {
        padding-bottom: 20px;
    }
    .h2_type2 img {
        width: 148px;
        padding-bottom: 3px;
    }
    .h2_type2 h2 {
        font-size: 18px;
    }
    .h2_type2 p {
        font-size: 14px;
    }
}


/* TYPE3 */
@media all {
    .h2_type3 {
        text-align: center;
        font-size: 34px;
        font-weight: var(--font-weight-bold);
        line-height: 1;
    }
}
@media (max-width: 1023px) {
    .h2_type3 {
        font-size: 15px;
    }
}


/* TYPE4 */
@media all {
    .h2_type4 {
        display: flex;
    }
    .h2_type4 .icon {
        width: 110px;
        height: 110px;
        border-radius: 50%;
        background-color: var(--color-red1);
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 14px;
        line-height: 1;
        color: var(--color-white);
    }
    .h2_type4 h2 {
        padding-left: 20px;
        display: flex;
        align-items: center;
        font-size: 34px;
        font-weight: var(--font-weight-bold);
        color: var(--color-black1);
    }
}
@media (max-width: 1023px) {
    .h2_type4 .icon {
        width: 80px;
        height: 80px;
        font-size: 10px;
    }
    .h2_type4 h2 {
        padding-left: 14px;
        font-size: 18px;
    }
}


/* ------------------------------------------------------------- */
/* リスト　                                                        */
/* ------------------------------------------------------------- */
/* TYPE1 */
@media all {
    .list_type1 ul {
        width: var(--width-100);
        margin: 0 auto;
        max-width: 1755px;
        display: flex;
        justify-content: center;
    }
    .list_type1 ul li {
        width: calc((100% - 60px) / 3);
        margin: 0 20px;
    }
    .list_type1 ul li:nth-child(odd) {
        margin-top: 63px;
    }
    .list_type1 ul li figure {
        transform: skewX(-9deg);
        overflow: hidden;
        width: 100%;
        height: 0;
        position: relative;
        padding-top: 100%;
    }
    .list_type1 ul li figure img {
        transform: skewX(9deg);
        width: calc(100% + 4.7vw);
        position: absolute;
        left: -2.4vw;
        top: 0;
        display: block;
    }
    .list_type1 ul li figcaption {
        width: 231px;
        height: 41px;
        position: absolute;
        transform: skewX(9deg);
        bottom: 14px;
        right: 15px;
        background-color: var(--color-black1);
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 14px;
        line-height: 1;
        color: var(--color-white);
    }
    .list_type1 ul li p {
        padding-top: 22px;
        width: 84.5%;
    }
}
@media (max-width: 1023px) {
    .list_type1 ul {
        display: block;
        margin: 0 auto;
    }
    .list_type1 ul li {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 32px;
    }
    .list_type1 ul li:nth-child(odd) {
        margin-top: 0;
    }
    .list_type1 ul li figure {
        width: 220px;
        margin: 0 auto;
        padding-top: 220px;
    }
    .list_type1 ul li figure img {
        width: 256px;
        left: -18px;
    }
    .list_type1 ul li figcaption {
        width: 172px;
        height: 32px;
        font-size: 12px;
        left: 0;
        right: 0;
        margin: auto;
        bottom: 12px;
    }
    .list_type1 ul li p {
        width: 100%;
        padding-top: 15px;
        padding-bottom: 0;
    }
}


/* ------------------------------------------------------------- */
/* ボタン　                                                        */
/* ------------------------------------------------------------- */
/* TYPE1 */
@media all {
    .button_type1 a {
        width: 243px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        font-size: 14px;
        font-weight: var(--font-weight-bold);
        border: solid 1px var(--color-gray3);
        color: var(--color-black2);
        position: relative;
        padding-right: 34px;
    }
    .button_type1 a::before {
        content: "";
        display: block;
        width: 33px;
        height: 1px;
        position: absolute;
        background-color: var(--color-black2);
        right: 50px;
        bottom: 15px;
    }
    .button_type1 a::after {
        content: "";
        display: block;
        width: 13px;
        height: 1px;
        background-color: var(--color-black2);
        transform: rotate(-149deg);
        right: 49px;
        position: absolute;
        bottom: 18px;
    }

    
    /* TO CORPORATE SITEボタン*/
    .button_type1.corp a::before {
        right: 20px;
    }
    
    .button_type1.corp a::after {
        right: 19px;
    }


    /* hover動作 */
    @keyframes hover_bg {
        0%  {
          width: 0%;
          left: 0;
        }
        40%  {
          width: 100%;
          right: 0;
        }
        60%  {
          width: 100%;
          right: 0;
        }
        100%  {
          width: 0%;
          left: auto;
          right:0;
        }
      }
      .button_type1 a span {
          display: block;
          width: 100%;
          height: 100%;
          position: absolute;
          background-color: var(--color-red1);
          left: 0;
          top: 0;
          width: 0;
          z-index: -1;
      }
      .button_type1 a:hover {
          opacity: 1;
      }
      .button_type1 a:hover span {
          animation: hover_bg 0.8s 1 linear;
      }
}
@media ( max-width: 1023px) {
    .button_type1 a {
        width: 186px;
        height: 33px;
        font-size: 12px;
        padding-right: 11px;
    }
    .button_type1 a::before {
        width: 21px;
        right: 36px;
        bottom: 13px;
    }
    .button_type1 a::after {
        width: 8px;
        right: 36px;
        bottom: 15px;
    }
    

    /* TO CORPORATE SITEボタン*/
    .button_type1.corp a::before {
        right: 7px;
    }
    .button_type1.corp a::after {
        right: 6px;
    }
}


/* ------------------------------------------------------------- */
/* ブロック                                                        */
/* ------------------------------------------------------------- */
/* TYPE1 */
@media all {
    .blk_type1-inner {
        width: var(--width-100);
        max-width: var(--content-width-3);
        margin: 0 auto;
    }
    .blk_type1 ul li {
        display: flex;
        flex-wrap: wrap;
        padding-bottom: 130px;
    }
    .blk_type1 ul li figure {
        width: 410px;
    }
    .blk_type1 ul li figure img {
        max-width: 360px;
        margin: 0 auto;
        display: block;
        border-radius: var(--radius-3);
    }
    .blk_type1 ul li figure figcaption {
        width: 100%;
        height: 138px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        margin-top: -20px;
        position: relative;
        background-image: url('../img/about/ill6.png');
        background-size: contain;
        background-repeat: no-repeat;
    }
    .blk_type1 ul li figure figcaption .groupname {
        font-size: 14px;
        line-height: 20px;
    }
    .blk_type1 ul li figure figcaption .position {
        font-size: 14px;
        line-height: 20px;
        padding-bottom: 8px;
    }
    .blk_type1 ul li figure figcaption .name_ja {
        font-size: 24px;
        font-weight: var(--font-weight-bold);
        line-height: 1;
        padding-bottom: 8px;
    }
    .blk_type1 ul li figure figcaption .name_en {
        font-size: 12px;
        line-height: 1;
    }
    .blk_type1 ul li .content {
        width: calc(100% - 410px);
        padding-left: 80px;
        position: relative;
    }
    .blk_type1 ul li .content p.type3 {
        padding-bottom: 150px;
    }
    .blk_type1 ul li .content .illust {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
    }
    

    /* 偶数行 */
    .blk_type1 ul li:nth-child(even) figure {
        order: 1;
    }
    .blk_type1 ul li:nth-child(even) .content {
        padding: 0;
        padding-right: 80px;
    }


    /* 行ごと */
    .blk_type1 ul li:nth-child(1) .content .illust {
        width: 77px;
        bottom: -43px;
    }
    .blk_type1 ul li:nth-child(2) .content .illust {
        width: 149px;
        bottom: 8px;
    }
    .blk_type1 ul li:nth-child(3) .content .illust {
        width: 191px;
        bottom: -12px;
    }
    .blk_type1 ul li:nth-child(4) .content .illust {
        width: 69px;
        bottom: -26px;
    }
    
}
@media (max-width: 1023px) {
    .blk_type1 ul li {
        display: block;
        padding-bottom: 40px;
    }
    .blk_type1 ul li figure {
        max-width: 308px;
        margin: 0 auto;
        padding-bottom: 24px;
    }
    .blk_type1 ul li figure img {
        max-width: 275px;
    }
    .blk_type1 ul li figure figcaption {
        height: 103px;
    }
    .blk_type1 ul li figure figcaption .groupname {
        line-height: 18px;
    }
    .blk_type1 ul li figure figcaption .position {
        line-height: 18px;
        padding-bottom: 5px;
    }
    .blk_type1 ul li figure figcaption .name_ja {
        font-size: 16px;
        padding-bottom: 5px;
    }
    .blk_type1 ul li .content {
        width: 100%;
        padding: 0;
    }
    .blk_type1 ul li .content .illust {
        position: unset;
    }


    /* 偶数行 */
    .blk_type1 ul li:nth-child(even) .content {
        padding: 0;
    }
}


/* TYPE2 */
@media all {
    .blk_type2-inner {
        width: var(--width-100);
        max-width: var(--content-width-4);
        margin: 0 auto;
    }
    .blk_type2 ul li {
        padding-bottom: 150px;
    }
    .blk_type2 ul li:last-child {
        padding-bottom: 0;
    }
    .blk_type2 ul li .h2_type5 {
        display: flex;
        justify-content: center;
        align-items: center;
        padding-bottom: 25px;
    }
    
    .blk_type2 ul li .h2_type5 figure {
        width: 96px;
        padding-right: 10px;
    }
    
    .blk_type2 ul li .h2_type5 h2 {
        font-size: 30px;
        font-weight: var(--font-weight-bold);
    }
    
    .blk_type2 ul li > figure {
        max-width: 475px;
        margin: 0 auto;
        padding-bottom: 45px;
    }
    .blk_type2 ul li > figure img {
        border-radius: var(--radius-3);
        position: relative;
        z-index: -1;
    }
    .blk_type2 ul li > figure figcaption {
        width: 410px;
        height: 138px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        margin: 0 auto;
        margin-top: -27px;
        /* position: relative; */
        background-image: url('../img/about/ill6.png');
        background-size: contain;
        background-repeat: no-repeat;
    }
    .blk_type2 ul li > figure figcaption .groupname {
        font-size: 14px;
        line-height: 20px;
    }
    .blk_type2 ul li > figure figcaption .position {
        font-size: 14px;
        line-height: 20px;
        padding-bottom: 8px;
    }
    .blk_type2 ul li > figure figcaption .name_ja {
        font-size: 24px;
        font-weight: var(--font-weight-bold);
        line-height: 1;
        padding-bottom: 8px;
    }
    .blk_type2 ul li > figure figcaption .name_en {
        font-size: 12px;
        line-height: 1;
    }
}
@media (max-width: 1023px) {
    .blk_type2 ul li {
        padding-bottom: 58px;
    }
    .blk_type2 ul li .h2_type5 {
        padding-bottom: 18px;
    }
    .blk_type2 ul li .h2_type5 figure {
        width: 48px;
        padding-right: 9px;
    }
    .blk_type2 ul li .h2_type5 h2 {
        font-size: 18px;
    }
    .blk_type2 ul li > figure {
        max-width: 405px;
    }
    .blk_type2 ul li > figure figcaption {
        width: calc(100% - 20px);
        max-width: 308px;
        height: 103px;
    }
    .blk_type2 ul li > figure figcaption .groupname {
        line-height: 18px;
    }
    .blk_type2 ul li > figure figcaption .position {
        line-height: 18px;
        padding-bottom: 5px;
    }
    .blk_type2 ul li > figure figcaption .name_ja {
        font-size: 16px;
        padding-bottom: 5px;
    }
}


/* =========================================================================================================================================== */
/* トップページ                                                                                                                                   */
/* =========================================================================================================================================== */

/* ------------------------------------------------------------- */
/* キービジュアル　                                                  */
/* ------------------------------------------------------------- */
@media all {
    #page-top #keyvisual {
        position: relative;
    }
    #page-top #keyvisual figcaption {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
    #page-top #keyvisual figcaption img:first-child {
        width: 390px;
        margin: 0 auto;
        display: block;
        padding-bottom: 83px;
    }
    #page-top #keyvisual figcaption img:last-child {
        width: 908px;
        margin: 0 auto;
        display: block;
    }
}
@media (max-width: 1023px) {
    #page-top #keyvisual figcaption img:first-child {
        width: 180px;
        padding-bottom: 19px;
    }
    #page-top #keyvisual figcaption img:last-child {
        width: 310px;
    }
}


/* ------------------------------------------------------------- */
/* 創立５５周年                                                     */
/* ------------------------------------------------------------- */
@media all {
    #page-top #thanks {
        padding-top: 124px;
        padding-bottom: 114px;
    }
    #page-top .thanks-inner {
        max-width: var(--content-width-4);
        margin: 0 auto;
        width: var(--width-100);
    }
}
@media (max-width: 1023px) {
    #page-top #thanks {
        padding-top: 36px;
        padding-bottom: 36px;
    }
}


/* ------------------------------------------------------------- */
/* ５５周年記念ロゴマーク　                                            */
/* ------------------------------------------------------------- */
@media all {
    #page-top #logo_55 {
        width: var(--width-100);
        margin: 0 auto;
        max-width: var(--content-width-2);
        margin-top: 123px;
        padding: 50px;
        background-color: var(--color-gray4);
        margin-bottom: 155px;
    }
    #page-top .logo_55-inner {
        background-color: var(--color-white);
        border-radius: var(--radius-1);
        padding: 0 50px;
        padding-top: 69px;
    }
    #page-top #logo_55 .h2_type3 {
        padding-bottom: 34px;
    }
    #page-top #logo_55 figure {
        max-width: 183px;
        margin: 0 auto;
        padding-bottom: 35px;
    }
    #page-top #logo_55 p {
        max-width: 986px;
        margin: 0 auto;
        padding-bottom: 55px;
    }
}
@media (max-width: 1023px) {
    #page-top #logo_55 {
        padding: 20px;
        margin-bottom: 49px;
    }
    #page-top .logo_55-inner {
        padding: 0 30px;
        padding-top: 30px;
    }
    #page-top #logo_55 .h2_type3 {
        padding-bottom: 20px;
    }
    #page-top #logo_55 figure {
        max-width: 91px;
        padding-bottom: 20px;
    }
    #page-top #logo_55 p {
        padding-bottom: 20px;
    }
}


/* ------------------------------------------------------------- */
/* わたしたちについて　                                               */
/* ------------------------------------------------------------- */
@media all {
    #page-top .aboutus-inner {
        width: var(--width-100);
        margin: 0 auto;
    }
    #page-top #aboutus ul li {
        display: flex;
        position: relative;
        flex-wrap: wrap;
        padding-bottom: 80px;
    }
    #page-top #aboutus ul li figure {
        width: calc(50% + 92px);
        position: relative;
    }
    #page-top #aboutus ul li .content {
        width: calc(50% - 92px);
        align-items: center;
    }
    #page-top #aboutus ul li:nth-child(odd) figure {
        order: 2;
    }
    #page-top #aboutus ul li figure img {
        width: calc(100% + 70px);
    }
    #page-top #aboutus ul li .content .h2_type4 {
        max-width: 490px;
        padding-right: 70px;
        margin-left: auto;
        padding-bottom: 27px;
    }
    #page-top #aboutus ul li .content p {
        max-width: 490px;
        padding-right: 70px;
        margin-left: auto;
        padding-bottom: 48px;
    }
    #page-top #aboutus ul li .content .button_type1 {
        max-width: 490px;
        padding-right: 70px;
        margin-left: auto;
        padding-bottom: 122px;
    }
    #page-top #aboutus ul li .content .button_type1 a {
        margin-left: 0;
    }

    
    /* 偶数行用 */
    #page-top #aboutus ul li:nth-child(even) figure img {
        position: absolute;
        right: 0;
    }
    #page-top #aboutus ul li:nth-child(even) .content .h2_type4 {
        padding-left: 70px;
        padding-right: 0;
        margin-right: auto;
        margin-left: 0;
    }
    #page-top #aboutus ul li:nth-child(even) .content p {
        padding-left: 70px;
        padding-right: 0;
        margin-right: auto;
        margin-left: 0;
    }
    #page-top #aboutus ul li:nth-child(even) .content .button_type1 {
        padding-left: 70px;
        padding-right: 0;
        margin-right: auto;
        margin-left: 0;
    }
    #page-top #aboutus ul li:nth-child(even) .content .illust {
        margin-left: auto;
    }


    /* 行ごと */
    #page-top #aboutus ul li:nth-child(1) .content .illust {
        max-width: 416px;
    }
    #page-top #aboutus ul li:nth-child(2) .content .illust {
        max-width: 383px;
    }
    #page-top #aboutus ul li:nth-child(3) .content .illust {
        max-width: 456px;
    }
    #page-top #aboutus ul li:nth-child(4) .content .button_type1 {
        padding-bottom: 40px;
    }
    #page-top #aboutus ul li:nth-child(4) .content .illust {
        max-width: 356px;
        margin-left: 140px;
    }
}
@media (max-width: 1304px) {
    #page-top #aboutus ul li figure {
        width: calc(100% - 490px);
    }
    #page-top #aboutus ul li .content {
        width: 490px;
    }
}
@media (max-width: 1023px) {
    #page-top #aboutus ul li {
        display: block;
        padding-bottom: 24px;
    }
    #page-top #aboutus ul li figure {
        width: 100%;
    }
    #page-top #aboutus ul li figure img {
        width: 100%;
    }
    #page-top #aboutus ul li .content {
        width: 100%;
    }
    #page-top #aboutus ul li .content .h2_type4 {
        padding: 0;
        margin: 0;
        max-width: none;
        padding-top: 23px;
    }
    
    #page-top #aboutus ul li .content p {
        max-width: none;
        padding: 0;
        padding-top: 11px;
        padding-bottom: 20px;
    }
    #page-top #aboutus ul li .content .button_type1 {
        max-width: unset;
        padding: 0;
        padding-bottom: 34px;
    }


    /* 偶数行用 */
    #page-top #aboutus ul li:nth-child(even) figure img {
        position: relative;
    }
    #page-top #aboutus ul li:nth-child(even) .content .h2_type4 {
        padding-left: 0;
    }
    #page-top #aboutus ul li:nth-child(even) .content p {
        padding-left: 0;
    }
    #page-top #aboutus ul li:nth-child(even) .content .button_type1 {
        padding-left: 0;
    }


    /* 行ごと */
    #page-top #aboutus ul li:nth-child(1) .content .illust,
    #page-top #aboutus ul li:nth-child(2) .content .illust,
    #page-top #aboutus ul li:nth-child(3) .content .illust,
    #page-top #aboutus ul li:nth-child(4) .content .illust {
        max-width: 160px;
        margin: 0 auto;
    }
    
}