@charset "utf-8";

:root {
  --base-font-gothic: "Noto Sans JP","游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","メイリオ",sans-serif;
  --base-font-gothic02: "游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","メイリオ",sans-serif;
  --base-font-min: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  --base-font-min02: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  --base-font-en: "Oswald", sans-serif;/* w300 / w700 */
  --base-font-weight: 500;
  --base-txt-black: #030046;
}

body {
  min-width: 1120px;
  min-height: 100%;
  background-color: #fff;
  font-family: var(--base-font-gothic);
  font-optical-sizing: auto;
  font-weight: var(--base-font-weight);
  color: var(--base-txt-black);
}
@media all and (max-width: 750px){
  body {
    min-width: 100%;
    padding-right: 0;
  }
}

/*
body.pageECompany.archive {
  background-image: url('./../../images/design/design-side-menu.jpg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto auto;
  background-color: rgba(255,255,255,0.3);
  background-blend-mode: lighten;
}*/

/*
body.pageECompany .boxLayoutBaseIn {
  min-height: 16000px;
}*/

#container {
  position: relative;
  overflow: hidden;
}
@media all and (max-width: 750px){
  #container {
    /*overflow: hidden;
    padding-top: 16.7vw;*/
  }
}

#main {
  min-height: 78vh;
}
@media all and (max-width: 750px){
  #main {
    min-height: auto;/*73vh;*/
  }
}

.boxContent {
}
@media all and (max-width: 750px){
  .boxContent {
  }
}

.boxLayoutBaseIn {
  /*padding-bottom: 7em;*/
}
@media all and (max-width: 750px){
  .boxLayoutBaseIn {
    /*padding-bottom: 2.5em;*/
  }
}


/***** Header *****/
.boxHeader {
  /*background-color: #ccc;*/
}
@media all and (max-width: 750px){
  .boxHeader {
    position: fixed;
    z-index: 1002;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    margin-bottom: 0;
  }
}

.boxHeaderLogo01 {
  position: fixed;
  z-index: 1003;
  top: 1.7em;
  left: 1.55em;
}
@media all and (max-width: 750px){
  .boxHeaderLogo01 {
    top: 4.1vw;
    left: 2.0vw;
    width: 36.7vw;
  }
}

.ulHeaderMenu01 {
  position: fixed;
  z-index: 1003;
  top: 0;
  right: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  width: 115px;
  padding-bottom: 3px;
  border-left: 8px #fff solid;
  border-bottom-left-radius: 0.7em;
  background-color: #fff;
}
@media all and (max-width: 750px){
  .ulHeaderMenu01 {
    top: auto;
    bottom: 0;
    right: auto;
    left: 0;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: stretch;
    align-items: stretch;
    width: 100%;
    padding-bottom: 0;
    border-left: 0;
    border-bottom-left-radius: 0;
  }
}

.ulHeaderMenu01 > li {
  width: 100%;
  border-bottom: 5px #fff solid;
}
.ulHeaderMenu01 > li.li01 {
  height: 112px;
}
@media all and (max-width: 750px){
  .ulHeaderMenu01 > li {
    width: 33.3333%;
    border-bottom: 0;
    border-top: 1.5vw #fff solid;
  }
  .ulHeaderMenu01 > li.li01 {
    width: auto;
    height: auto;
  }
  .ulHeaderMenu01 > li.li02 {
    border-right: 1.1vw #fff solid;
  }
  .ulHeaderMenu01 > li.li03 {
    border-left: 0.55vw #fff solid;
    border-right: 0.55vw #fff solid;
  }
  .ulHeaderMenu01 > li.li04 {
    border-left: 1.1vw #fff solid;
  }
}

.ulHeaderMenu01 > li.li02 a,
.ulHeaderMenu01 > li.li03 a,
.ulHeaderMenu01 > li.li04 a {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  height: 178px;
  padding-top: 4.7em;
  border-top-left-radius: 0.5em;
  border-bottom-left-radius: 0.5em;
  background-repeat: no-repeat, no-repeat;
  background-position: center 1.2em, right top;
  background-size: auto auto, cover;
  text-align: center;
}
.ulHeaderMenu01 > li.li02 a {
  background-image: url('./../../images/base/base-icn-line04.png'), url('./../../images/common/side-fixed-menu-bg01.jpg');
  color: #fff;
}
.ulHeaderMenu01 > li.li03 a {
  background-image: url('./../../images/base/base-icn-line05.png'), url('./../../images/common/side-fixed-menu-bg02.jpg');
  color: #2a8a00;
}
.ulHeaderMenu01 > li.li04 a {
  padding-top: 4.8em;
  background-image: url('./../../images/base/base-icn-deco07.png'), url('./../../images/common/side-fixed-menu-bg03.jpg');
  background-position: center 0.9em, right top;
  color: #fff;
}
@media all and (max-width: 750px){
  .ulHeaderMenu01 > li.li02 a,
  .ulHeaderMenu01 > li.li03 a,
  .ulHeaderMenu01 > li.li04 a {
    -webkit-flex-direction: row;
    flex-direction: row;
    height: 13vw;
    padding-top: 0;
    padding-bottom: 0.05em;
    border-top-left-radius: 2vw;
    border-top-right-radius: 2vw;
    border-bottom-left-radius: 0;
    background-position: 0.5em calc(50% + 0.1em), right top;
    background-size: 2.3em auto, cover;
  }
  .ulHeaderMenu01 > li.li02 a {
    border-top-left-radius: 0;
  }
  .ulHeaderMenu01 > li.li04 a {
    border-top-right-radius: 0;
  }
}

.ulHeaderMenu01 > li.li02 a > span,
.ulHeaderMenu01 > li.li03 a > span,
.ulHeaderMenu01 > li.li04 a > span {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  padding-left: 0.25em;
  letter-spacing: 0.09em;
  font-weight: 700;
}
@media all and (max-width: 750px){
  .ulHeaderMenu01 > li.li02 a > span,
  .ulHeaderMenu01 > li.li03 a > span,
  .ulHeaderMenu01 > li.li04 a > span {
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
    padding-left: 3.3em;
  }
}

.ulHeaderMenu01 > li a > span .txt01,
.ulHeaderMenu01 > li a > span .txt02 {
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
  display: inline-block;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
}
.ulHeaderMenu01 > li a > span .txt01 {
  letter-spacing: 0.14em;
  font-size: 1.5rem;
}
.ulHeaderMenu01 > li a > span .txt02 {
  letter-spacing: 0.13em;
}
.ulHeaderMenu01 > li.li04 a > span .txt02 {
  padding-top: 1.05em;
}
@media all and (max-width: 750px){
  .ulHeaderMenu01 > li a > span .txt01,
  .ulHeaderMenu01 > li a > span .txt02 {
    -webkit-font-feature-settings: 'palt' 1;
    font-feature-settings: 'palt' 1;
    display: block;
    writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
  }
  .ulHeaderMenu01 > li a > span .txt01 {
    letter-spacing: 0.1em;
    font-size: 1.0rem;
  }
  .ulHeaderMenu01 > li a > span .txt02 {
    letter-spacing: 0.03em;
    font-size: 0.8rem;
  }
  .ulHeaderMenu01 > li.li04 a > span .txt02 {
    padding-top: 0;
  }
}



/***** Hmb Menu *****/
.btnHmbMenu {
  /*display: none;*/
  position: fixed;
  z-index: 1002;
  top: 0;
  right: 0;
  width: 106px;
  cursor: pointer;
}
@media all and (max-width: 750px){
  .btnHmbMenu {
    top: 0;
    right: 0;
    width: 15vw;
    display: block;
    border-left: 0.7vw #030046 solid;
    border-bottom: 0.7vw #030046 solid;
    border-bottom-left-radius: 1.5vw;
  }
}

.btnHmbMenu.typeCss01 {
  position: relative;
  display: -webkit-flex;
  display: flex;
  display: none;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 60px;
  height: 60px;
  background-color: #ddd;
}
@media all and (max-width: 1350px){
  .btnHmbMenu.typeCss01 {
    /*
    display: -webkit-flex;
    display: flex;*/
  }
}
@media all and (max-width: 750px){
  .btnHmbMenu.typeCss01 {
    position: fixed;
    top: 5vw;
    right: 4vw;
    display: -webkit-flex;
    display: flex;
    width: 8.5vw;
    height: 6vw;
    background-color: transparent;
  }
}

.btnHmbMenu.typeCss01 .btnHmbMenuIn {
  position: relative;
  width: 30px;
  height: 24px;
  background: none;
  border: none;
  appearance: none;
  cursor: pointer;
}
@media all and (max-width: 750px){
  .btnHmbMenu.typeCss01 .btnHmbMenuIn {
    width: 100%;
    height: 100%;
  }
}

.btnHmbMenu.typeCss01 .btnHmbMenuIn > span {
  position: absolute;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 3px;
  background-color: #000;
  border-radius: 3px;
  transition: all .4s;
}
@media all and (max-width: 750px){
  .btnHmbMenu.typeCss01 .btnHmbMenuIn > span {
    height: 0.8vw;
    border-radius: 0.8vw;
  }
}

.btnHmbMenu.typeCss01 .btnHmbMenuIn > span:nth-of-type(1) {
  top: 0;
}
.btnHmbMenu.typeCss01 .btnHmbMenuIn > span:nth-of-type(2) {
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
}
.btnHmbMenu.typeCss01 .btnHmbMenuIn > span:nth-of-type(3) {
  bottom: 0;
}

.btnHmbMenu.typeCss01.statusOpen .btnHmbMenuIn > span:nth-of-type(1) {
  transform: translateY(11.1px) rotate(-45deg);
}
.btnHmbMenu.typeCss01.statusOpen .btnHmbMenuIn > span:nth-of-type(2) {
  opacity: 0;
}
.btnHmbMenu.typeCss01.statusOpen  .btnHmbMenuIn > span:nth-of-type(3) {
  transform: translateY(-11.1px) rotate(45deg);
}
@media all and (max-width: 750px){
  .btnHmbMenu.typeCss01.statusOpen .btnHmbMenuIn > span:nth-of-type(1) {
    transform: translateY(2.6vw) rotate(-45deg);
    transform: translateY(calc(3.0vw - 0.8vw / 2)) rotate(-45deg);
  }
  .btnHmbMenu.typeCss01.statusOpen .btnHmbMenuIn > span:nth-of-type(3) {
    transform: translateY(-2.6vw) rotate(45deg);
    transform: translateY(calc(-3.0vw + 0.8vw / 2)) rotate(45deg);
  }
}

.boxHmbMenu {
  display: none;
  overflow-y: auto;
  position: fixed;
  z-index: 1001;
  top: 0;
  right: 0;
  width: 486px;
  height: 100%;
  padding: 5.2em 10.7em 2.0em 2.6em;
  background-color: #fff;
  text-align: center;
}
@media all and (max-width: 750px){
  .boxHmbMenu {
    width: 100%;
    padding: 3em 5% 22vw 5%;
  }
}

.boxHmbMenu .ttl01 {
  margin-bottom: 4.77em;
  text-align: center;
}
@media all and (max-width: 750px){
  .boxHmbMenu .ttl01 {
    margin-bottom: 2.5em;
  }
}

@media all and (max-width: 750px){
  .boxHmbMenu .ttl01 img {
    width: 25vw;
  }
}

.ulHmbMenu01 > li {
  position: relative;
  margin-bottom: 1.55em;
  padding-bottom: 1.6em;
  border-bottom: 1px #ff461b solid;
}

.ulHmbMenu01 > li:before {
  content: '';
  position: absolute;
  top: 1.3em;
  left: 0.25em;
  width: 0.9em;
  height: 0.9em;
  border-top: 1px #ff461b solid;
  border-right: 1px #ff461b solid;
  transform: rotate(45deg);
}

.ulHmbMenu01 > li > a {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
}

.ulHmbMenu01 > li > a .txtJa {
  margin-bottom: 0.32em;
  letter-spacing: 0.08em;
  font-size: 1.55rem;
  font-weight: 600;
  color: #151515;
}

.ulHmbMenu01 > li > a .txtEn {
  letter-spacing: 0.19em;
  font-family: var(--base-font-en);
  font-size: 0.7rem;
  color: #ff461b;
}

.ulHmbMenu02 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-top: 8.0em;
}
@media all and (max-width: 750px){
  .ulHmbMenu02 {
    margin-top: 2.0em;
  }
}

.ulHmbMenu02 > li {
  margin: 0 0.35em;
}

.ulHmbMenu02 > li img {
  border: 2px #bfbfbf solid;
  border-radius: 50%;
}
@media all and (max-width: 750px){
  .ulHmbMenu02 > li img {
    width: 15vw;
  }
}

.boxHmbMenuFixedBottom {
  position: fixed;
  left: 0;
  bottom: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  width: 100%;
}

.boxHmbMenuFixedBottom a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 50%;
  height: 17.5vw;
}


@media all and (max-width: 750px){
  .boxHmbMenuSns {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    margin-top: 2em;
  }
}
@media all and (max-width: 750px){
  .boxHmbMenuSns a {
    margin: 0 0.5em;
  }
}

@media all and (max-width: 750px){
  .boxHmbMenuSns a img {
    width: 9.5vw;
  }
}



/*##### Mv #####*/
.boxMvWrap {
  position: relative;
  padding-top: 450px;
  background-image: url('./../../images/base/base-mv.webp');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto auto;
}
@media all and (max-width: 750px){
  .boxMvWrap {
    padding-top: 43.8%;
    background-image: url('./../../images/base/base-mv-sp.webp');
    background-size: 100% auto;
  }
}

.boxMv {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.ttlMv {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  font-weight: 700;
  color: #fff;
}
body.pageECompany .ttlMv {
  padding-top: 4.5em;
}
@media all and (max-width: 750px){
  .ttlMv,
  body.pageECompany.single .ttlMv {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    padding-top: 2.35em;
  }
}

.ttlMv .ttlParent {
  margin-top: -1.9em;
  margin-bottom: 0.5em;
  padding-left: 2.0em;
  letter-spacing: 0.12em;
  font-size: 1.7rem;
  color: #fff100;
  transform: skew(-10deg);
}
@media all and (max-width: 750px){
  .ttlMv .ttlParent {
    padding-left: 0.3em;
    font-size: 0.83rem;
  }
}

.ttlMv .ttlJa {
  position: relative;
  top: 0.15em;
  line-height: 1.2;
  letter-spacing: 0.084em;
  font-size: 4.9rem;
  font-weight: 900;
  transform: skew(-10deg);
}
body.pageECompany.single .ttlMv .ttlJa {
  top: auto;
  left: 0.45em;
  letter-spacing: 0.12em;
  font-size: 1.7rem;
  color: #fff100;
}
@media all and (max-width: 750px){
  .ttlMv .ttlJa {
    padding-left: 0.1em;
    letter-spacing: 0.06em;
    font-size: 1.5rem;
    text-indent: -0.26em;
  }
  body.pageECompany.single .ttlMv .ttlJa {
    padding-left: 0;
    left: 0.1em;
    font-size: 0.83rem;
    text-indent: 0;
  }
}

.ttlMv .ttlJa:before {
  content: '';
  position: absolute;
  top: -1.6em;
  left: -0.53em;
  width: 73px;
  background-image: url('./../../images/base/base-icn-deco02.png');
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
  aspect-ratio: 73 / 76;
  transform: skew(10deg);
}
body.pageECompany.single .ttlMv .ttlJa:before {
  top: -3.15em;
  left: -2.4em;
}
@media all and (max-width: 750px){
  .ttlMv .ttlJa:before {
    top: -0.85em;
    left: -1.0em;
    width: 4.1vw;
  }
  body.pageECompany.single .ttlMv .ttlJa:before {
    top: -0.85em;
    left: -1.0em;
    width: 4.1vw;
  }
}

.ttlMv .ttlEn {
  /*
  margin-right: 0.5em;
  line-height: 0.85;
  letter-spacing: normal;
  font-family: Jost, sans-serif;
  font-size: 8.0rem;*/
}
body.pageECompany .ttlMv .ttlEn {
  display: none;
}
@media all and (max-width: 750px){
  .ttlMv .ttlEn {
    /*
    font-size: 2.5rem;*/
  }
}

.ttlMv .ttlMain {
  position: relative;
  top: 0.15em;
  line-height: 1.2;
  letter-spacing: 0.084em;
  font-size: 4.9rem;
  font-weight: 900;
  transform: skew(-10deg);
}
@media all and (max-width: 750px){
  .ttlMv .ttlMain {
    padding-left: 0.1em;
    letter-spacing: 0.06em;
    font-size: 1.5rem;
    text-indent: -0.26em;
  }
}

.boxMvImg {
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: -100px;
  width: 60.7%;
  height: 466px;
}

.boxMvImg .imgMv {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  /*opacity: 0.7;*/
}



/*##### Footer #####*/
.boxFooter {
  padding-top: 3.1em;
  padding-bottom: 2.0em;
  background-color: #ff690e;
}
@media all and (max-width: 750px){
  .boxFooter {
    padding-top: 2.5em;
  }
}

.boxFooterLCR {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-bottom: 4.3em;
}
@media all and (max-width: 750px){
  .boxFooterLCR {
    display: block;
    margin-bottom: 2.3em;
  }
}

.boxFooterLCR .boxFooterL {
  width: 286px;
  padding-top: 0.25em;
}
@media all and (max-width: 750px){
  .boxFooterLCR .boxFooterL {
    width: 100%;
    margin-bottom: 1.8em;
    padding-top: 0;
    text-align: center;
  }
}

.boxFooterLCR .boxFooterC {
  width: calc((100% - 286px) / 2);
  padding-top: 1.1em;
}
@media all and (max-width: 750px){
  .boxFooterLCR .boxFooterC {
    width: 100%;
    margin-bottom: 1.5em;
    padding-top: 0;
  }
}

.boxFooterLCR .boxFooterC .ulFooterMenu01 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
@media all and (max-width: 750px){
  .boxFooterLCR .boxFooterC .ulFooterMenu01 {
    -webkit-justify-content: center;
    justify-content: center;
  }
}

.boxFooterLCR .boxFooterC .ulFooterMenu01 > li {
  position: relative;
  margin-right: 2.5em;
  font-size: 1.13rem;
  color: #fff;
}
.boxFooterLCR .boxFooterC .ulFooterMenu01 > li:last-child {
  margin-right: 0;
}
@media all and (max-width: 750px){
  .boxFooterLCR .boxFooterC .ulFooterMenu01 > li {
    margin-right: 2.5em;
    font-size: 0.9rem;
  }
}

.boxFooterLCR .boxFooterC .ulFooterMenu01 > li:after {
  content: '';
  position: absolute;
  top: 0.3em;
  right: -1.27em;
  width: 2px;
  height: 1.05em;
  background-color: #fff;
}
.boxFooterLCR .boxFooterC .ulFooterMenu01 > li:last-child:after {
  content: none;
}

.boxFooterLCR .boxFooterR {
  width: calc((100% - 286px) / 2);
}
@media all and (max-width: 750px){
  .boxFooterLCR .boxFooterR {
    width: 100%;
  }
}

.boxFooterLCR .boxFooterR .ulFooterSns {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-left: auto;
}
@media all and (max-width: 750px){
  .boxFooterLCR .boxFooterR .ulFooterSns {
    -webkit-justify-content: center;
    justify-content: center;
    margin-right: auto;
  }
}

.boxFooterLCR .boxFooterR .ulFooterSns > li {
  margin-left: 1.0em;
}
@media all and (max-width: 750px){
  .boxFooterLCR .boxFooterR .ulFooterSns > li:first-child {
    margin-left: 0;
  }
}

.boxCopyright {
  padding-left: 0.55em;
}
@media all and (max-width: 750px){
  .boxCopyright {
    padding-left: 0;
  }
}

.boxCopyright > p {
  text-align: left;
  letter-spacing: 0.08em;
  font-size: 0.85rem;
  color: #fff;
}
@media all and (max-width: 750px){
  .boxCopyright > p {
    text-align: center;
    letter-spacing: normal;
    font-size: 0.73rem;
  }
}

@media all and (max-width: 750px){
  .boxCopyright > p .markCopy {
    font-family: Verdana, Roboto, "Droid Sans";
  }
}


/*##### Base Page #####*/
.boxPageWrap {
  padding: 5.0em 0 8.0em 0;
}
body.pageECompany.single .boxPageWrap {
  padding-bottom: 0;
}
@media all and (max-width: 750px){
  .boxPageWrap {
    padding: 2.0em 0 2.5em 0;
  }
}

.boxPage01 {
  padding-bottom: 4.8em;
}
@media all and (max-width: 750px){
  .boxPage01 {
    padding-top: 2.0em;
    padding-bottom: 2.5em;
  }
}

.ttlBasePageH1 {
  margin-bottom: 0.5em;
  letter-spacing: 0.03em;
  font-size: 2.57rem;
}
@media all and (max-width: 750px){
  .ttlBasePageH1 {
    font-size: 2.133rem;
  }
}


/*##### Common Contents #####*/

/*##### Common Link01 #####*/
.boxCommonLink01Wrap {
  position: relative;
  padding-top: 7.2em;
  padding-bottom: 7.65em;
  background-color: #ff820e;
}
@media all and (max-width: 750px){
  .boxCommonLink01Wrap {
    padding-top: 3.0em;
    padding-bottom: 3.0em;
  }
}

.boxCommonLink01Wrap .pEn {
  position: absolute;
  top: 0.1em;
  left: 50.2%;
  width: 100%;
  text-align: center;
  line-height: 1.0;
  letter-spacing: 0.07em;
  font-family: var(--base-font-en);
  font-size: 20.0em;
  font-weight: 400;
  transform: translateX(-50%) skew(-10deg);
  color: rgba(255,255,255,0.12);
}
@media all and (max-width: 750px){
  .boxCommonLink01Wrap .pEn {
    font-size: 6.0em;
  }
}

.boxCommonLink01 {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;
}

.boxCommonLink01 .ttl01 {
  margin-bottom: 0.59em;
  letter-spacing: 0.1em;
  font-size: 3.2rem;
  font-weight: 700;
}
@media all and (max-width: 750px){
  .boxCommonLink01 .ttl01 {
    font-size: 1.3rem;
  }
}

.boxCommonLink01 .boxBaseCom {
  margin-bottom: 4.3em;
}
@media all and (max-width: 750px){
  .boxCommonLink01 .boxBaseCom {
    margin-bottom: 2.3em;
  }
}

.boxCommonLink01 .boxBaseCom > p {
  line-height: 1.65;
  font-size: 1.55rem;
}
@media all and (max-width: 750px){
  .boxCommonLink01 .boxBaseCom > p {
    font-size: 0.95rem;
  }
}

.boxCommonLink01 .boxLink a + a {
  margin-top: 0.51em;
}

.boxCommonLink01 .deco01CommonLink01 {
  position: absolute;
  bottom: -2.95em;
  right: calc(50% - 40.2em);
}


/*##### boxCatTopMenu01 #####*/
.boxCatTopMenu01Wrap {
  margin-bottom: 6.0em;
  padding-top: 0.75em;
}
@media all and (max-width: 750px){
  .boxCatTopMenu01Wrap {
    margin-bottom: 3.0em;
  }
}

.boxCatTopMenu01 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
@media all and (max-width: 750px){
  .boxCatTopMenu01 {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}

.boxCatTopMenu01 .dl01 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-right: 6.2%;
  margin-bottom: 1.0em;
  letter-spacing: 0.1em;
  font-size: 1.25rem;
}
.boxCatTopMenu01 .dl01:last-child {
  margin-right: 0;
}
@media all and (max-width: 750px){
  .boxCatTopMenu01 .dl01 {
    display: block;
    width: 100%;
    margin-right: 0;
    font-size: 1.0rem;
  }
  .boxCatTopMenu01 .dl01.typeArea {
    position: relative;
    z-index: 3;
    margin-bottom: 0.5em;
  }
  .boxCatTopMenu01 .dl01.typeCat {
    position: relative;
    z-index: 2;
  }
}

.boxCatTopMenu01 .dl01 > dt {
  padding-top: 0.3em;
  padding-right: 1.0em;
  letter-spacing: 0.15em;
  font-size: 1.4rem;
}
@media all and (max-width: 750px){
  .boxCatTopMenu01 .dl01 > dt {
    display: none;
  }
}

.boxCatTopMenu01 .dl01.typeCat > dd {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
@media all and (max-width: 750px){
  .boxCatTopMenu01 .dl01.typeCat > dd {
    display: block;
  }
}

.boxCatTopMenu01 .dl01 > dd .boxDdOne {
  position: relative;
  z-index: 2;
  margin-right: 0.8em;
}
.boxCatTopMenu01 .dl01 > dd .boxDdOne:last-child {
  margin-right: 0;
}
@media all and (max-width: 750px){
  .boxCatTopMenu01 .dl01 > dd .boxDdOne {
    margin-right: 0;
    margin-bottom: 0.5em;
  }
  .boxCatTopMenu01 .dl01 > dd .boxDdOne:nth-child(1) {
    z-index: 3;
  }
  .boxCatTopMenu01 .dl01 > dd .boxDdOne:last-child {
    margin-bottom: 0;
  }
}


.boxCatTopMenu01 .dl01 > dd .boxAll {
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  min-width: 15.65em;
  height: 2.6em;
  padding: 0.2em 1.0em;
  border: 2px #030046 solid;
  border-radius: 0.4em;
  cursor: pointer;
}

.boxCatTopMenu01 .dl01 > dd .boxAll:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0.3em;
  right: 0.7em;
  width: 0.7em;
  height: 0.7em;
  margin: auto;
  border-right: 1px #030046 solid;
  border-bottom: 1px #030046 solid;
  transform: rotate(45deg);
}

.boxCatTopMenu01 .dl01 > dd .ul01 {
  overflow-y: auto;
  position: absolute;
  z-index: 2;
  top: 2.6em;
  left: 0;
  display: none;
  width: 100%;
  max-height: 10.0em;
  padding: 0.5em 0;
  background-color: #eee;
}
.boxCatTopMenu01 .dl01 > dd .boxDdOne:hover .ul01 {
  display: block;
}

.boxCatTopMenu01 .dl01 > dd .ul01 > li a {
  display: block;
  padding: 0.1em 1.0em;
  font-size: 1.25rem;
}
.boxCatTopMenu01 .dl01 > dd .ul01 > li a:hover {
  background-color: #ccc;
}
@media all and (max-width: 750px){
  .boxCatTopMenu01 .dl01 > dd .ul01 > li a {
    font-size: 1.0rem;
  }
}