@charset "utf-8";
/* =============================================================================
   base
   ========================================================================== */
main { display: block; }
html { background: #fff; color: #000; font-size: 62.5%; line-height: 1.5; }
body { font-family: "Times New Roman", Garamond, serif; text-align: center; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body, div, section, header, footer, nav, article, aside, main, dl, ul, p, a, :after, :before { backface-visibility: hidden; }
a { color: #000; border: 0; background-color: transparent; overflow: hidden; text-decoration: none; }
a:hover,
a:active { outline: 0; }
table { border-collapse: collapse; border-spacing: 0; }
img { border: 0; vertical-align: bottom; line-height: 0px; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
ol, ul { list-style-type: none; }
em, strong { font-weight: bold; font-style: normal; }

img { max-width: 100%; height: auto; }
svg { max-width: 100%; }
img[src$=".svg"] { max-width: 100%; }

/* ::selection {background: #a1a1a1; }
::-moz-selection {background: #a1a1a1; } */

.is-sp a,
.is-sp input[type="button"],
.is-sp input[type="submit"],
.is-tab a,
.is-tab input[type="button"],
.is-tab input[type="submit"]  {
    -webkit-tap-highlight-color: rgba(0,0,0,.2);
}

/* =============================================================================
   utility
   ========================================================================== */
.u-section { max-width: 1100px; width: calc(1100/1600*100vw); margin: 0 auto; text-align: left; }
@media only screen and (max-width: 768px) {
   .u-section {
      width: calc(650/750*100%);
   }
}

.u-pcNone { display: none; }
@media only screen and (max-width: 768px) {
  .u-spNone { display: none; }
  .u-pcNone { display: block; }
}

@media only screen and (min-width: 768px) {
  .is-pc .u-target { transition: opacity .3s; }
  .is-pc .u-target:hover { opacity: .6; }
}

.u-bg {
   background-repeat: no-repeat;
   background-position: center center;
   background-size: cover;
 }

.u-target {
   -webkit-transition: opacity .3s;
   transition: opacity .3s;
}

.u-target:hover {
   opacity: .6
}

.u-target-b {
   -webkit-transition: .5s;
   transition: .5s;
}
.u-target-b:hover {
   -webkit-filter: brightness(60%);
   filter: brightness(60%);
}
/* =============================================================================
   component
   ========================================================================== */
.c-blockbtm{
   margin-bottom: calc(130/1600*100vw);
}
/* フレックスボックス */
.c-flex{
   display: flex;
   -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
   -webkit-box-align: start;
   -ms-flex-align: start;
   align-items: flex-start;
}
/* サブタイトル */
 .c-subtitle{
    font-size: calc(36/1600*100vw);
    /* font-weight: bold; */
    display: inline-block;
    line-height: 1.1em;
    letter-spacing: .06em;
 }
.c-subtitle::after{
   content: '';
   border-bottom: 1px solid #aaaaaa;
   margin: calc(30/1600*100vw) auto calc(50/1600*100vw);
   width: 50px;
   height: 1px;
   display: block;
}
/* 下層ページタイトル */
.c-pageTitle{
   font-size: calc(36/1600*100vw);
   /* font-weight: bold; */
   display: inline-block;
   line-height: 1.1em;
   letter-spacing: .08em;
}
.c-pageTitle::after{
  content: '';
  border-right: 1px solid #aaaaaa;
  margin: calc(20/1600*100vw) auto calc(20/1600*100vw) 0;
  width: 50%;
  height: 30px;
  display: block;
}
.c-pageTitleSub{
   font-size: calc(20/1600*100vw);
   color: #1a1a1a;
   margin-bottom: calc(45/1600*100vw);
}

/* キャプション */
.c-caption{
   display: block;
   word-wrap: break-word;
   /* font-size: calc(16/1600*100vw); */
   font-size: 16px;
   line-height: 1.6em;
   margin: calc(20/1600*100%) 0 calc(40/1600*100%) ;
}

/* テキスト */
.c-text{
   /* font-size: calc(16/1600*100vw); */
   font-size: 18px;
   line-height: 1.6em;
   letter-spacing: .05em;
   margin: calc(20/1600*100%) 0 calc(40/1600*100%);
}

.c-first::first-letter{
   color: #01afc6;
}

/* HOMEボタン（下層ページ） */
.c-home{
   font-size: calc(16/1600*100vw);
   line-height: calc(45/1600*100vw);
   display: inline-block;
   position: relative;
   padding-left: calc(60/1600*100vw);
   overflow: visible;
}
.c-home::before{
   content: '';
   border: 1px solid #d4d4d4;
   border-radius: calc(22/1600*100vw);
   width: calc(44/1600*100vw);
   height: calc(44/1600*100vw);
   display: inline-block;
   position: absolute;
   bottom: 0;
   left: 0;
   display: block;
}
.c-home::after{
   content: "";
   bottom: calc(18/1600*100vw);
   left: calc(20/1600*100vw);
   position: absolute;
   width:calc(6/1600*100vw);
   height:calc(6/1600*100vw);
   border-bottom: 2px solid #333;
   border-left: 2px solid #333;
   -webkit-transform: rotate(45deg);
   transform: rotate(45deg);
}

@media only screen and (min-width: 1600px) {
   .c-subtitle{
      font-size: 36px;
   }
  .c-pageTitle{
     font-size: 36px;
  }
  .c-pageTitleSub{
     font-size: 20px;
  }
  .c-caption{
     font-size: 16px;
  }
  .c-text{
     font-size: 18px;
  }
  .c-home{
     font-size: 16px;
  }
}

@media only screen and (max-width: 1300px) {
   .c-subtitle{font-size: calc(36/1300*100vw);}
   .c-pageTitle{font-size: calc(36/1300*100vw);}
   .c-pageTitleSub{font-size: calc(20/1300*100vw);}
   /* .c-caption{font-size: calc(16/1300*100vw);} */
   .c-caption{font-size: 16px;}
   /* .c-text{font-size: calc(16/1300*100vw);} */
   .c-text{font-size: 18px;}
   .c-home{font-size: calc(16/1300*100vw);}
}

@media only screen and (max-width: 1100px) {
   .c-home::after{
      border-bottom: 1px solid #333;
      border-left: 1px solid #333;
   }
   .c-subtitle{
      font-size: calc(36/1100*100vw);
   }
  .c-pageTitle{
     font-size: calc(36/1100*100vw);
  }
  .c-pageTitleSub{
     font-size: calc(20/1100*100vw);
  }
  .c-caption{
     /* font-size: calc(16/1100*100vw); */
  }
  .c-text{
     /* font-size: calc(16/1100*100vw); */
  }
  .c-home{
     font-size: calc(16/1100*100vw);
  }

}

@media only screen and (max-width: 768px) {
   .c-flex{
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
   }
   .c-subtitle{
      font-size: calc(36/750*100vw);
   }
   .c-subtitle::after{
      margin: calc(30/750*100vw) auto calc(50/750*100vw);
   }
   .c-pageTitle{
      font-size: calc(36/750*100vw);
   }
   .c-pageTitle::after{
     margin: calc(20/750*100vw) auto calc(20/750*100vw) 0;
     width: 50%;
     height: calc(30/750*100vw);
   }
   .c-pageTitleSub{
      font-size: calc(20/750*100vw);
      margin-bottom: calc(45/750*100vw);
   }
   .c-caption{
      font-size: 16px;
      margin: calc(20em/16) 0 calc(65em/16) ;
   }
   .c-text{
      font-size: 18px;
      margin: calc(20em/18) 0 calc(40em/18) ;
   }

   .c-home{
      font-size: calc(16/750*100vw);
      line-height: calc(45/750*100vw);
      padding-left: calc(60/750*100vw);
   }
   .c-home::before{
      border: 1px solid #d4d4d4;
      border-radius: calc(22/750*100vw);
      width: calc(44/750*100vw);
      height: calc(44/750*100vw);
   }
   .c-home::after{
      content: "";
      bottom: calc(18/750*100vw);
      left: calc(20/750*100vw);
      position: absolute;
      width:calc(6/750*100vw);
      height:calc(6/750*100vw);
      border-bottom: 1px solid #333;
      border-left: 1px solid #333;
   }
}

@media only screen and (max-width: 415px) {
    .c-subtitle{
      font-size: calc(36/500*100vw);
   }
   .c-subtitle::after{
      margin: calc(30/500*100vw) auto calc(50/500*100vw);
   }
   .c-pageTitle{
      font-size: calc(36/500*100vw);
   }
   .c-pageTitle::after{
     margin: calc(20/500*100vw) auto calc(20/500*100vw) 0;
     width: 50%;
   }
   .c-pageTitleSub{
      font-size: calc(20/500*100vw);
      margin-bottom: calc(45/500*100vw);
   }
   .c-caption{
      font-size: calc(16px*.9);
      margin: calc(20em*.8/16) 0 calc(65em*.7/16) ;
   }
   .c-text{
      font-size: calc(18px*.9);
      margin: calc(20em*.8/18) 0 calc(40em*.8/18) ;
   }
}


/* =============================================================================
   common module
   ========================================================================== */
/* header */
header{}
.cm-h{
   position: relative;
   color: #fff;
   font-size: 14px;
   line-height: 1.4em;
   text-align: left;
   width: 100%;
   /* height: calc(950/1600*100vw); */
   height: 100vh;
}
.cm-h a{
   color: #fff;
   opacity: .6;
   transition: .3s;
}
.cm-h a:hover{
   opacity: 1;
}

.cm-h__title{
   position: absolute;
   top:0;
   bottom: 0;
   left: 0;
   right: 0;
   margin: auto auto auto calc(56/1600*100vw);
   width: calc(335/1600*100vw);
   height: 15%;
   z-index: 9;
}
.cm-h__titleMain{
   margin-bottom: calc(30/1600*100vw);
}
.cm-h__titleSub{
   font-size: calc(34/1600*100vw);
   letter-spacing: .08em;
}
.cm-h__back{
   width: calc(1464/1600*100vw);
   /* height: calc(878/1600*100vw); */
   position: absolute;
   top:calc(73/1600*100vw);
   bottom:0;
   left: 0;
   z-index: 0;
   background: url(../../assets/images/top/header_bg_img.jpg) #007b8b;
   background-repeat: no-repeat;
   background-position: center center;
   background-size: cover;
}
.cm-h__backButton{
   position: absolute;
   bottom:0;
   left: calc(45/1600*100vw);
   font-size: calc(12/1600*100vw);
   outline: 0;
   border: 0;
}
a.cm-h__backButton{
   opacity: 1;
}
.cm-h__backButtonTxt {
   width: 100%;
   display: block;
}
.cm-h__backButton::after{
   content: '';
   width: 50%;
   height: calc(120/1600*100vw);
   border-right: 1px solid #fff;
   display: block;
}
.cm-h__front{
   width: calc(1456/1600*100vw);
   /* height: calc(900/1600*100vw); */
   position: absolute;
   top:0;
   bottom:calc(73/1600*100vw);
   right: 0;
   z-index: 7;
   background: url(../../assets/images/top/header_img.jpg) #000;
   background-repeat: no-repeat;
   background-position: center center;
   background-size: cover;
}
.cm-h__nav{
   width: calc(100/1600*100vw);
   height: calc(20/1600*100vw);
   z-index: 8;
   position: absolute;
   top:calc(50/1600*100vw);
   right: calc(30/1600*100vw);
}
.cm-h__navList{
   display: flex;
   -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
   text-align: center;
   font-size: calc(14/1600*100vw);
}
.cm-h__navList li{
   width: 49%;
   height: calc(20/1600*100vw);
   line-height: calc(20/1600*100vw);
   border-right: 1px solid #fff;
}
.cm-h__navList li:last-child{
   border-right: none;
}
.cm-h__navList li a{
   width: 100%;
   display: block;
}
.cm-h__navList li a:hover{
}
@media only screen and (min-width: 1600px) {
   .cm-h__titleSub{
      font-size: 34px;
   }
   .cm-h__backButton{
      font-size: 12px;
   }
   .cm-h__navList{
      font-size: 14px;
   }
}
@media only screen and (max-width: 1100px) {
   .cm-h__titleSub{
      font-size: calc(22/1100*100vw);
   }
   .cm-h__backButton{
      font-size: calc(12/1100*100vw);
   }
   .cm-h__navList{
      font-size: calc(12/1100*100vw);
   }
}

@media only screen and (max-width: 768px) {
   .cm-h{
      height: calc(710/750*100vw);
   }

   .cm-h__title{
      width: calc(320/750*100vw);
      margin: auto auto auto calc(32/750*100vw);
      padding-top: calc(60/750*100vw);
   }
   .cm-h__titleMain{
   }
   .cm-h__titleSub{
      font-size: calc(30/750*100vw);
   }
   .cm-h__back{
      top:calc(100/750*100vw);
      width: calc(680/750*100vw);
      height: calc(610/750*100vw);
   }
   .cm-h__front{
      top:calc(60/750*100vw);
      width: calc(700/750*100vw);
      height: calc(600/750*100vw);
      background-size: cover;
   }
   .cm-h__nav{
      width: calc(120/750*100vw);
      height: calc(30/750*100vw);
      top:calc(20/750*100vw);
      right: calc(30/750*100vw);
      background: #fff;
      color: #000;
   }
   .cm-h__navList{
      font-size: calc(22/750*100vw);
   }
   .cm-h__navList li{
      border-right: 1px solid #000;
      height: calc(20/750*100vw);
      line-height: calc(20/750*100vw);
   }
   .cm-h__navList li a{
      color: #000;
   }

}

/* footer */
.cm-f { background: linear-gradient(to right, #008fab 0%,#01cfea 100%); padding: calc(109em/16) 0 calc(58em/16); font-size: 16px; }
.cm-f__body88 { text-align: center; }
.cm-f__logo { background-color: #fff; padding: calc(38em/16) 0; margin-top: calc(70em/16); }
.cm-f__logoList { display: flex; justify-content: center; }
.cm-f__logoListItem { margin: 0 calc(38/1100*100%); }
.cm-f__btm { padding-top: calc(84em/16); text-align: center; }
.cm-f__btmSns { display: flex; align-items: center; justify-content: center; }
.cm-f__btmSnsItem { margin: 0 calc(10em/16); }
.cm-f__btmSnsItem.is-fb img { width: calc(12em/16); }
.cm-f__btmSnsItem.is-ig img,
.cm-f__btmSnsItem.is-tw img { width: calc(22em/16); }
.cm-f__btmCopy { margin-top: calc(28em/16); }
.cm-f__btmCopy small { font-size: calc(12em/16); color: #fff; }
@media only screen and (max-width: 768px) {
  .cm-f { padding: calc(60em/16) 0; }
}
@media only screen and (max-width: 640px) {
  .cm-f { padding: calc(60em*.85/16) 0; }
}
@media only screen and (max-width: 415px) {
  .cm-f { font-size: calc(16px*.9); }
  .cm-f__logo { margin-top: calc(60em*.85/16); }
  .cm-f__btm { padding-top: calc(84em*.85/16); }
}

/* 下層ページヘッダ */
.cm-pageheader{
   border-top:10px solid #01b8d1;
   padding-top: calc(40/1600*100vw);
   margin-bottom: calc(100/1600*100vw);
}
.cm-pageheader__home{
   margin-left: calc((100vw - 1100px)/2);
}
.cm-pageheader__nav{
   width: calc(100/1600*100vw);
   height: calc(20/1600*100vw);
   z-index: 8;
   position: absolute;
   top:calc(50/1600*100vw);
   right: calc(30/1600*100vw);
}
.cm-pageheader__navList{
   display: flex;
   -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
   text-align: center;
   font-size: calc(14/1600*100vw);
}
.cm-pageheader__navList li{
   width: 49%;
   height: calc(20/1600*100vw);
   border-right: 1px solid #000;
}
.cm-pageheader__navList li:last-child{
   border-right: none;
}
.cm-pageheader__navList li a{
   width: 100%;
   display: block;
   color: #000;
   opacity: .6;
   transition: .3s;
}
.cm-pageheader__navList li a:hover{
   opacity: 1;
}

@media only screen and (min-width: 1600px) {
   .cm-pageheader__navList{
      font-size: 14px;
   }
}

@media only screen and (max-width: 1100px) {
   .cm-pageheader__home{
      margin-left: calc(30/1100*100vw);
   }
   .cm-pageheader__navList{
      font-size: calc(14/1100*100vw);
   }
}
@media only screen and (max-width: 768px) {
  .cm-pageheader{
     margin-bottom: calc(100/750*100vw);
  }
   .cm-pageheader__home{
      margin-left: calc(30/750*100vw);
   }
   .cm-pageheader__nav{
      width: calc(120/750*100vw);
      height: calc(30/750*100vw);
      top:calc(40/750*100vw);
      right: calc(30/750*100vw);
      background: #fff;
      color: #000;
   }
   .cm-pageheader__navList{
      font-size: calc(22/750*100vw);
   }
   .cm-pageheader__navList li{
      border-right: 1px solid #000;
      height: calc(20/750*100vw);
   }
   .cm-pageheader__navList li a{
      color: #000;
   }
}

/* 下層ページフッタ */
.cm-pagefooter{
   margin: calc(120/1600*100vw) auto calc(40/1600*100vw);
}
@media only screen and (max-width: 768px) {
   .cm-pagefooter{
      margin: calc(120/750*100vw) auto calc(40/750*100vw);
   }
}