/*
**********************************************************************

* modules.css

*********************************************************************
*/
/* =========================================================
========================================================= */
.m-iconWindow01 {
  display: inline-block; }
  .m-iconWindow01:after {
    position: absolute;
    display: block;
    width: 1em;
    height: 1em;
    content: '';
    background-repeat: no-repeat;
    background-position: 0 0;
    -webkit-background-size: 100% auto;
            background-size: 100% auto;
    position: relative;
    display: inline-block;
    margin-top: -.2em;
    margin-left: .2em;
    vertical-align: middle;
    background-image: url(../images/common/icn_window_navy01.svg); }

/* =========================================================
========================================================= */
.m-title01 {
  font-weight: bold;
  line-height: 1; }
  .m-title01 span {
    display: inline-block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #fff;
    border-radius: 40px;
    background-color: #003E73; }
  .m-title01.-white span {
    color: #003E73;
    background-color: #fff; }

@media only screen and (min-width: 769px), print {
  .m-title01 {
    font-size: 21px;
    font-size: 2.1rem; }
    .m-title01 span {
      min-width: 264px;
      padding: 15px 15px; } }

@media only screen and (max-width: 768px) {
  .m-title01 {
    font-size: 16px;
    font-size: 4.26667vw; }
    .m-title01 span {
      min-width: 70.4vw;
      padding: 3.2vw 3.2vw; } }

/* =========================================================
========================================================= */
.m-button01 {
  font-weight: bold;
  line-height: 1; }
  .m-button01 a {
    display: inline-block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-decoration: none;
    color: #003E73;
    border: 1px solid #003E73;
    background-color: #fff; }
    .m-button01 a:after {
      position: absolute;
      display: block;
      width: 0px;
      height: 0px;
      content: '';
      background-repeat: no-repeat;
      background-position: 0 0;
      -webkit-background-size: 100% auto;
              background-size: 100% auto;
      right: 0;
      top: 50%;
      position: relative;
      display: inline-block;
      margin-top: -.2em;
      margin-left: .5em;
      vertical-align: middle;
      border-style: solid;
      border-color: transparent transparent transparent #003E73; }

@media only screen and (min-width: 769px), print {
  .m-button01 {
    font-size: 18px;
    font-size: 1.8rem; }
    .m-button01 a {
      width: 230px;
      padding: 20px 15px;
      -webkit-transition: ease .4s;
      transition: ease .4s;
      -webkit-transition-property: background , color;
      transition-property: background , color; }
      .is-IE .m-button01 a {
        padding-top: 23px;
        padding-bottom: 17px; }
      .m-button01 a:after {
        -webkit-transition: ease border .4s;
        transition: ease border .4s;
        border-width: 3px 0 3px 5px; }
      .m-button01 a:hover {
        color: #fff;
        background-color: #003E73; }
        .m-button01 a:hover:after {
          border-left-color: #fff; } }

@media only screen and (max-width: 768px) {
  .m-button01 {
    font-size: 16px;
    font-size: 4.26667vw; }
    .m-button01 a {
      width: 53.33333vw;
      padding: 5.33333vw 4vw; }
      .m-button01 a:after {
        border-width: 0.8vw 0 0.8vw 1.33333vw; } }

/* =========================================================
========================================================= */
.m-title {
  font-weight: bold;
  text-align: center; }
  .m-title .enTit,
  .m-title .jpTit {
    display: block; }
  .m-title .enTit {
    line-height: 1.3;
    color: #798e99;
    font-weight: bold;
    line-height: 1.4; }
  .m-title .jpTit,
  .m-title .m-title__text {
    font-weight: bold;
    line-height: 1.4;
    color: #003e73; }

@media only screen and (min-width: 769px), print {
  .m-title .enTit {
    font-size: 34px;
    font-size: 3.4rem; }
  .m-title .jpTit,
  .m-title .m-title__text {
    font-size: 12px;
    font-size: 1.2rem; } }

@media only screen and (max-width: 768px) {
  .m-title .enTit {
    font-size: 21px;
    font-size: 5.6vw; }
  .m-title .jpTit,
  .m-title .m-title__text {
    font-size: 10px;
    font-size: 2.66667vw; } }

/* =========================================================
========================================================= */
.m-subTit {
  font-weight: bold;
  display: inline-block;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-align: center;
          align-items: center; }
  .m-subTit .enTit,
  .m-subTit .jpTit,
  .m-subTit .m-subTit__text {
    display: block; }
  .m-subTit .enTit {
    line-height: 1.3;
    color: #CCCCCC; }
  .m-subTit .jpTit,
  .m-subTit .m-subTit__text {
    line-height: 2;
    position: relative;
    color: #003e73; }
    .m-subTit .jpTit::before, .m-subTit .jpTit::after,
    .m-subTit .m-subTit__text::before,
    .m-subTit .m-subTit__text::after {
      position: absolute;
      top: 50%;
      display: block;
      width: 1px;
      height: 50px;
      content: '';
      -webkit-transform: translateY(-50%) rotate(15deg);
              transform: translateY(-50%) rotate(15deg);
      background-color: #003e73; }

@media only screen and (min-width: 769px), print {
  .m-subTit .enTit {
    font-size: 16px;
    font-size: 1.6rem; }
  .m-subTit .jpTit,
  .m-subTit .m-subTit__text {
    font-size: 21px;
    font-size: 2.1rem; }
    .m-subTit .jpTit::before,
    .m-subTit .m-subTit__text::before {
      left: -27px; }
    .m-subTit .jpTit::after,
    .m-subTit .m-subTit__text::after {
      right: -27px; } }

@media only screen and (max-width: 768px) {
  .m-subTit .enTit {
    font-size: 14px;
    font-size: 3.73333vw; }
  .m-subTit .jpTit{
    font-size: 17px;
    font-size: 4.53333vw;
    text-align: center;}

  .m-subTit .m-subTit__text {
    font-size: 17px;
    font-size: 4.53333vw; /*Originally 4.53333*/
    text-align: center;}

    .m-subTit .jpTit::before          {left: -7.2vw;}
    .m-subTit .m-subTit__text::before {left:  17.2vw;}/* -7.2 */
    .m-subTit .jpTit::after           {right: -7.2vw;}
    .m-subTit .m-subTit__text::after  {right: 17.2vw;} } /* -7.2 */

/* =========================================================
========================================================= */
.m-mapBlock {
  position: relative;
  margin: 0 auto; }
  .m-mapBlock .photoBox .photoList > li {
    overflow: hidden;
    border: solid #fff;
    border-radius: 50% 50%;
    background-color: #fff; }
    .m-mapBlock .photoBox .photoList > li:first-child {
      margin-top: 0; }
  .m-mapBlock .placeList {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .m-mapBlock .placeList > li {
      position: absolute;
      top: 0;
      left: 0;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      border: solid #f0f0f0;
      border-radius: 50% 50%;
      background-color: #b59833; }
      .m-mapBlock .placeList > li.place1 {
        margin-top: 29%;
        margin-left: 18.5%; }
      .m-mapBlock .placeList > li.place2 {
        margin-top: 23.6%;
        margin-left: 23.2%; }
      .m-mapBlock .placeList > li.place3 {
        margin-top: 16.3%;
        margin-left: 46%; }
      .m-mapBlock .placeList > li.place4 {
        margin-top: 18.8%;
        margin-left: 49%; }
      .m-mapBlock .placeList > li.place5 {
        margin-top: 16.2%;
        margin-left: 49.3%; }
      .m-mapBlock .placeList > li.place6 {
        margin-top: 25.4%;
        margin-left: 59.7%; }
      .m-mapBlock .placeList > li.place7 {
        margin-top: 30.2%;
        margin-left: 71%; }
      .m-mapBlock .placeList > li.place8 {
        margin-top: 34.7%;
        margin-left: 74%; }
      .m-mapBlock .placeList > li.place9 {
        margin-top: 23.6%;
        margin-left: 76.8%; }
      .m-mapBlock .placeList > li.place10 {
        margin-top: 36.6%;
        margin-left: 76.8%; }
      .m-mapBlock .placeList > li.place11 {
        margin-top: 21%;
        margin-left: 78.5%; }
      .m-mapBlock .placeList > li.place12 {
        margin-top: 21.7%;
        margin-left: 81.4%;
        /*
    body.toppage &{
        width: 31px;
        height: 31px;
    position: relative;
    @include mq-sp{
      width:vw(13);
      height:vw(13);
    }
    &:before{	//20210405: Removed a background image's URL.
    content:"";
    background-repeat: no-repeat;
    background-size: contain;
    width: 223px;
    height: 25px;
    display: block;
    position: absolute;
    top: 110%;
    white-space: nowrap;
    right: -40px;
    @include mq-sp{
      width:vw(124);
      height:vw(34);
      right: vw(-50);
    }
    }
  }*/ }
      .m-mapBlock .placeList > li.place13 {
        margin-top: 45.7%;
        margin-left: 83.5%; }
      .m-mapBlock .placeList > li.place14 {
        margin-top: 26.1%;
        margin-left: 63.5%; }

@media only screen and (min-width: 769px), print {
  .m-mapBlock {
    width: 900px; }
    .m-mapBlock .photoBox .photoList {
      position: absolute;
      top: -10px; }
      .m-mapBlock .photoBox .photoList.-left {
        left: -135px; }
        .m-mapBlock .photoBox .photoList.-left > li:nth-child(2) {
          margin-left: 45px; }
      .m-mapBlock .photoBox .photoList.-right {
        right: -135px; }
        .m-mapBlock .photoBox .photoList.-right > li:nth-child(2) {
          margin-left: -45px; }
      .m-mapBlock .photoBox .photoList > li {
        width: 150px;
        height: 150px;
        margin-top: 20px;
        border-width: 10px; }
    .m-mapBlock .placeList > li {
      width: 21px;
      height: 21px;
      border-width: 5px; } }

@media only screen and (max-width: 768px) {
  .m-mapBlock {
    width: 93.33333vw;
    left: -2.13333vw; }
    .m-mapBlock .map {
      text-align: center; }
      .m-mapBlock .map img {
        width: 92%; }
    .m-mapBlock .photoBox {
      width: 5000%;
      margin-top: 9.33333vw;
      margin-left: -100%;
      text-align: left; }
      .m-mapBlock .photoBox .boxInner {
        display: inline-block; }
        .m-mapBlock .photoBox .boxInner:after {
          display: block;
          clear: both;
          content: ''; }
        section.is-active .m-mapBlock .photoBox .boxInner {
          -webkit-animation: 80s linear photoslide infinite;
                  animation: 80s linear photoslide infinite; }
      .m-mapBlock .photoBox .photoList {
        display: -webkit-box;
        display: flex;
        float: left; }
        .m-mapBlock .photoBox .photoList > li {
          width: 32vw;
          height: 32vw;
          margin-right: 2.66667vw;
          border-width: 1.33333vw; }
        .m-mapBlock .photoBox .photoList:nth-child(2n+1) li:nth-child(2n) {
          margin-top: -10.66667vw; }
        .m-mapBlock .photoBox .photoList:nth-child(2n) li:nth-child(2n+1) {
          margin-top: -10.66667vw; }
    .m-mapBlock .placeList > li {
      width: 2.13333vw;
      height: 2.13333vw;
      border-width: 1px; } }

@-webkit-keyframes photoslide {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  to {
    -webkit-transform: translateX(-75%);
            transform: translateX(-75%); } }

@keyframes photoslide {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  to {
    -webkit-transform: translateX(-75%);
            transform: translateX(-75%); } }
