@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500&display=swap');

/* noto-sans-jp-regular - latin_japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: local('Noto Sans Japanese Regular'), local('NotoSansJapanese-Regular'),
       url('../fonts/NotoSansJP-Regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/NotoSansJP-Regular.woff') format('woff'); /* Modern Browsers */
}
/* noto-sans-jp-500 - latin_japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  src: local('Noto Sans Japanese Medium'), local('NotoSansJapanese-Medium'),
       url('../fonts/NotoSansJP-Medium.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/NotoSansJP-Medium.woff') format('woff'); /* Modern Browsers */
}
/* noto-sans-jp-700 - latin_japanese */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: local('Noto Sans Japanese Bold'), local('NotoSansJapanese-Bold'),
       url('../fonts/NotoSansJP-Bold.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/NotoSansJP-Bold.woff') format('woff'); /* Modern Browsers */
}

*,
*::before,
*::after {
  box-sizing: border-box;
  font-variant-ligatures: none;
  -webkit-text-size-adjust: 100%;
}
body {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 100%;
  font-weight: 400;
  color: #000;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
img {
  vertical-align: bottom;
  max-width: 100%;
}
img[src$=".svg"] {
  width: 100%;
  height: auto;
  flex-shrink: 0;
}

/* FONT
***************************************************************/
.sans {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
}
.serif {
  font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
}
.oswald {
  font-family: 'Oswald', sans-serif;
  font-weight: 400;
}

/* LINK
***************************************************************/
a {
  transition: 0.3s ease;
  text-decoration: none;
  color: #000;
}
a:active,
a:focus {
    outline: none;
}
a img {
  transition: 0.3s ease;
}

/* NONE
***************************************************************/
.none {
  display: none;
}
.linkNone {
  pointer-events: none;
}
@media all and (min-width: 600px) {
  .nonePC {
    display: none !important;
  }
  .linkNonePC {
    pointer-events: none;
  }
}
@media all and (max-width:599px) {
  .noneSP {
    display: none !important;
  }
  .linkNoneSP {
    pointer-events: none;
  }
}

/* clearfix
***************************************************************/
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/* Load Effect
***************************************************************/
@keyframes opacity {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
body {
  animation: opacity ease 1s forwards;
}

/* GoogleMap
***************************************************************/
.gm-style-pbt {
  text-align: center;
}
@media all and (max-width:599px) {
  .gm-style-pbt {
    font-size: 16px;
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* lazyload
***************************************************************/

.lazyload{
 opacity: 0;
}
.lazyloaded{
  opacity: 1;
  transition: opacity ease 0.3s;
}

/* フェード
***************************************************************/

@media all and (min-width: 600px) {
  .action.up {
    opacity: 0;
    transform: translate(0, 100px);
    transition: opacity 1000ms ease .25s, transform 1000ms ease .25s;
  }
  .action.left {
    opacity: 0;
    transform: translate(-100px, 0);
    transition: opacity 1000ms ease .25s, transform 1000ms ease .25s;
  }
  .action.right {
    opacity: 0;
    transform: translate(100px, 0);
    transition: opacity 1000ms ease .25s, transform 1000ms ease .25s;
  }
  .action.up.scrollin,
  .action.left.scrollin,
  .action.right.scrollin {
    opacity: 1;
    transform: translate(0, 0);
  }
  .action.delay1 {
    transition: opacity 1000ms ease .5s, transform 1000ms ease .5s;
  }
  .action.delay2 {
    transition: opacity 1000ms ease .75s, transform 1000ms ease .75s;
  }
  .action.delay3 {
    transition: opacity 1000ms ease 1s, transform 1000ms ease 1s;
  }
}

@media all and (max-width:599px) {
  .action.up_sp {
    opacity: 0;
    transform: translate(0, 50px);
    transition: opacity 750ms ease .25s, transform 750ms ease .25s;
  }
  .action.left_sp {
    opacity: 0;
    transform: translate(-50px, 0);
    transition: opacity 750ms ease .25s, transform 750ms ease .25s;
  }
  .action.right_sp {
    opacity: 0;
    transform: translate(50px, 0);
    transition: opacity 750ms ease .25s, transform 750ms ease .25s;
  }
  .action.up_sp.scrollin,
  .action.left_sp.scrollin,
  .action.right_sp.scrollin {
    opacity: 1;
    transform: translate(0, 0);
  }
  .action.delay1_sp {
    transition: opacity 750ms ease .5s, transform 750ms ease .5s;
  }
  .action.delay2_sp {
    transition: opacity 750ms ease .75s, transform 750ms ease .75s;
  }
  .action.delay3_sp {
    transition: opacity 750ms ease 1s, transform 750ms ease 1s;
  }
}


/*---------------------------- グローバルエリア ----------------------------*/


/* ヘッダー
***************************************************************/
@media all and (min-width: 600px) {
  body,
  .head {
    min-width: 1200px;
  }
  .head {
    width: 100%;
    background-color: #fff;
    border-bottom: solid 1px #000;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 4444;
  }
  .h_inner {
    width: 100%;
    height: 125px;
    padding: 0 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: height 0.3s ease;
  }
  .pageScroll .h_inner {
    height: 87px;
  }
  /* h_logo */
  .h_logo {
    width: 155px;
    transition: width 0.3s ease;
  }
  .pageScroll .h_logo {
    width: 140px;
  }
  .h_logo a {
    display: block;
  }
  .h_logo a:hover {
    opacity: .7;
  }
  /* h_navBox */
  .h_navBox {
    width: 930px;
    padding: 24px 0 0;
    transition: padding 0.3s ease;
  }
  .pageScroll .h_navBox {
    padding: 14px 0 0;
  }
  .h_navBox_inner {
    display: flex;
    flex-flow: wrap;
    align-items: center;
    justify-content: flex-end;
  }
  /* h_serch */
  .h_serch {
    position: relative;
    top: -8px;
    height: 20px;
  }
  /* .h_serch input[type="text"] {
    height: 20px;
    font-size: 16px;
    display: inline-block;
    font-weight: 100;
    border: none;
    outline: none;
    color: #555;
    padding: 3px;
    padding-right: 18px;
    width: 0px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    background: none;
    z-index: 3;
    transition: width .4s cubic-bezier(0.000, 0.795, 0.000, 1.000),background  0.3s ease;
    cursor: pointer;
  }
  .h_serch input[type="text"]:focus,
  .h_serch.on input[type="text"] {
    width: 528px;
    height: 37px;
    background-color: #ECECEC;
    color: #000;
    border-radius: 50px;
    padding: 10px 40px 10px 15px;
    right: -15px;
    z-index: 1;
    cursor: text;
  }
  .h_serch input[type="submit"] {
    height: 18px;
    width: 18px;
    display: inline-block;
    background-color: transparent;
    float: right;
    background-image: url(../img/common/ico_serch1.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    text-indent: -10000px;
    border: none;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    z-index: 2;
    cursor: pointer;
    transition: opacity .4s ease;
  }
  .h_serch input[type="submit"]:hover {
    opacity: .7;
  } */
  .gsc-control-cse {
    width: 300px!important;
    padding: 0!important;
    background: none!important;
    border: none!important;
    position: relative;
    z-index: 2;
  }
  table.gsc-search-box td.gsc-input {
    padding-right: 0!important;
  }
  .gsc-input-box {
    border: none!important;
    background: #ECECEC!important;
    height: 34px!important;
    padding: 0!important;
    border-radius: 50px 0 0 50px!important;
  }
  .gsib_a {
    padding: 0 0 0 10px!important;
    height: 34px!important;
  }
  .gscb_a {
    line-height: 34px!important;
  }
  #gsc-i-id1 {
    background-color: transparent!important;
    height: 34px!important;
    margin: 0!important;
  }
  .gsc-search-button-v2 {
    margin-left: 0!important;
    padding: 0 18px!important;
    height: 34px!important;
    border: none!important;
    border-radius: 0 50px 50px 0 !important;
    border-color: #ECECEC!important;
    background-color: #ECECEC!important;
    outline:0!important;
    cursor: pointer;
    transition: 0.3s ease;
  }
  .gsc-search-button-v2 svg {
    fill: #000!important;
    transition: fill 0.3s ease;
  }
  .gsc-results-wrapper-overlay {
    left: 0!important;
    right: 0!important;
    margin: auto!important;
  }
  /* h_lang */
  .h_lang {
    width: 110px;
    margin: 0 30px;
    display: flex;
    justify-content: space-between;
  }
  .h_lang .langBtn {
    width: 30px;
    display: block;
    font-size: 14px;
    text-align: center;
    line-height: 1;
    padding-bottom: 4px;
    color: #B1AFAF;
    position: relative;
  }
  .h_lang .langBtn::after {
    content: "";
    background-color: #000;
    width: 0;
    height: 2px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    margin: auto;
    transition: width 0.3s ease;
  }
  .h_lang .langBtn.current,
  .h_lang .langBtn:hover {
    color: #000;
  }
  .h_lang .langBtn.current::after,
  .h_lang .langBtn:hover::after {
    width: 100%;
  }
  /* h_subNav */
  .h_subNav {
    width: 230px;
    display: flex;
    justify-content: space-between;
  }
  .h_subNav .link1 {
    width: 110px;
    height: 26px;
    background-color: #086AAF;
    color: #fff;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0;
  }
  .h_subNav .link1.type2 {
    background-color: #E59323;
  }
  .h_subNav .link1:hover {
    background-color: #03253c;
  }
  .h_subNav .link1.type2:hover {
    background-color: #864e00;
  }
  /* gNav */
  .gNav {
    width: 100%;
  }
  .gNav .ul1 {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .gNav .link1 {
    display: block;
    padding: 23px 20px 24px;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0;
    line-height: 1.4;
    position: relative;
    transition: 0.3s ease;
  }
  .pageScroll .gNav .link1 {
    padding-top: 14px;
    padding-bottom: 12px;
  }
  .gNav .type_subNav:hover .link1,
  .gNav a.link1:hover,
  .gNav .current .link1 {
    color: #086AAF;
  }
  .gNav .link1::after {
    content: "";
    display: block;
    width: 0;
    height: 3px;
    background-color: #086AAF;
    position: absolute;
    top: 43px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transition: width 0.3s ease;
  }
  .gNav .type_subNav:hover .link1::after,
  .gNav a.link1:hover::after,
  .gNav .current .link1::after {
    width: calc(100% - 20px);
  }
  /* pcSubNav */
  .type_subNav {
    cursor: default;
  }
  .type_subNav::before {
    content: "";
    width: 100vw;
    height: calc(100vh - 126px);
    background-color: rgba(0,0,0,.85);
    position: fixed;
    top: 126px;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }
  .pageScroll .type_subNav::before {
    height: calc(100vh - 88px);
    top: 96px;
  }
  .type_subNav:hover::before {
    opacity: 1;
  }
  .pcSubNav {
    width: 100%;
    padding: 30px 0 25px;
    position: fixed;
    z-index: 5555;
    left: 0;
    top: 122px;
    background-color: #fff;
    transition: top 0.3s ease, opacity 0.3s ease;
    opacity: 0;
    pointer-events: none;
  }
  .type_subNav:hover .pcSubNav {
    opacity: 1;
    pointer-events: auto;
  }
  .pageScroll .pcSubNav {
    top: 88px;
  }
  .pcSubNavInner {
    width: 1200px;
    margin: 0 auto;
  }
  .pcSubNavBox1 {
    display: flex;
    align-items: flex-end;
    padding-bottom: 25px;
  }
  .pcSubNavBox1 .eng {
    font-size: 50px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1;
    padding-right: 40px;
  }
  .pcSubNavBox1 .psn_link1 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    display: inline-block;
    padding-right: 20px;
    position: relative;
  }
  .pcSubNavBox1 .psn_link1::after {
    content: "";
    width: 12px;
    height: 12px;
    border-right: 2px solid #086AAF;
    border-bottom: 2px solid #086AAF;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(-45deg);
    transition: border 0.3s ease, right 0.3s ease;
  }
  .pcSubNavBox1 .psn_link1:hover {
    color: #086AAF;
  }
  .psn_linkBox1 {
    width: 100%;
    display: flex;
    justify-content: center;
    padding-bottom: 25px;
  }
  .psn_linkBox1_item {
    width: 230px;
  }
  .psn_linkBox1_item + .psn_linkBox1_item {
    margin-left: 12px;
  }
  .psn_linkBox1_item .psn_tit1 {
    width: 100%;
    height: 60px;
    line-height: 1.4;
    text-align: center;
    background-color: #666;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding-bottom: 3px;
  }
  .psn_linkBox1_item a.psn_tit1:hover {
    background-color: #222;
  }
  .psn_linkBox1_ul1 {
    padding-top: 10px;
  }
  .psn_linkBox1_li1 + .psn_linkBox1_li1 {
    margin-top: 6px;
  }
  .psn_linkBox1_li1 a {
    width: 100%;
    min-height: 50px;
    display: flex;
    align-items: center;
    background-color: #F5F5F5;
  }
  .psn_linkBox1_li1 a:hover {
    color: #fff;
    background-color: #666;
  }
  .psn_linkBox1_li1 a .thumb {
    width: 70px;
    height: 70px;
    position: relative;
    background-image: url(../img/common/noimage.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    transition: background-size 0.3s ease;
  }
  .psn_linkBox1_li1 a:hover .thumb {
    background-size: 110%;
  }
  .psn_linkBox1_li1 a .thumb::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    background-color: rgba(51,49,49,0);
    transition: background 0.3s ease;
  }
  .psn_linkBox1_li1 a:hover .thumb::after {
    background-color: rgba(51,49,49,.5);
  }
  .psn_linkBox1_li1 a .t1 {
    width: calc(100% - 70px);
    font-size: 12px;
    letter-spacing: 0;
    font-weight: 700;
    padding: 0 20px 0 8px;
    position: relative;
    line-height: 1.4;
  }
  .psn_linkBox1_li1 a .t1::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    position: absolute;
    right: 5px;
    top: 50%;
    border-right: 2px solid #086AAF;
    border-bottom: 2px solid #086AAF;
    transform: rotate(-45deg) translate(0,-50%);
    transition: border 0.3s ease;
  }
  .psn_linkBox1_li1 a:hover .t1::after {
    border-color: #fff;
  }

  .psn_btmNav {
    width: 100%;
    border-top: 1px solid #000;
    padding-top: 13px;
  }
  .psn_btmNav_list1 {
    display: flex;
  }
  .psn_btmNav_list1 .li1 + .li1 {
    margin-left: 70px;
  }
  .psn_btmNav_list1 .li1 a {
    font-size: 16px;
    letter-spacing: 0;
    line-height: 1;
    display: inline-block;
    padding-right: 20px;
    position: relative;
  }
  .psn_btmNav_list1 .li1 a:hover {
    color: #086AAF;
  }
  .psn_btmNav_list1 .li1 a::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid #086AAF;
    border-bottom: 2px solid #086AAF;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(-45deg);
    transition: border 0.3s ease;
  }
  /* type2・type3 */
  .pcSubNav.type2 .psn_linkBox1_item {
    width: 291px;
  }
  .pcSubNav.type3 .psn_linkBox1_item {
    width: 100%;
  }
  .pcSubNav.type3 .psn_linkBox1_ul1 {
    width: 100%;
    display: flex;
    flex-flow: wrap;
  }
  .pcSubNav.type3 .psn_linkBox1_li1 {
    width: calc((100% - 36px) / 4);
  }
  .pcSubNav.type3 .psn_linkBox1_li1 + .psn_linkBox1_li1 {
    margin-top: 0;
    margin-left: 12px;
  }
  .pcSubNav.type3 .psn_linkBox1_li1:nth-of-type(1n + 5) {
    margin-top: 12px;
  }
  .pcSubNav.type3 .psn_linkBox1_li1:nth-of-type(5n) {
    margin-left: 0;
  }
  .pcSubNav.type2 .psn_linkBox1_li1 a,
  .pcSubNav.type3 .psn_linkBox1_li1 a {
    height: 50px;
  }
  .pcSubNav.type2 .psn_linkBox1_li1 a .t1,
  .pcSubNav.type3 .psn_linkBox1_li1 a .t1 {
    width: 100%;
    font-size: 15px;
  }
}
_:-ms-lang(x)::-ms-backdrop, .h_logo {
  transition: none;
}
@media all and (max-width:599px) {
  .head {
    width: 100%;
    background-color: #fff;
    position: fixed;
    z-index: 4444;
    left: 0;
    top: 0;
  }
  .h_inner {
    width: 100%;
    height: 60px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .h_logoBox {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  /* h_logo */
  .h_logo {
    width: 90px;
  }
  .h_logo a {
    display: block;
  }
  .h_logo a:hover {
    opacity: .7;
  }
  /* toggleBtn */
  .toggleBtn {
    width: 26px;
    cursor: pointer;
  }
  .toggleBtn .menu1 {
    display: block;
  }
  .toggleBtn .menu2 {
    display: none;
  }
  .open .toggleBtn .menu1 {
    display: none;
  }
  .open .toggleBtn .menu2 {
    display: block;
  }
  /* h_navBox */
  body.open {
    position: fixed;
    width: 100%;
    height: 100%;
  }
  .h_navBox {
    position: fixed;
    z-index: 5555;
    left: 0;
    top: 60px;
    width: 100%;
    height: calc(100vh - 60px);
    overflow: auto;
    background-color: #fff;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }
  .open .h_navBox {
    opacity: 1;
    pointer-events: auto;
  }
  .h_navBox_inner {
    width: 100%;
    padding: 10px 20px 100px;
    display: flex;
    flex-flow: column;
  }
  /* h_serch */
  .h_serch {
    order: 2;
    position: relative;
    height: 50px;
    margin-top: 15px;
  }
  /* .h_serch form {
    height: 40px;
  }
  .h_serch input[type="text"] {
    width: 100%;
    height: 40px;
    border-radius: 50px;
    background-color: #ECECEC;
    font-size: 16px;
    display: inline-block;
    font-weight: 100;
    border: none;
    outline: none;
    color: #000;
    padding: 10px 15px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    z-index: 1;
    transition: width .4s cubic-bezier(0.000, 0.795, 0.000, 1.000);
    cursor: text;
  }
  .h_serch input[type="submit"] {
    height: 18px;
    width: 18px;
    display: inline-block;
    background-color: transparent;
    float: right;
    background-image: url(../img/common/ico_serch1.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    text-indent: -10000px;
    border: none;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto;
    z-index: 2;
    cursor: pointer;
    transition: opacity .4s ease;
  }
  .h_serch input[type="submit"]:hover {
    opacity: .7;
  } */
  .gsc-control-cse {
    width: 100%!important;
    padding: 0!important;
    background: none!important;
    border: none!important;
    position: relative;
    z-index: 2;
  }
  .gsc-input-box {
    padding: 0!important;
    border-radius: 0!important;
    border: none!important;
  }
  .gsc-search-box-tools .gsc-search-box .gsc-input {
    border: none!important;
    background-color: #ECECEC!important;
    border-radius: 50px 0 0 50px!important;
  }
  #gsc-i-id1 {
    background-color: transparent!important;
    height: 50px!important;
  }
  table.gsc-search-box td.gsc-input {
    padding-right: 0!important;
  }
  .gsib_a {
    padding: 0 0 0 10px!important;
    height: 50px!important;
  }
  .gscb_a {
    line-height: 50px!important;
  }
  .gsc-search-button-v2 {
    margin-left: 0!important;
    padding: 8px 25px!important;
    border: none!important;
    border-radius: 0 50px 50px 0 !important;
    border-color: #ECECEC!important;
    background-color: #ECECEC!important;
    outline:0!important;
    cursor: pointer;
    transition: 0.3s ease;
  }
  .gsc-search-button {
    margin-left: 0!important;
    padding: 0!important;
    width: 40px!important;
    height: 50px!important;
  }
  .gsc-search-button-v2 svg {
    fill: #000!important;
  }
  .gsc-results-wrapper-overlay {
    left: 0!important;
    right: 0!important;
    margin: auto!important;
  }
  /* h_lang */
  .h_lang {
    order: 1;
    width: 130px;
    margin: 0 0 0 auto;
    display: flex;
    justify-content: space-between;
  }
  .h_lang .langBtn {
    width: 30px;
    display: block;
    font-size: 14px;
    text-align: center;
    line-height: 1;
    padding-bottom: 4px;
    color: #B1AFAF;
    position: relative;
  }
  .h_lang .langBtn::after {
    content: "";
    background-color: #000;
    width: 0;
    height: 2px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    margin: auto;
    transition: width 0.3s ease;
  }
  .h_lang .langBtn.current,
  .h_lang .langBtn:hover {
    color: #000;
  }
  .h_lang .langBtn.current::after,
  .h_lang .langBtn:hover::after {
    width: 100%;
  }
  /* h_subNav */
  .h_subNav {
    order: 4;
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
  }
  .h_subNav .link1 {
    width: calc((100% - 10px) / 2 );
    height: 60px;
    background-color: #086AAF;
    color: #fff;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0;
  }
  .h_subNav .link1.type2 {
    background-color: #E59323;
  }
  .h_subNav .link1 .in {
    position: relative;
    padding-left: 21px;
  }
  .h_subNav .link1.type2 .in {
    padding-left: 25px;
  }
  .h_subNav .link1 .in::before {
    content: "";
    width: 15.7px;
    height: 17.82px;
    margin: auto;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background-image: url(../img/common/ico_login1_w.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .h_subNav .link1.type2 .in::before {
    width: 19.21px;
    height: 14.44px;
    background-image: url(../img/common/ico_mail1_w.svg);
  }
  .h_subNav .link1:hover {
    background-color: #03253c;
  }
  .h_subNav .link1.type2:hover {
    background-color: #864e00;
  }

  /* gNav */
  /* .gNav {
    order: 3;
    width: 100%;
    padding-top: 10px;
  }
  .gNav .link1 {
    display: block;
    padding: 8px 0;
    font-size: 15px;
    font-weight: 700;
    text-align: left;
    letter-spacing: 0;
    position: relative;
  }
  .gNav .li1 + .li1 .link1 {
    border-top: 1px solid #E0E0E0;
  }
  .gNav .link1::after {
    content: "";
    width: 12px;
    height: 12px;
    border-right: 1px solid #086AAF;
    border-bottom: 1px solid #086AAF;
    position: absolute;
    right: 16px;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(-45deg);
    transition: right 0.3s ease;
  } */

  /* gNavSP */
  .gNavSP {
    order: 3;
    width: 100%;
    padding-top: 10px;
  }
  .gNavSP .drawerNav {
    border-bottom: 1px solid #E0E0E0;
  }
  .gNavSP .btn1 {
    display: block;
    padding: 16px 0;
    font-size: 15px;
    font-weight: 700;
    text-align: left;
    letter-spacing: 0;
    position: relative;
    cursor: pointer;
  }
  .gNavSP .li1 + .li1 .btn1 {
    border-top: 1px solid #E0E0E0;
  }
  .gNavSP .link1::after {
    content: "";
    width: 12px;
    height: 12px;
    border-right: 1px solid #086AAF;
    border-bottom: 1px solid #086AAF;
    position: absolute;
    right: 16px;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(-45deg);
    transition: right 0.3s ease;
  }
  .gNavSP .btn1:not(.link1)::before,
  .gNavSP .btn1:not(.link1)::after {
    content: "";
    width: 1px;
    height: 15px;
    background-color: #086AAF;
    border-radius: 10px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 17px;
    margin: auto;
    transition: 0.3s ease;
  }
  .gNavSP .btn1:not(.link1)::after {
    transform: rotate(90deg);
  }
  .gNavSP .btn1.on:not(.link1)::before {
    transform: rotate(90deg);
  }
  .gNavSP .btn1.on:not(.link1)::after {
    opacity: 0;
  }
  .gNavSP .ul2 {
    display: none;
    border-top: 1px solid #E0E0E0;
  }
  .gNavSP .btn2 {
    display: block;
    padding: 14px 30px 14px 20px;
    font-size: 14px;
    text-align: left;
    letter-spacing: 0;
    position: relative;
  }
  .gNavSP .li2 + .li2 .btn2 {
    border-top: 1px solid #E0E0E0;
  }
  .gNavSP .btn2.bold {
    font-weight: 700;
  }
  .gNavSP .btn2::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 1px solid #086AAF;
    border-bottom: 1px solid #086AAF;
    position: absolute;
    right: 16px;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(-45deg);
    transition: right 0.3s ease;
  }
}
@media all and (max-width:370px) {
}

/* フッター
***************************************************************/
.foot {
  width: 100%;
  background-color: #ECF1F4;
  position: relative;
}
.f_inner {
  width: 1200px;
  margin: 0 auto;
}
/* goTop */
.goTop {
  width: 48px;
  height: 48px;
  display: block;
  position: fixed;
  z-index: 10;
  top: auto;
  bottom: 0;
  right: 0;
  background-color: #086AAF;
  transition: background 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.pageScroll .goTop {
  opacity: 1;
  pointer-events: auto;
}
.gotopStop .goTop {
  position: absolute;
  left: auto;
  bottom: auto;
  right: 0;
  top: -48px;
}
.goTop::after {
    content: "";
    width: 15px;
    height: 15px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    position: absolute;
    left: 0;
    right: 0;
    top: 8px;
    bottom: 0;
    margin: auto;
    transform: rotate(-135deg);
}
/* f_sitemap */
.f_sitemap {
  width: 100%;
  padding: 54px 0 0;
}
.f_sitemap_clmBox {
  display: flex;
  justify-content: space-between;
}
.f_sitemap_list1 {
  width: 20%;
}
.f_sitemap_list1 .link1 {
  display: block;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  padding-left: 14px;
  position: relative;
}
.f_sitemap_list1 .link1::before {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1px solid #086AAF;
  border-bottom: 1px solid #086AAF;
  position: absolute;
  left: 0;
  top: .85em;
  transform: translate(0,-50%) rotate(-45deg);
  transition: right 0.3s ease;
}
.f_sitemap_list1 .link1 .s1 {
  position: relative;
}
.f_sitemap_list1 .link1[target="_blank"] .s1::after {
  content: "";
  width: 14px;
  height: 14px;
  background-image: url(../img/common/ico_blank1.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -22px;
  margin: auto;
}
.f_sitemap_list2 {
  padding-left: 10px;
}
.f_sitemap_list2 .link1 {
  font-size: 14px;
  font-weight: 400;
}
/* f_mediaWrap */
.f_mediaWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0 44px;
}
.f_mediaWrap .dt1 {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
}
.f_mediaWrap .dd1 {
  display: flex;
  align-items: center;
  justify-content: center;
}
.f_mediaWrap .link1 {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  display: block;
  padding-left: 36px;
  position: relative;
  margin-left: 30px;
}
.f_mediaWrap .link1::before {
  content: "";
  width: 30px;
  height: 30px;
  background-image: url(../img/common/ico_toutube1.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.f_mediaWrap .link1.type2::before {
  background-image: url(../img/common/ico_in1.svg);
}
/* f_bottomWrap */
.f_bottomWrap {
  padding: 16px 0 44px;
  border-top: 1px solid #000;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.f_btmList1 {
  display: flex;
}
.f_btmList1 .li1 + .li1 {
  margin-left: 30px;
}
.f_btmList1 .li1 a {
  font-size: 14px;
  display: block;
}
.cRight {
  font-size: 12px;
  letter-spacing: 0;
}
/* hover */
.goTop:hover {
  background-color: #03253c;
}
.f_sitemap_list1 a:hover {
  color: #086baf;
}
.f_mediaWrap .link1:hover {
  color: #086baf;
}
.f_btmList1 .li1 a:hover {
  color: #086baf;
}
@media all and (min-width: 600px) {
  .f_sitemap_clmBox {
    display: flex!important;
  }
  .f_sitemap_list1 .li1 + .li1 {
    margin-top: 8px;
  }
  .f_sitemap_list2 .li2 {
    margin-top: 6px;
  }
}
@media all and (max-width:599px) {
  .f_inner {
    width: 100%;
  }
  /* goTop */
  .goTop {
    right: 0;
  }
  /* .gotopStop .goTop {
    position: absolute;
    left: auto;
    bottom: auto;
    right: 0;
    top: -48px;
  } */
  /* f_sitemap */
  .f_sitemap {
    padding: 0;
  }
  .f_sitemapToggle {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0;
    position: relative;
    cursor: pointer;
    width: 100%;
    padding: 22px 0;
    border-bottom: 1px solid #000;
  }
  .f_sitemapToggle .btn1 {
    width: 15px;
    height: 15px;
    background-image: url(../img/common/btn1.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 250px;
    right: 0;
    margin: auto;
  }
  .f_sitemapToggle.on .btn1 {
    background-image: url(../img/common/btn2.svg);
  }
  .f_sitemap_clmBox {
    display: none;
    width: calc(100% - 40px);
    padding-top: 4px;
    margin: 0 auto;
    border-bottom: 1px solid #B1AFAF;
  }
  .f_sitemap_list1 {
    width: 100%;
  }
  .f_sitemap_list1 + .f_sitemap_list1,
  .f_sitemap_list1 .li1 + .li1 {
    border-top: 1px solid #B1AFAF;
  }
  .f_sitemap_list1 .link1 {
    padding-top: 16px;
    padding-bottom: 16px;
  }
  .f_sitemap_list1 .li1 .link1::before {
    top: calc(16px + .85em);
  }
  .f_sitemap_list1 .li1.type2 {
    display: flex;
    align-items: flex-start;
  }
  .f_sitemap_list1 .li1.type2 > .link1 {
    width: 104px;
  }
  .f_sitemap_list1 .li1.type2 .f_sitemap_list2 {
    width: calc(100% - 104px);
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .f_sitemap_list1 .li1.type2 .f_sitemap_list2 .link1 {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .f_sitemap_list1 .li2 .link1::before {
    top: calc(10px + .85em);
  }
  /* f_mediaWrap */
  .f_mediaWrap {
    display: block;
    padding: 25px 0;
  }
  .f_mediaWrap .dt1 {
    text-align: center;
  }
  .f_mediaWrap .dd1 {
    margin-top: 20px;
  }
  .f_mediaWrap .link1 {
    margin-left: 0;
  }
  .f_mediaWrap .link1 + .link1 {
    margin-left: 30px;
  }
  /* f_bottomWrap */
  .f_bottomWrap {
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 10px 0 16px;
    display: block;
  }
  .f_btmList1 {
    justify-content: space-between;
  }
  .f_btmList1 .li1 + .li1 {
    margin-left: 0;
  }
  .f_btmList1 .li1 a {
    font-size: 13px;
    display: block;
  }
  .cRight {
    font-size: 11px;
    text-align: center;
    letter-spacing: 0;
    margin-top: 12px;
  }
}
@media all and (max-width:370px) {
  .f_btmList1 .li1 a {
    font-size: 11px;
  }
  .cRight {
    font-size: 10px;
  }
}


/* メイン
***************************************************************/
.main {
  padding-top: 126px;
}
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
  .main {
    padding-top: 60px;
  }
}
@media all and (max-width:370px) {
}


/* slick-dotted
***************************************************************/
.slick-dotted.slick-slider {
  margin-bottom: 0;
}
.slick-dots {
  bottom: 0;
  padding-bottom: 16px;
}
.slick-dots li {
  width: 40px;
  height: 8px;
  margin: 0 5px;
}
.slick-dots li button {
  height: 8px;
  padding: 0;
}
.slick-dots li button:before {
  width: 40px;
  height: 8px;
  content: '';
  opacity: 1;
  background-color: #E0E0E0;
}
.slick-dots li.slick-active button:before {
  opacity: 1;
  background-color: #086AAF;
}
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
}
@media all and (max-width:370px) {
}


/* w_link1
***************************************************************/
.w_link1 {
  width: 375px;
  height: 74px;
  border: 1px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
  color: #fff;
  position: relative;
  transition: 0.3s ease;
}
.w_link1::after {
  content: "";
  width: 12px;
  height: 12px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(-45deg);
  transition: border 0.3s ease, right 0.3s ease;
}
/* hover */
a.w_link1:hover,
a:hover .w_link1 {
  border-color: #086baf;
  background-color: #086baf;
  color: #fff;
}
a.w_link1:hover::after,
a:hover .w_link1::after {
  border-color: #fff;
  right: 11px;
}
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
  .w_link1 {
    width: 260px;
    height: 66px;
    margin: 0 auto;
  }
}
@media all and (max-width:370px) {
}


/* w_link2
***************************************************************/
.w_link2 {
  width: 375px;
  height: 74px;
  border: 1px solid #000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
  color: #000;
  position: relative;
  transition: 0.3s ease;
}
.w_link2::after {
  content: "";
  width: 12px;
  height: 12px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(-45deg);
  transition: border 0.3s ease, right 0.3s ease;
}
/* hover */
a.w_link2:hover,
a:hover .w_link2 {
  border-color: #086baf;
  background-color: #086baf;
  color: #fff;
}
a.w_link2:hover::after,
a:hover .w_link2::after {
  border-color: #fff;
  right: 11px;
}
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
  .w_link2 {
    width: 260px;
    height: 66px;
    margin: 0 auto;
  }
}
@media all and (max-width:370px) {
}


/* w_link3
***************************************************************/
.w_link3 {
  width: 375px;
  height: 74px;
  border: 1px solid #086AAF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
  color: #086AAF;
  position: relative;
  transition: 0.3s ease;
}
.w_link3::after {
  content: "";
  width: 12px;
  height: 12px;
  border-right: 1px solid #086AAF;
  border-bottom: 1px solid #086AAF;
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(-45deg);
  transition: border 0.3s ease, right 0.3s ease;
}
/* hover */
a.w_link3:hover,
a:hover .w_link3 {
  border-color: #086baf;
  background-color: #086baf;
  color: #fff;
}
a.w_link3:hover::after,
a:hover .w_link3::after {
  border-color: #fff;
  right: 11px;
}
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
  .w_link3 {
    width: 260px;
    height: 66px;
    margin: 0 auto;
  }
}
@media all and (max-width:370px) {
}


/* w_link4
***************************************************************/
.w_link4 {
  width: 375px;
  height: 74px;
  border: 1px solid #C75108;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
  color: #C75108;
  position: relative;
  transition: 0.3s ease;
}
.w_link4::after {
  content: "";
  width: 12px;
  height: 12px;
  border-right: 1px solid #C75108;
  border-bottom: 1px solid #C75108;
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(-45deg);
  transition: border 0.3s ease, right 0.3s ease;
}
/* hover */
a.w_link4:hover,
a:hover .w_link4 {
  border-color: #C75108;
  background-color: #C75108;
  color: #fff;
}
a.w_link4:hover::after,
a:hover .w_link4::after {
  border-color: #fff;
  right: 11px;
}
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
  .w_link4 {
    width: 260px;
    height: 66px;
    margin: 0 auto;
  }
}
@media all and (max-width:370px) {
}

/* w_link5
***************************************************************/
.w_link5 {
  width: 375px;
  height: 74px;
  border: 1px solid #6f6e6e;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
  color: #6f6e6e;
  position: relative;
  transition: 0.3s ease;
}
.w_link5::after {
  content: "";
  width: 12px;
  height: 12px;
  border-right: 1px solid #6f6e6e;
  border-bottom: 1px solid #6f6e6e;
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(-45deg);
  transition: border 0.3s ease, right 0.3s ease;
}
/* hover */
a.w_link5:hover,
a:hover .w_link5 {
  border-color: #6f6e6e;
  background-color: #6f6e6e;
  color: #fff;
}
a.w_link5:hover::after,
a:hover .w_link5::after {
  border-color: #fff;
  right: 11px;
}
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
  .w_link5 {
    width: 260px;
    height: 66px;
    margin: 0 auto;
  }
}
@media all and (max-width:370px) {
}

/* w_link6
***************************************************************/
.w_link6 {
  width: 375px;
  height: 74px;
  border: 1px solid #02426E;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
  color: #02426E;
  position: relative;
  transition: 0.3s ease;
}
.w_link6::after {
  content: "";
  width: 12px;
  height: 12px;
  border-right: 1px solid #02426E;
  border-bottom: 1px solid #02426E;
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(-45deg);
  transition: border 0.3s ease, right 0.3s ease;
}
/* hover */
a.w_link6:hover,
a:hover .w_link6 {
  border-color: #02426E;
  background-color: #02426E;
  color: #fff;
}
a.w_link6:hover::after,
a:hover .w_link6::after {
  border-color: #fff;
  right: 11px;
}
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
  .w_link6 {
    width: 260px;
    height: 66px;
    margin: 0 auto;
  }
}
@media all and (max-width:370px) {
}

/* w_link7
***************************************************************/
.w_link7 {
  width: 375px;
  height: 74px;
  border: 1px solid #363E43;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
  color: #363E43;
  position: relative;
  transition: 0.3s ease;
}
.w_link7::after {
  content: "";
  width: 12px;
  height: 12px;
  border-right: 1px solid #363E43;
  border-bottom: 1px solid #363E43;
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(-45deg);
  transition: border 0.3s ease, right 0.3s ease;
}
/* hover */
a.w_link7:hover,
a:hover .w_link7 {
  border-color: #363E43;
  background-color: #363E43;
  color: #fff;
}
a.w_link7:hover::after,
a:hover .w_link7::after {
  border-color: #fff;
  right: 11px;
}
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
  .w_link7 {
    width: 260px;
    height: 66px;
    margin: 0 auto;
  }
}
@media all and (max-width:370px) {
}

/* w_title1
***************************************************************/
.w_title1 .eng {
  font-size: 50px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.04em;
  line-height: 1.1;
  position: relative;
  padding-bottom: 17px;
}
.w_title1 .eng::after {
  content: "";
  width: 40px;
  height: 4px;
  background-color: #086baf;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.w_title1 .h2 {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.04em;
  line-height: 1.5;
  padding-top: 10px;
}
/* left */
.w_title1.left .eng {
  text-align: left;
}
.w_title1.left .eng::after {
  right: auto;
}
.w_title1.left .h2 {
  text-align: left;
}
/* right */
.w_title1.right .eng {
  text-align: right;
}
.w_title1.right .eng::after {
  left: auto;
}
.w_title1.right .h2 {
  text-align: right;
}
/* white */
.w_title1.white .eng {
  color: #fff;
}
.w_title1.white .h2 {
  color: #fff;
}
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
}
@media all and (max-width:370px) {
}


/* breadcrumb
***************************************************************/
.breadcrumb {
  width: 1200px;
  margin: 0 auto;
  padding: 15px 0;
  overflow: hidden;
}
.breadcrumb_list1 {
  display:block;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  overflow: auto;
  white-space: nowrap;
}
.breadcrumb_list1 .li1 {
  position: relative;
  font-size: 13px;
  letter-spacing: 0;
  color: #B1AFAF;
  display: inline;
}
.breadcrumb_list1 .li1 + .li1 {
  padding-left: 51px;
}
.breadcrumb_list1 .li1 + .li1::before {
  content: "";
  width: 35px;
  height: 1px;
  background-color: #000;
  position: absolute;
  left: 8px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.breadcrumb_list1 .li1:last-child::before {
  background-color: #B1AFAF;
}
/* hover */
.breadcrumb_list1 .li1 a:hover {
  color: #086baf;
}
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
  .breadcrumb {
    width: 100%;
    padding: 0 20px 15px;
  }
  .breadcrumb_list1 .li1 {
    font-size: 10px;
  }
  .breadcrumb_list1 .li1 + .li1 {
    padding-left: 28px;
  }
  .breadcrumb_list1 .li1 + .li1::before {
    width: 18px;
    left: 5px;
  }
}
@media all and (max-width:370px) {
}


/* f_asideWrap
***************************************************************/
.f_asideWrap {
  padding: 120px 0 120px;
}
.f_asideInner {
  width: 1200px;
  margin: 0 auto;
}
/* f_aside_box1 */
.f_aside_box1 {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.f_aside_box1 .link1 {
  width: 580px;
  height: 282px;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  background-color: #3A3E43;
  color: #fff;
}
.f_aside_box1 .link1 .s1 {
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.04em;
  padding-left: 48px;
  position: relative;
}
.f_aside_box1 .link1 .s1::before {
  content: "";
  width: 31px;
  height: 39px;
  margin: auto;
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 0;
  background-image: url(../img/common/ico_download1_w.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.f_aside_box1 .link1 .w_link1 {
  width: 255px;
  height: 60px;
  margin-top: 30px;
}
.f_aside_box1 .link1.type2 {
  background-color: #445C93;
}
.f_aside_box1 .link1.type2 .s1 {
  padding-left: 58px;
}
.f_aside_box1 .link1.type2 .s1::before {
  width: 39.32px;
  height: 29.57px;
  top: 4px;
  background-image: url(../img/common/ico_mail1_w.svg);
}
.f_aside_box1 .link1.type3 {
  background-color: #546780;
}
.f_aside_box1 .link1.type3 .s1 {
  padding-left: 58px;
}
.f_aside_box1 .link1.type3 .s1::before {
  width: 42.18px;
  height: 33.85px;
  top: 2px;
  background-image: url(../img/common/ico_world_w.svg);
}
.f_aside_box1 .link1.type3:hover .w_link1 {
  color: #546780;
}
.f_aside_box1 .link1.type3:hover .w_link1::after {
  border-color: currentcolor;
}
.f_aside_telList1 {
  width: 100%;
  padding: 16px 0 0;
}
.f_aside_telList1 .li1 {
  display: flex;
  justify-content: center;
}
.f_aside_telList1 .li1 + .li1 {
  margin-top: 18px;
}
.f_aside_telList1 .tellink1 {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
}
.f_aside_telList1 .tellink1 .t2 {
  font-size: 30px;
  font-weight: 500;
  margin-left: 25px;
}
.f_aside_telList1 .li2 {
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0;
  margin: 16px 0 0;
}
/* f_aside_box2 */
.f_aside_box2 {
  width: 100%;
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}
.f_aside_box2 .link1 {
  width: 360px;
  height: 128px;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  background-color: #E8E6E7;
  color: #3A3E43;
}
.f_aside_box2 .link1 .s1 {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.04em;
  padding-left: 56px;
  position: relative;
}
.f_aside_box2 .link1 .s1::before {
  content: "";
  width: 44px;
  height: 44px;
  margin: auto;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
/*  background-image: url(../img/common/ico_member1.svg);*/
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
/*.f_aside_box2 .link1.type2 .s1 {
  padding-left: 46px;
}*/
.f_aside_box2 .link1.type3 .s1 {
  padding-left: 52px;
}
.f_aside_box2 .link1 .ico {
  content: "";
  width: 44px;
  height: 44px;
  margin: auto;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

/*.f_aside_box2 .link1.type2 .s1::before {
  width: 34px;
  height: 34px;
  background-image: url(../img/common/ico_help1.svg);
}
.f_aside_box2 .link1.type3 .s1::before {
  width: 35.9px;
  height: 45.82px;
  background-image: url(../img/common/ico_world.svg);
}*/
@media all and (-ms-high-contrast: none){
  .f_aside_box2 .link1.type3 .s1::before {
    width: 70px;
    height: 70px;
    top:  100%;
  }
}

.f_asideLink1 {
  margin: 94px auto 0;
}
/* hover */
.f_aside_box1 .link1:hover .w_link1 {
  border-color: #fff;
  background-color: #fff;
  color: #3A3E43;
}
.f_aside_box1 .link1:hover .w_link1::after {
  border-color: #3A3E43;
}
.f_aside_box1 .link1.type2:hover .w_link1 {
  color: #445C93;
}
.f_aside_box1 .link1.type2:hover .w_link1::after {
  border-color: #445C93;
}
.f_aside_box2 .link1:hover {
  background-color: #ccc;
}
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
  .f_asideWrap {
    padding: 50px 0 100px;
  }
  .f_asideInner {
    width: 100%;
    padding: 0 20px;
  }
  /* f_aside_box1 */
  .f_aside_box1 {
    width: 100%;
    display: block;
  }
  .f_aside_box1 .link1 {
    width: 100%;
    height: 180px;
  }
  .f_aside_box1 .link1 + .link1 {
    margin-top: 10px;
  }
  .f_aside_box1 .link1 .s1 {
    font-size: 20px;
    text-align: left;
    line-height: 1.5;
    padding-left: 58px;
  }
  .f_aside_box1 .link1.type1 .s1::before {
    width: 40px;
    height: 45px;
    top: 6px;
  }
  .f_aside_box1 .link1 .w_link1 {
    margin-top: 14px;
  }
  .f_aside_box1 .link1.type2 .s1::before {
    width: 42.7px;
    height: 32.11px;
    top: 2px;
  }
  .f_aside_box1 .link1.type3 {
    height: auto;
    padding: 18px 0 20px;
  }
  .f_aside_telList1 {
    width: 100%;
    padding: 16px 0 0;
  }
  .f_aside_telList1 .li1 {
    display: flex;
    justify-content: center;
  }
  .f_aside_telList1 .li1 + .li1 {
    margin-top: 18px;
  }
  .f_aside_telList1 .tellink1 {
    font-size: 14px;
  }
  .f_aside_telList1 .tellink1 .t2 {
    font-size: 25px;
    margin-left: 15px;
  }
  .f_aside_telList1 .li2 {
    font-size: 14px;
  }
  /* f_aside_box2 */
  .f_aside_box2 {
    margin-top: 20px;
    display: block;
  }
  .f_aside_box2 .link1 {
    width: 100%;
    height: 80px;
  }
  .f_aside_box2 .link1 + .link1 {
    margin-top: 10px;
  }
  .f_aside_box2 .link1 .s1 {
    font-size: 20px;
  }
  .f_asideLink1 {
    margin-top: 40px;
  }
}
@media all and (max-width:370px) {
}


/* contents_clm2Box
***************************************************************/
.contents_clm2Box {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.contents_clm2Box_main {
  width: 1200px;
}
.contents_clm2Box_bottom {
  width: 100%;
}
/* contentsNav */
.contentsNav {
  width: 100%;
}
.contentsNav_h2 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0;
  color: #fff;
  background-color: #02426E;
  padding: 23px 20px;
  display: flex;
  align-items: center;
}
.contentsNavList .btn1 {
  display: block;
  padding: 11px 30px 11px 10px;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  letter-spacing: 0;
  position: relative;
  cursor: pointer;
  color: #02426E;
  transition: 0.3s ease;
}
.contentsNavList .li1 + .li1 .btn1 {
  border-top: 1px solid #B1AFAF;
}
.contentsNavList .li1:last-child {
  border-bottom: 1px solid #B1AFAF;
}
.contentsNavList .link1::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(-45deg);
  transition: right 0.3s ease;
}
.contentsNavList a.link1:hover::after {
  right: 11px;
}
.contentsNavList .btn1:not(.link1)::before,
.contentsNavList .btn1:not(.link1)::after {
  content: "";
  width: 1px;
  height: 12px;
  background-color: #000;
  border-radius: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 17px;
  margin: auto;
  transition: 0.3s ease;
}
.contentsNavList .btn1:not(.link1)::after {
  transform: rotate(90deg);
}
.contentsNavList .btn1.on:not(.link1)::before {
  transform: rotate(90deg);
}
.contentsNavList .btn1.on:not(.link1)::after {
  opacity: 0;
}
.contentsNavList .ul2 {
  display: none;
  border-top: 1px solid #B1AFAF;
}
.contentsNavList .btn2 {
  display: block;
  padding: 11px 30px 11px 50px;
  font-size: 14px;
  text-align: left;
  letter-spacing: 0;
  position: relative;
  transition: 0.3s ease;
}
.contentsNavList .li2 + .li2 .btn2 {
  border-top: 1px solid #B1AFAF;
}
.contentsNavList .btn2.bold {
  font-weight: 700;
}
.contentsNavList .btn2::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(-45deg);
  transition: right 0.3s ease;
}
.contentsNavList a.btn2:hover::after {
  right: 11px;
}
.contentsNavList .current .btn1,
.contentsNavList .btn1:hover {
  background-color: #E8ECF8;
}
.contentsNavList .current .btn2,
.contentsNavList .btn2:hover {
  color: #02426E;
  background-color: #E8ECF8;
}
.contentsNavList .blank {
  position: relative;
}
.contentsNavList .blank::after {
  content: "";
  width: 14px;
  height: 14px;
  background-image: url(../img/common/ico_blank1.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -22px;
  margin: auto;
  transition: background 0.3s ease;
}
.contentsNavList .current .btn2 .blank::after,
.contentsNavList .btn2:hover .blank::after {
  background-image: url(../img/common/ico_blank3.svg);
}
@media all and (min-width: 600px) {
  .contents_clm2Box_main {
    /* min-height: 1000px; */
    padding-left: 340px;
    margin: 0 auto;
  }
  .contents_clm2Box_aside {
    width: 274px;
    position: absolute;
    left: calc((100% - 1200px) / 2);
    top: 0;
    /* max-height: calc(100vh - 183px); */
    /* overflow: auto; */
  }
  .sideNavScroll:not(.asideStop) .contents_clm2Box_aside {
    /* position: fixed;
    top: 100px!important; */
    /* max-height: calc(100vh - 100px); */
  }
  .asideStop .contents_clm2Box_aside {
    position: absolute;
    max-height: none;
  }
}
@media all and (max-width:599px) {
  .contents_clm2Box {
    width: 100%;
  }
  .contents_clm2Box_main {
    width: 100%;
    margin: 0 auto;
  }
  /* contentsNav */
  .contentsNav {
    width: 100%;
    padding: 54px 20px 0;
  }
  .contentsNav_h2 {
    font-size: 20px;
    text-align: center;
    padding: 8px 0;
    justify-content: center;
  }
  .contentsNavList .btn1 {
    padding-top: 13px;
    padding-bottom: 13px;
  }
  .contentsNavList .btn2 {
    padding-top: 13px;
    padding-bottom: 13px;
  }
}
@media all and (max-width:370px) {
}


/* コンテンツ
***************************************************************/
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
}
@media all and (max-width:370px) {
}


/* コンテンツ
***************************************************************/
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
}
@media all and (max-width:370px) {
}


/* コンテンツ
***************************************************************/
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
}
@media all and (max-width:370px) {
}


/* コンテンツ
***************************************************************/
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
}
@media all and (max-width:370px) {
}


/* コンテンツ
***************************************************************/
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
}
@media all and (max-width:370px) {
}


/* コンテンツ
***************************************************************/
@media all and (min-width: 600px) {
}
@media all and (max-width:599px) {
}
@media all and (max-width:370px) {
}
