@charset "utf-8";

/*************************************************************
*
* webfont
*
*************************************************************/
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?xylrfk');
  src:  url('fonts/icomoon.eot?xylrfk#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?xylrfk') format('truetype'),
    url('fonts/icomoon.woff?xylrfk') format('woff'),
    url('fonts/icomoon.svg?xylrfk#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-voucher:before {
  content: "\e933";
}
.icon-waterbottle:before {
  content: "\e932";
}
.icon-clearfile:before {
  content: "\e930";
}
.icon-flag:before {
  content: "\e931";
}
.icon-finger:before {
  content: "\e92f";
}
.icon-tel01:before {
  content: "\e92e";
}
.icon-ginzapop:before {
  content: "\e92d";
}
.icon-arrow-down:before {
  content: "\e900";
}
.icon-arrow01:before {
  content: "\e901";
}
.icon-board:before {
  content: "\e902";
}
.icon-book:before {
  content: "\e903";
}
.icon-box:before {
  content: "\e904";
}
.icon-browser:before {
  content: "\e905";
}
.icon-building:before {
  content: "\e906";
}
.icon-calendar:before {
  content: "\e907";
}
.icon-card01:before {
  content: "\e908";
}
.icon-card02:before {
  content: "\e909";
}
.icon-card03:before {
  content: "\e90a";
}
.icon-card04:before {
  content: "\e90b";
}
.icon-compass:before {
  content: "\e90c";
}
.icon-coterie:before {
  content: "\e90d";
  color: #4b4b4b;
}
.icon-dishes:before {
  content: "\e90e";
}
.icon-flow:before {
  content: "\e90f";
}
.icon-home:before {
  content: "\e910";
}
.icon-hospital:before {
  content: "\e911";
}
.icon-login:before {
  content: "\e912";
}
.icon-mail01:before {
  content: "\e913";
}
.icon-mail02:before {
  content: "\e914";
}
.icon-mail03:before {
  content: "\e915";
}
.icon-man:before {
  content: "\e916";
}
.icon-money:before {
  content: "\e917";
}
.icon-nav_blog:before {
  content: "\e918";
}
.icon-nav_company:before {
  content: "\e919";
}
.icon-nav_data:before {
  content: "\e91a";
}
.icon-nav_flow:before {
  content: "\e91b";
}
.icon-nav_news:before {
  content: "\e91c";
}
.icon-nav_pay:before {
  content: "\e91d";
}
.icon-news:before {
  content: "\e91e";
}
.icon-paper:before {
  content: "\e91f";
}
.icon-postcard:before {
  content: "\e920";
}
.icon-poster:before {
  content: "\e921";
}
.icon-quality:before {
  content: "\e922";
}
.icon-question:before {
  content: "\e923";
}
.icon-rgb:before {
  content: "\e924";
  color: #4b4b4b;
}
.icon-seal:before {
  content: "\e925";
}
.icon-secure:before {
  content: "\e926";
}
.icon-shirt:before {
  content: "\e927";
}
.icon-shirt02:before {
  content: "\e928";
  color: #4b4b4b;
}
.icon-tapestry:before {
  content: "\e929";
}
.icon-track:before {
  content: "\e92a";
}
.icon-upload:before {
  content: "\e92b";
}
.icon-user:before {
  content: "\e92c";
}

i .text {
  font-size: 0 !important;
  display: none !important;
}

/*************************************************************
*
* 余白（多用禁止）
*
*************************************************************/
.p0   {padding:0            !important;}
.p5   {padding:5px          !important;}
.p10  {padding:10px         !important;}
.p15  {padding:15px         !important;}
.p20  {padding:20px         !important;}
.p25  {padding:25px         !important;}
.p30  {padding:30px         !important;}
.p35  {padding:35px         !important;}
.p40  {padding:40px         !important;}
.p45  {padding:45px         !important;}
.p50  {padding:50px         !important;}
.p55  {padding:55px         !important;}
.p60  {padding:60px         !important;}
.p65  {padding:65px         !important;}
.p70  {padding:70px         !important;}
.p75  {padding:75px         !important;}
.p80  {padding:80px         !important;}
.pt0  {padding-top:0        !important;}
.pt5   {padding-top:5px       !important;}
.pt10  {padding-top:10px    !important;}
.pt15  {padding-top:15px    !important;}
.pt20  {padding-top:20px    !important;}
.pt25  {padding-top:25px    !important;}
.pt30  {padding-top:30px    !important;}
.pt35  {padding-top:35px    !important;}
.pt40  {padding-top:40px    !important;}
.pt45  {padding-top:45px    !important;}
.pt50  {padding-top:50px    !important;}
.pt55  {padding-top:55px    !important;}
.pt60  {padding-top:60px    !important;}
.pt65  {padding-top:65px    !important;}
.pt70  {padding-top:70px    !important;}
.pt75  {padding-top:75px    !important;}
.pt80  {padding-top:80px    !important;}
.pl0   {padding-left:0      !important;}
.pl5   {padding-left:5px    !important;}
.pl10  {padding-left:10px     !important;}
.pl15  {padding-left:15px     !important;}
.pl20  {padding-left:20px     !important;}
.pl25  {padding-left:25px     !important;}
.pl30  {padding-left:30px     !important;}
.pl35  {padding-left:35px     !important;}
.pl40  {padding-left:40px     !important;}
.pl45  {padding-left:45px     !important;}
.pl50  {padding-left:50px     !important;}
.pl55  {padding-left:55px     !important;}
.pl60  {padding-left:60px     !important;}
.pl65  {padding-left:65px     !important;}
.pl70  {padding-left:70px     !important;}
.pl75  {padding-left:75px     !important;}
.pl80  {padding-left:80px     !important;}
.pr0  {padding-right:0      !important;}
.pr5  {padding-right:5px    !important;}
.pr10 {padding-right:10px   !important;}
.pr15 {padding-right:15px   !important;}
.pr20 {padding-right:20px   !important;}
.pr25 {padding-right:25px   !important;}
.pr30 {padding-right:30px   !important;}
.pr35 {padding-right:35px   !important;}
.pr40 {padding-right:40px   !important;}
.pr45 {padding-right:45px   !important;}
.pr50 {padding-right:50px   !important;}
.pr55 {padding-right:55px   !important;}
.pr60 {padding-right:60px   !important;}
.pr65 {padding-right:65px   !important;}
.pr70 {padding-right:70px   !important;}
.pr75 {padding-right:75px   !important;}
.pr80 {padding-right:80px   !important;}
.pb0  {padding-bottom:0     !important;}
.pb5  {padding-bottom:5px   !important;}
.pb10 {padding-bottom:10px  !important;}
.pb15 {padding-bottom:15px  !important;}
.pb20 {padding-bottom:20px  !important;}
.pb25 {padding-bottom:25px  !important;}
.pb30 {padding-bottom:30px  !important;}
.pb35 {padding-bottom:35px  !important;}
.pb40 {padding-bottom:40px  !important;}
.pb45 {padding-bottom:45px  !important;}
.pb50 {padding-bottom:50px  !important;}
.pb55 {padding-bottom:55px  !important;}
.pb60 {padding-bottom:60px  !important;}
.pb65 {padding-bottom:65px  !important;}
.pb70 {padding-bottom:70px  !important;}
.pb75 {padding-bottom:75px  !important;}
.pb80 {padding-bottom:80px  !important;}
.m0   {margin:0             !important;}
.m5   {margin:5px           !important;}
.m10  {margin:10px          !important;}
.m15  {margin:15px          !important;}
.m20  {margin:20px          !important;}
.m25  {margin:25px          !important;}
.m30  {margin:30px          !important;}
.m35  {margin:35px          !important;}
.m40  {margin:40px          !important;}
.m45  {margin:45px          !important;}
.m50  {margin:50px          !important;}
.m55  {margin:55px          !important;}
.m60  {margin:60px          !important;}
.m65  {margin:65px          !important;}
.m70  {margin:70px          !important;}
.m75  {margin:75px          !important;}
.m80  {margin:80px          !important;}
.mt0  {margin-top:0         !important;}
.mt5  {margin-top:5px       !important;}
.mt10 {margin-top:10px      !important;}
.mt15 {margin-top:15px      !important;}
.mt20 {margin-top:20px      !important;}
.mt25 {margin-top:25px      !important;}
.mt30 {margin-top:30px      !important;}
.mt35 {margin-top:35px      !important;}
.mt40 {margin-top:40px      !important;}
.mt45 {margin-top:45px      !important;}
.mt50 {margin-top:50px      !important;}
.mt55 {margin-top:55px      !important;}
.mt60 {margin-top:60px      !important;}
.mt65 {margin-top:65px      !important;}
.mt70 {margin-top:70px      !important;}
.mt75 {margin-top:75px      !important;}
.mt80 {margin-top:80px      !important;}
.ml0  {margin-left:0        !important;}
.ml5  {margin-left:5px      !important;}
.ml10 {margin-left:10px     !important;}
.ml15 {margin-left:15px     !important;}
.ml20 {margin-left:20px     !important;}
.ml25 {margin-left:25px     !important;}
.ml30 {margin-left:30px     !important;}
.ml35 {margin-left:35px     !important;}
.ml40 {margin-left:40px     !important;}
.ml45 {margin-left:45px     !important;}
.ml50 {margin-left:50px     !important;}
.ml55 {margin-left:55px     !important;}
.ml60 {margin-left:60px     !important;}
.ml65 {margin-left:65px     !important;}
.ml70 {margin-left:70px     !important;}
.ml75 {margin-left:75px     !important;}
.ml80 {margin-left:80px     !important;}
.mr0  {margin-right:0       !important;}
.mr5  {margin-right:5px     !important;}
.mr10 {margin-right:10px    !important;}
.mr15 {margin-right:15px    !important;}
.mr20 {margin-right:20px    !important;}
.mr25 {margin-right:25px    !important;}
.mr30 {margin-right:30px    !important;}
.mr35 {margin-right:35px    !important;}
.mr40 {margin-right:40px    !important;}
.mr45 {margin-right:45px    !important;}
.mr50 {margin-right:50px    !important;}
.mr55 {margin-right:55px    !important;}
.mr60 {margin-right:60px    !important;}
.mr65 {margin-right:65px    !important;}
.mr70 {margin-right:70px    !important;}
.mr75 {margin-right:75px    !important;}
.mr80 {margin-right:80px    !important;}
.mb0  {margin-bottom:0      !important;}
.mb5  {margin-bottom:5px    !important;}
.mb10 {margin-bottom:10px   !important;}
.mb15 {margin-bottom:15px   !important;}
.mb20 {margin-bottom:20px   !important;}
.mb25 {margin-bottom:25px   !important;}
.mb30 {margin-bottom:30px   !important;}
.mb35 {margin-bottom:35px   !important;}
.mb40 {margin-bottom:40px   !important;}
.mb45 {margin-bottom:45px   !important;}
.mb50 {margin-bottom:50px   !important;}
.mb55 {margin-bottom:55px   !important;}
.mb60 {margin-bottom:60px   !important;}
.mb65 {margin-bottom:65px   !important;}
.mb70 {margin-bottom:70px   !important;}
.mb75 {margin-bottom:75px   !important;}
.mb80 {margin-bottom:80px   !important;}

/*************************************************************
*
* 基本スタイル／汎用クラス
*
*************************************************************/
/*************************************************************
* フォント・テキスト
*************************************************************/
/* 基本のフォントサイズ */
body {font-size:1.6rem;}
/* 段落基本スタイル */
.content_paragraph {
  line-height: 1.75;

  margin-bottom: 28px;
}
.impact {
  font-family: Impact, Haettenschweiler, "Franklin Gothic Bold", Charcoal, "Helvetica Inserat", "Bitstream Vera Sans Bold", "Arial", "Arial Black", "sans serif";
  font-weight: bold;
}
/* 文字折り返し禁止 */
.space          {white-space:nowrap;}
/* テキスト揃え */
.center_txt     {text-align:center;}
.left_txt       {text-align:left;}
.right_txt      {text-align:right;}
.sp_justify     {text-align: center;}
/* 親要素に対して文字サイズ0.85倍 */
.sml {font-size: 0.857em;}
/* 親要素に対して文字サイズ1.125倍 */
.lrg {font-size: 1.125em;}
.bold {font-weight: bold;}
.text_normal { font-weight: normal; }
.bold.green {color: #008088;}
::-moz-selection {
  background: #008088; /*背景色*/
  color: #fff; /*文字色*/
}
::selection {
  background: #008088; /*背景色*/
  color: #fff; /*文字色*/
}
.red_txt{ color: red; }

@media screen and (max-width: 599px) {
  body {
    font-size: 1.4rem;
  }
  .nbr {
    display: none;
  }
  .sp_justify {
    text-align: justify;
  }
  .content_paragraph {
    margin-bottom: 18px;
  }
}
/*************************************
* アンカー・リンク関連
*************************************/
a {
  text-decoration: none;
}
/* テキストリンク */
.text_hover {
  text-decoration: underline;
  color: #e83928;
}
.hover .text_hover:hover,
.text_hover.hover {
  text-decoration: none;
}
/*************************************
* ホバー
*************************************/
/* ホバー時下線 */
.hover_line {
  display: inline-block;
  position: relative;
  transform: translateZ(0px);

  color: inherit;
}
.hover_line:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;

    background-color: #333;

    transition: width 500ms cubic-bezier(0.23, 1, 0.32, 1);
  }
.hover_line.green {
    color: #008088;
  }
.hover_line.green:after {
      background-color: #008088;
    }
.hover_line.gray:after {
      background-color: #cccccc;
    }
.hover .hover_line:hover:after,
  .hover_line.hover:after,
  .hover_line:focus:after {
    width: 0%;
  }


/* ホバー時半透明 */
.hover_alpha {
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hover .hover_alpha:hover,
.hover_alpha.hover,
.hover_alpha:focus {
  opacity:0.7;
  filter: alpha(opacity=70);
  zoom:1;
}
/* フィルター（ブライトネス）*/
.hover_bright {
  transition: filter 500ms cubic-bezier(0.23, 1, 0.32, 1);
}
.hover .hover_bright:hover,
.hover_bright.hover {
  filter: brightness(1.08);
}

/*************************************
* ホバータイプ1
*************************************/
.hover_type1 {
  color: #008088;

  padding-left: 0;
  padding-right: 0;
}
.hover_type1 i {
    font-size: 0.8em;
  }
.hover_type1 .text {
    color: inherit;
    text-decoration: underline;
  }
.hover .hover_type1:hover .text, .hover_type1.hover .text, .hover_type1:focus .text {
      text-decoration: none;
    }

/* 要素の回り込み */
.fleft      {float:left;}
.fright     {float:right;}
/* 要素の回り込み解除 */
.sc       {clear:both;}

/*************************************
* クリアフィックス
*************************************/
.cf:before,
.cf:after {
  content:"";
  display:table;
}
.cf:after {clear:both;}
.cf       {zoom:1;}
/*************************************
* ウィンドウサイズ毎の処理用
*************************************/
@media screen and (min-width: 768px) { /*例外的にmin-widthを使用しています。 */
  .pc_none {display: none;}
}
@media screen and (max-width: 768px) {

}
@media screen and (max-width: 599px) {
  .sp_none {display: none;}
}

/*************************************
* 背景色
*************************************/
.bg_cream {
  background-color: #fffeef;
}
.bg_green_dark {
  background-color: #008088;
}
.bg_green_dark.vari1 {
  background-color: #000f48;
}
.bg_green {
  background-color: #3ec8b7;
}
.bg_gray {
  background-color: #F5F5F5;
}

/* グラデーション・ストライプ */
.gd_green01 {
  background-size: 6px 6px;
  background-color: #3ec8b7;
  background-image: linear-gradient(-45deg, #6ed6c9 12.5%, #3ec8b7 12.5%, #3ec8b7 50%, #6ed6c9 50%, #6ed6c9 62.5%, #3ec8b7 62.5%);
}
.gd_green02 {
  background-size: 6px 6px;
  background-color: #008088;
  background-image: linear-gradient(-45deg, #42a1a7 12.5%, #008088 12.5%, #008088 50%, #42a1a7 50%, #42a1a7 62.5%, #008088 62.5%);
}
.gd_blue01 {
  background-size: 6px 6px;
  background-color: #000f48;
  background-image: linear-gradient(-45deg, #2d3968 12.5%, #000f48 12.5%, #000f48 50%, #2d3968 50%, #2d3968 62.5%, #000f48 62.5%);
}

/*************************************
* コンテナ―・コンテンツ
*************************************/
/* コンテンツボックス */
.content.begin {
    margin-top: 45px;
  }
.content.last {
    margin-bottom: 100px;
  }
.subpage .content {

  }
.content_type1 {
  margin-bottom: 80px;
}
.content_type1.bg_gray {
  padding: 28px 28px 28px 0;
}

.rowblock {
  margin-bottom: 40px;
}

/* サブコンテンツボックス(コンテンツボックス以下のブロック要素(サブコンテンツ)に適宜使用) */
.subcontent {
  margin-bottom: 20px;
}
/* コンテナ― */
.container {
  max-width:1040px; /* サイト毎に幅を指定してください。 */
  padding-left:20px;
  padding-right:20px;
  margin-left:auto;
  margin-right:auto;
}
@media screen and (max-width: 1039px) {
  .container {
    width:100%;
    padding-left:1.96078431372549%;
    padding-right:1.96078431372549%;
  }
}
@media screen and (max-width: 768px) {
  body {
    padding-top: 71px;
  }
  .content {
  }
  .content.last {
  }
}
@media screen and (max-width: 599px) {
  body {
    padding-top: 58px;
  }
    .content.begin {
      margin-top: 25px;
    }
    .content.last {
      margin-bottom: 60px;
    }
  .content_type1 {
    margin-bottom: 40px;
  }
  .rowblock {
    margin-bottom: 12px;
  }
}
/*********************************************************
*
* レイアウト
*
*********************************************************/
/*********************************************************
* レイアウト1
*********************************************************/
.layout_type1 .main {
    float: left;
    width: 75%;

    padding-left: 1.5%;
  }
.layout_type1 .aside {
    float: left;
    width: 25%;

    padding-right: 1.5%;
  }
@media screen and (max-width: 599px) {
  .layout_type1 .main {
    float: none;
    width: 100%;

    padding-left: 0;
  }
  .layout_type1 .aside {
    float: none;
    width: 100%;

    padding-right: 0;
  }
}
/*************************************************************
*
* Grid
*
*************************************************************/
/* row */
.row:before,
.row:after {
  content:"";
  display:table;
}
.row:after {clear:both;}
.row {zoom:1;}
.gutters {
  margin-left: -0.5%;
  margin-right: -0.5%;
}
/* 左右端のみ余白なし */
.wide_column.gutters {
  margin-left:0%;
  margin-right:0%;
}
.col_1,
.col_2,
.col_3,
.col_4,
.col_5,
.col_6,
.col_7,
.col_8,
.col_9,
.col_10,
.col_11,
.col_12 {
  display:block;
  float:left;
}
.row.right .col_1,
.row.right .col_2,
.row.right .col_3,
.row.right .col_4,
.row.right .col_5,
.row.right .col_6,
.row.right .col_7,
.row.right .col_8,
.row.right .col_9,
.row.right .col_10,
.row.right .col_11,
.row.right .col_12 {
  float: right;
}
.col_1  { width:8.3333333333%; }
.col_2  { width:16.6666666666%; }
.col_3  { width:25%; }
.col_4  { width:33.3333333333%; }
.col_5  { width:41.5555555555%; }
.col_6  { width:50%; }
.col_7  { width:58.1111111111%; }
.col_8  { width:66.6666666666%; }
.col_9  { width:75%; }
.col_10 { width:83%; }
.col_11 { width:91.6666666666%; }
.col_12 { width:100%; }
.col_6_all_img { text-align:center; }
.col_6_all_img img { width:100%; }
@media screen and ( max-width: 768px) {
  .col_6_all_img { padding-bottom: 20px; }
}
.gutters > * {
  padding-left: 0.5%;
  padding-right: 0.5%;
}
/* column */
@media screen and (max-width: 768px) {
  .row:not(.nochange) .col_1,
  .row:not(.nochange) .col_2,
  .row:not(.nochange) .col_3,
  .row:not(.nochange) .col_4,
  .row:not(.nochange) .col_5,
  .row:not(.nochange) .col_6,
  .row:not(.nochange) .col_7,
  .row:not(.nochange) .col_8,
  .row:not(.nochange) .col_9,
  .row:not(.nochange) .col_10,
  .row:not(.nochange) .col_11,
  .row:not(.nochange) .col_12,
  .row.right:not(.nochange) .col_1,
  .row.right:not(.nochange) .col_2,
  .row.right:not(.nochange) .col_3,
  .row.right:not(.nochange) .col_4,
  .row.right:not(.nochange) .col_5,
  .row.right:not(.nochange) .col_6,
  .row.right:not(.nochange) .col_7,
  .row.right:not(.nochange) .col_8,
  .row.right:not(.nochange) .col_9,
  .row.right:not(.nochange) .col_10,
  .row.right:not(.nochange) .col_11,
  .row.right:not(.nochange) .col_12 {
    display:block;
    float:none;
    width:100%;
  }
}
/**************************************************************
*
* パンくず
*
**************************************************************/
.topicpass {
  background-color: #f5f5f5;

  padding-top: 10px;
  padding-bottom: 15px;
}
.topicpass li {
  display: inline-block;

  font-size: 1.4rem;
}
.topicpass li::after {
  content: ">";
  font-family: 'icomoon';
  margin-left: 14px;
  margin-right: 6px;

  font-size: 1.2em;
}
.topicpass li:last-child::after {
  content: none;
}
.topicpass i::before {
  vertical-align: bottom;
}
.topicpass li a {
  text-decoration: underline;
  color: inherit;
}
.hover .topicpass li a:hover,
.topicpass li a.hover,
.topicpass li a:focus {
  text-decoration: none;
}
@media screen and (max-width: 599px) {
  .topicpass {
    background-color: transparent;
  }
  .topicpass li {
    font-size: 1.2rem;
  }
}
/*************************************************************
*
* ボタン
*
*************************************************************/
/*************************************
* btn_icon
*************************************/
.btn_icon {
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none;
  display: block;

  background-color: #3ec8b7;

  color: #fff;
  font-size: 3.2rem;

  width: 4rem;
  height: 4rem;

  padding: 4px;

}


/*************************************
* btn_type1
*************************************/
.btn_type1 {
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none;
  display:block;
  position: relative;

  padding: 11px 8px;
  padding-right: 3em;

  color: #fff;
}
/*
  transition: 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-property: color, background-color;
  */
.btn_type1.mauto {
    margin-left: auto;
    margin-right: auto;
  }
.btn_type1 i {
  font-size: 2em;

  position: absolute;
  top: 0.15em;
  bottom: 0;
  right: 8px;

  width: 1em;
  height: 1em;
}

/* large */
.btn_type1.large {
  font-size: 3rem;
  font-weight: 500;
  text-align: center;

  max-width: 500px;

  padding-right: 8px;
}
.btn_type1.large i {
    position: relative;
    right: auto;
    height: 30px;

    margin-top: -20px;
    margin-right: 8px;

    display: inline-block;

    vertical-align: -0.7rem;
  }
@media screen and (max-width: 599px) {
  /* large */
  .btn_type1.large {
    max-width: 300px;

    font-size: 2.1rem;

    padding: 15px 8px 12px;
  }

    .btn_type1.large i {
      vertical-align:  -0.5rem;
    }
}
/*************************************
* btn_type2
*************************************/
.btn_type2 {
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none;
  display:table;
  width: 100%;
  max-width: 600px;

  border: 2px #3ec8b7 solid;
}
.btn_type2 > * {
    display: table-cell;
    vertical-align: middle;
  }
.btn_type2 .balloon {
  display: block;
  font-size: 0.75em;
  color: #f00;

  animation: 1s btn2_flash infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.btn_type2 .detail {
    background-color: #3ec8b7;

    color: #fff;
    font-size: 2.4rem;
    font-weight: 200;
    line-height: 1.25;

    padding: 30px;

    width: 220px;

    position: relative;
  }
.btn_type2 .detail:after {
      content: "";
      position: absolute;
      left: 100%;
      bottom: 15px;

      width: 0;
      height: 0;
      border-style: solid;
      border-width: 7.5px 0 7.5px 25px;
      border-color: transparent transparent transparent #3ec8b7;
    }
.btn_type2 .image {
    background-color: #fff;

    color: #008088;
    font-size: 10rem;
    text-align: center;

    width: calc(100% - 190px);
    position: relative;

    transition: 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition-property: color, background-color;
  }
.btn_type2 .image:after {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 6px 6px 0;
      border-color: transparent #3ec8b7 transparent transparent;

      position: absolute;
      top: 2px;
      right: 2px;
    }
.btn_type2 .image i {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 1em;
      height: 1em;

      margin: auto;
    }
.hover .btn_type2:hover .image,
  .btn_type2.hover .image,
  .btn_type2:focus .image {
    color: #fff;

    background-color: #3ec8b7;
  }
.hover .btn_type2:hover .image i,
  .btn_type2.hover .image i,
  .btn_type2:focus .image i {
    animation: btn_type2 500ms ease-in-out forwards;
  }
@media screen and (max-width: 999px) {
    .btn_type2 .detail {
      font-size: 1.8rem;

      padding: 12px;

      width: 140px;
    }
    .btn_type2 .image {
      font-size: 6rem;
    }
}
@media screen and (max-width: 768px) {
  .btn_type2 {
    display: block;
  }

    .btn_type2 > * {
      display: block;
    }
    .btn_type2 .detail {
      width: 100%;

      text-align: center;
    }

      .btn_type2 .detail br {
        display: none;
      }

      .btn_type2 .detail:after {
        content: none;
      }
    .btn_type2 .image {
      width: 100%;
      height: 150px;

      font-size: 12rem;
    }
}

@media screen and (max-width: 599px) {
  .btn_type2 {
    display: table;
    max-width: inherit;

    margin-bottom: 15px;
  }

    .btn_type2 > * {
      display: table-cell;
    }
    .btn_type2 .detail {
      width: 220px;
      height: auto;

      text-align: left;
      font-size: 1.8rem;

      padding: 18px;
    }

      .btn_type2 .detail br {
        display: inline;
      }

      .btn_type2 .detail:after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 6px 6px 0;
        border-color: transparent #3ec8b7 transparent transparent;

        position: absolute;
        top: 2px;
        right: 2px;
      }
    .btn_type2 .image {
      width: auto;
      height: 70px;

      font-size: 6rem;
    }
}

@keyframes btn_type2 {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}
@keyframes btn2_flash {
  0% { opacity: 0; }
  10% { opacity: 1; }
  70% { opacity: 1; }
  80% { opacity: 0; }
  100% { opacity: 0; }
}
/*************************************
* btn_type3
*************************************/
.btn_type3 {
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none;
  display:block;
  position: relative;

  padding-top: 35px;
  padding-bottom: 20px;

  color: #fff;
  text-align: center;
  background-color: #3ec8b7;

  transition: 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-property: transform, box-shadow;
}
.hover .btn_type3:hover,
  .btn_type3.hover,
  .btn_type3:focus {
    box-shadow:0px 8px 11px -1px #6e6e6e;
    -ms-transform :translateY(-10px);
        transform :translateY(-10px);
  }
.btn_type3:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 6px 6px 0;
    border-color: transparent #fff transparent transparent;

    position: absolute;
    top: 2px;
    right: 2px;
  }
.btn_type3 .image {
    font-size: 10rem;

    margin-bottom: 25px;
  }
.btn_type3 .image i {
      text-shadow: 1px 1px 3px rgba(150, 150, 150, 1);
    }
.btn_type3 .headline {
    font-size: 3rem;
    font-weight: 200;

    margin-bottom: 6px;
  }
.btn_type3 .subtext {
    /* font-size: 1.4rem; */
    font-size: 1.3rem;
    font-weight: 200;
  }
@media screen and (max-width: 999px) {
    .btn_type3 .image {
      font-size: 8rem;
    }
    .btn_type3 .headline {
      font-size: 2.3rem;
    }
}
@media screen and (max-width: 768px) {
  .btn_type3 {
    display: table;
    width: 100%;
  }

    .btn_type3 > * {
      display: table-cell;
      vertical-align: middle;

      padding: 5px 10px;
    }

    .btn_type3 .image {
      width: 90px;
    }

    .btn_type3 .detail {
      text-align: left;
    }

    .btn_type3 .headline {
      font-weight: 600;
    }
}
@media screen and (max-width: 599px) {
  .btn_type3 {
    display: block;
    width: 100%;

    padding-top: 20px;
  }

    .btn_type3 > * {
      display: block;

      padding: 5px 10px;
    }

    .btn_type3 .image {
      width: auto;

      margin-bottom: 0;

      font-size: 6rem;
    }

    .btn_type3 .detail {
      text-align: center;
    }

    .btn_type3 .headline {
      font-weight: 600;
      font-size: 1.6rem;
    }
    .btn_type3 .subtext {
      font-size: 1.25rem;
    }
}
/*************************************
* btn_type4
*************************************/
.btn_type4 {
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none;
  display: block;
  position: relative;
  overflow: hidden;
  width: 250px;

  padding: 15px;

  color: #fff;
  text-align: center;
  font-weight: 200;
  line-height: 1.1;
  background-color: #008088;

  transition: 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-property: opacity;
}
.hover .btn_type4:hover,
  .btn_type4.hover,
  .btn_type4:focus {
    opacity: 0.8;
  }
.btn_type4:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 6px 6px 0;
    border-color: transparent #fff transparent transparent;

    position: absolute;
    top: 2px;
    right: 2px;

    transition: 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition-property: border-width;
  }
.hover .btn_type4:hover:after,
  .btn_type4.hover:after,
  .btn_type4:focus:after {
    border-width: 0 30px 30px 0;
  }
.btn_type4.gray {
    background-color: #999;
  }
.btn_type4.mauto {
    margin-left: auto;
    margin-right: auto;
  }
.btn_type4.inline {
    display: inline-block;
    vertical-align: middle;
  }
.btn_type4.small {
    padding: 10px;
    width: 240px;
  }
.btn_type4 .layer {
    position: relative;
    z-index: 2;
  }
/* vari1 */
.btn_type4.vari1 .icon-arrow01 {
      font-size: 0.5em;
      vertical-align: 0.2em;

      margin-right: 5px;
    }
/* vari2 */
.btn_type4.vari2 {
    font-size: 2.4rem;
    font-weight: 500;

    width: 300px;
  }
.btn_type4.vari2 .icon-arrow01 {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 20px;
      width: 0.25em;
      height: 0.45em;

      margin: auto;

      font-size: 0.35em;
    }
.btn_type4.vari2 .text {
      display: inline-block;

      text-align: left;
      line-height: 1.4;
    }
.btn_type4.vari2 .text .sml {
        display: block;

        font-weight: normal;
        font-size: 0.5em;
      }
.btn_type4.vari2.two_row {
      padding-top: 9px;
      padding-bottom: 8px;
    }
.btn_type4.vari2.small {
      font-size: 1.8rem;
      font-weight: 300;

      width: 200px;
    }
/* vari3 */
.btn_type4.vari3 {
    text-align: left;
    line-height: 1.65;
    font-size: 1.8rem;

    position: relative;
  }
.btn_type4.vari3 .icon-arrow01 {
      position: absolute;
      top: 0;;
      bottom: 0;
      right: 10px;

      margin: auto;

      widows: 1em;
      height: 1em;

      font-size: 0.8em;
    }
/* vari4 */
.btn_type4.vari4 {
    background-color: #fff;
    border: 1px solid #008088;

    color: #008088;
    font-weight: 400;
    font-size: 2.2rem;

    width: 90%;
    max-width: none;
    position: relative;

    margin-right: 0;
    margin-left: auto;
    padding: 4px 8px 8px;
  }
.btn_type4.vari4:after {
      border-color: transparent #008088 transparent transparent;
    }
.btn_type4.vari4 i {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 20px;
      width: 1em;
      height: 1em;

      font-size: 0.5em;

      margin: auto;
    }
/* 背景薄め */
.btn_type4.__thin {
  background-color: #dadada;

  color: #000;
}
/* inline */
.btn_type4.__inline {
  display: inline-block;
  max-width: 200px;
}
/* 幅100% */
.btn_type4.__max_width {
  width: 100%;
}
@media screen and (max-width: 999px) {
    /* vari2 */
      .btn_type4.vari2.two_row {
        padding-bottom: 10px;
      }
}
@media screen and (max-width: 768px) {
    /* vari2 */
    .btn_type4.vari2 {
      font-size: 2.6rem;
    }
}
@media screen and (max-width: 599px) {
    .btn_type4.vari2 {
      font-size: 2.2rem;

      width: 280px;
    }
}
/*************************************
* btn_type5
*************************************/
.btn_type5 {
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none;
  display: block;
  position: relative;

  color: #fff;
  text-align: center;
  font-size: 2.4rem;

  background-color: #3ec8b7;

  padding: 16px 5px;
}
.btn_type5 .icon-arrow01 {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    width: 1em;
    height: 1em;

    margin: auto;

    font-size: 0.3em;
  }
.btn_type5.inline {
    display: inline-block;

    width: 280px;
  }
.btn_type5.vari1 {
  font-size: 1.52rem;
}
@media screen and (max-width: 768px) {
  .btn_type5 {
    font-size: 1.8rem;
  }

    .btn_type5.inline {
      width: 220px;
    }
}
@media screen and (max-width: 599px) {
  .btn_type5 {
    font-size: 1.5rem;
    font-weight: 600;
  }

    .btn_type5.inline {
      width: 280px;
    }
}
/*************************************
* btn_type6
*************************************/
.btn_type6 {
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none;
  display: block;
  position: relative;
  width: 100%;
  max-width: 320px;

  color: #fff;
  text-align: center;
  font-size: 1.6rem;

  background-color: #fecb38;
  border: #e9ae11 1px solid;
  border-radius: 3px;

  padding: 12px 5px;
}
.btn_type6.mauto {
  margin-left: auto;
  margin-right: auto;
}
.btn_type6.inline {
  display: inline-block;
}

/* vari1 */
.btn_type6.vari1 {
  font-size: 1.26rem;

  width: auto;
  max-width: 100px;

  padding: 3px 10px;
}
@media screen and (max-width: 999px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 599px) {
}

/**************************************************************
*
* テキスト
*
**************************************************************/
.text_green {
  font-weight: 600;
  color: #008088;
}
.text_red {
  color: #ef5d5d;
}

/**************************************************************
*
* タブ
*
**************************************************************/
.tabmenu .tabhead {
    padding-bottom: 22px;
    margin-bottom: 65px;
  }
.tabmenu .tabhead .flex {
      -js-display: flex;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: stretch;
          align-items: stretch;

      margin-left: -4px;
      margin-right: -4px;
    }
.tabmenu .tabhead .tabitem {
      -ms-flex: 1 0;
          flex: 1 0;
      -ms-flex-preferred-size: 15%;
          flex-basis: 15%;
      max-width: 15%;
      -ms-flex-item-align: end;
          align-self: flex-end;

      margin-left: 4px;
      margin-right: 4px;
      padding: 35px 5px;

      display: block;
      position: relative;

      text-align: center;
      color: #3ec8b7;
      font-weight: 500;

      border: #3ec8b7 1px solid;
      border-top-left-radius: 10px;
      border-top-right-radius: 10px;
      background-color: #fff;

      transition: 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition-property: color, background-color;

    }
.tabmenu .tabhead .tabitem:after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 19px 11px 0 11px;
        border-color: #fff transparent transparent transparent;

        position: absolute;
        left: 0;
        right: 0;
        top: calc(100% + 1px);

        margin: auto;

        transition: 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
        transition-property: border-color;
      }
.hover .tabmenu .tabhead .tabitem:hover,
      .tabmenu .tabhead .tabitem.hover,
      .tabmenu .tabhead .tabitem:focus,
      .tabmenu .tabhead .tabitem.active {
        color: #fff;

        background-color: #3ec8b7;
      }
.hover .tabmenu .tabhead .tabitem:hover:after, .tabmenu .tabhead .tabitem.hover:after, .tabmenu .tabhead .tabitem:focus:after, .tabmenu .tabhead .tabitem.active:after {
          border-color: #3ec8b7 transparent transparent transparent;
        }
.tabmenu .tabbody {
    /*.tabitem:not(.active) {
      display: none;
    }*/
  }
.tabmenu.pay .tabhead .tabitem {
        -ms-flex-preferred-size: 23%;
            flex-basis: 23%;
        max-width: 23%;
      }
.tabmenu.data .tabhead .tabitem {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        max-width: 100%;
      }
@media screen and (max-width: 768px) {
    .tabmenu .tabhead {
      margin-bottom: 15px;
    }

      .tabmenu .tabhead .tabitem {
        padding-top: 20px;
        padding-bottom: 20px;
      }
}
@media screen and (max-width: 599px) {
      .tabmenu .tabhead .tabitem {
        font-size: 1.244rem;
        font-weight: 600;

        padding: 12px 2px;
      }
}
/**************************************************************
*
* ボックス
*
**************************************************************/
/*************************************
* ボックス1
*************************************/
.box_type1 {
  display: block;

  color: inherit;
}
.box_type1 .image {
    overflow: hidden;

    position: relative;
  }
.box_type1 .image:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0,0,0,0.4);

      transition: 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition-property: opacity;

      opacity: 0;
    }
.box_type1 .image .objfit {
      width: 100%;
      height: 180px;
      object-fit: cover;
      object-position: center;
      font-family: 'object-fit: cover;object-position: center;';
    }
.hover .box_type1:hover .image:after,
  .box_type1.hover .image:after,
  .box_type1:focus .image:after {
    opacity: 1;
  }
.box_type1 .detail {
    margin-top: 20px;
    padding: 15px;

    border: #dcdcdc 3px solid;

    position: relative;
  }
.box_type1 .detail:before {
      content: "";
      position: absolute;
      bottom: 100%;
      left: 15px;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 9px 20px 9px;
      border-color: transparent transparent #dcdcdc transparent;

    }
.box_type1 .detail:after {
      content: "";
      position: absolute;
      bottom: 100%;
      left: 18px;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 6px 14px 6px;
      border-color: transparent transparent #ffffff transparent;

    }
.box_type1 .detail .date {
      display: block;

      margin-bottom: 8px;
    }
.box_type1 .detail .paragraph {
      line-height: 1.75;
    }
@media screen and (max-width: 768px) {
  .box_type1 {
    display: table;
    width: 100%;
  }

    .box_type1 > * {
      display: table-cell;
      vertical-align: top;
    }

    .box_type1 .image {
      width: 35%;

      padding-right: 25px;
    }

      .box_type1 .image .objfit {
        height: 130px;
      }
      .box_type1 .detail:before {
        content: "";
        bottom: auto;
        left: auto;
        right: 100%;
        top: 30px;

        border-width: 7px 20px 7px 0;
        border-color: transparent #dcdcdc transparent transparent;
      }
      .box_type1 .detail:after {
        bottom: auto;
        left: auto;
        right: 100%;
        top: 32px;

        border-width: 5px 16px 5px 0;
        border-color: transparent #ffffff transparent transparent;

      }
}
@media screen and (max-width: 599px) {
    .box_type1 .image {
      width: 50%;
    }

      .box_type1 .image .objfit {
        height: 100px;
      }
    .box_type1 .detail {
      padding: 10px;
    }
}
/*************************************
* ボックス2
*************************************/
.box_type2 {
  display: block;

  border: #008088 2px solid;

  padding: 15px 20px;

  line-height: 1.5;
}
/*************************************
* ボックス3
*************************************/
.box_type3 {
  display: block;

  padding: 25px 30px;

  border: #3ec8b7 1px solid;
}
.box_type3 .paragraph {
    line-height: 1.75;

    margin-bottom: 15px;
  }
@media screen and (max-width: 599px) {
  .box_type3 {
    padding: 15px;
  }

}
/*************************************
* ボックス4
*************************************/
.box_type4 {
  display: block;

  border: #008088 2px solid;

  padding: 15px 20px;

  line-height: 1.5;
}
/**************************************************************
* ボックス5
**************************************************************/
.box_type5 {
  background-color: #fff;
  border: 2px solid #008088;
}

.box_type5 .head {
  padding: 0.324em 0.79em;

  color: #fff;
  font-weight: bold;

  background-color: #008088;
}
.box_type5 .body {
  padding: 1em;

  height: 530px;
  overflow-y: scroll;
}

@media screen and (max-width: 599px) {
  .box_type5 .body {
      height: 380px;
  }
}


@media screen and (max-width: 999px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 599px) {
}

/**************************************************************
*
* レイアウト
*
**************************************************************/
/**************************************************************
* レイアウト1
**************************************************************/
.layout_type1 {
  margin-bottom: 45px;
}
.layout_type1 .head {
    width: 160px;
    float: left;
  }
.layout_type1 .head .box {
      width: 120px;
      height: 120px;

      border: #3ec8b7 4px solid;

      padding: 10px 5px;

      text-align: center;
      color: #3ec8b7;
    }
.layout_type1 .head .box .dhead {
        display: block;

        margin-bottom: 2px;
      }
.layout_type1 .head .box .dhead.sml {
          font-size: 0.75em;

          margin-top: -2px;
        }
.layout_type1 .head .box .ditem {
        font-size: 7rem;
      }
.layout_type1 .flex {
    width: calc(100% - 160px);
    float: left;

    -js-display: flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: stretch;
        align-items: stretch;
    -ms-flex-line-pack: start;
        align-content: flex-start;
  }
.layout_type1 .flex .fitem {
      -ms-flex: 0 1;
          flex: 0 1;
      -ms-flex-preferred-size: 48%;
          flex-basis: 48%;
      max-width: 48%;

      padding: 20px 15px;

      border: #3ec8b7 1px solid;
    }
.layout_type1 .flex .fitem .icon {
        margin-bottom: 18px;
      }
.layout_type1 .flex .fitem .headline {
        font-weight: 600;
        line-height: 1.75;

        margin-bottom: 18px;
      }
.layout_type1 .flex .fitem .detail {
        margin-bottom: 18px;
      }
.layout_type1 .flex .fitem .dlist {
        margin-bottom: 4px;

        font-size: 1.2rem;
      }
.layout_type1 .flex .fitem .dlist > * {
          display: inline;
        }
@media screen and (max-width: 999px) {

    .layout_type1 .head {
      width: 130px;
    }

    .layout_type1 .flex {
      width: calc(100% - 130px);
    }
}
@media screen and (max-width: 768px) {

    .layout_type1 .head {
      width: 130px;
      float: none;
    }

    .layout_type1 .flex {
      width: 100%;
      float: none;
    }
}
@media screen and (max-width: 599px) {
    .layout_type1 .head {
      margin-left: auto;
      margin-right: auto;
    }
      .layout_type1 .flex .fitem {
        -ms-flex: 1 1;
            flex: 1 1;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        max-width: 100%;
      }
}
/**************************************************************
*
* テーブル
*
**************************************************************/
.table_container {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 999px) {
  .table_container::-webkit-scrollbar {
    height: 5px;
  }
  .table_container::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: #eee;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
  }
  /*スクロールバーの動く部分*/
  .table_container::-webkit-scrollbar-thumb {
    background-color: rgba(29, 33, 139, 0.7);
    border-radius: 10px;
    box-shadow:0 0 0 1px rgba(255, 255, 255, .7);
  }
}
/*************************************
* テーブル1
*************************************/
.table_type1 {
  width: 100%;
}
.table_type1 .thead,
.table_type1 .titem {
  vertical-align: middle;
  line-height: 1.75;

  padding: 23px 40px;
}

.table_type1 .thead {
  background-color: #3ec8b7;

  color: #fff;
  text-align: left;
  white-space: nowrap;

  border-bottom: #fff 2px solid;
}
.table_type1 tbody tr:first-child .thead,
.table_type1 tbody tr:first-child .titem {
  border-top: #3ec8b7 2px solid;
}
.table_type1 tbody tr:last-child .thead {
  border-bottom: #3ec8b7 2px solid;
}
.table_type1 .titem {
  border-bottom: #3ec8b7 2px solid;
}

.table_type1 .list01 li {
  display: inline;
}

.table_type1 .list01 li:not(:last-child):after {
    content: "、";
    display: inline;
  }
@media screen and (max-width: 999px) {
  .table_type1 .thead,
  .table_type1 .titem {
    padding: 18px 25px;
  }
}
@media screen and (max-width: 768px) {
  .table_type1 .thead,
  .table_type1 .titem {
    padding: 18px 20px;
  }
}
@media screen and (max-width: 599px) {
  .table_type1 .thead,
  .table_type1 .titem {
    padding: 10px;

    font-size: 1.244rem;
  }

  /* vari1 */
  .table_type1.vari1 .thead,
  .table_type1.vari1 .titem {
    display: block;
  }
  .table_type1.vari1 tbody tr:first-child .thead,
  .table_type1.vari1 tbody tr:first-child .titem {
    border-top: none;
  }
  .table_type1.vari1 .thead {
    font-weight: 500;

    padding-top: 5px;
    padding-bottom: 5px;
  }
  .table_type1.vari1 tbody tr:last-child .thead {
    border-bottom: none;
  }
  .table_type1.vari1 .titem {
    border-bottom: none;

    background-color: #ecfffd;
  }
}
/*************************************
* テーブル2
*************************************/
.table_type2 {
  margin-left: auto;
  margin-right: auto;
}
.table_type2 .thead,
.table_type2 .titem {
  vertical-align: middle;
  line-height: 1.75;
}

.table_type2 .thead {
  background-color: #3ec8b7;

  color: #fff;
  line-height: 1.35;
  text-align: center;
  white-space: nowrap;

  padding: 10px 20px;

  background-color: #3ec8b7;
}

.table_type2 .thead .sml {
    white-space: nowrap;
  }
.table_type2 thead tr .thead:not(:last-child) {
  border-right: #fff 1px solid;
}
.table_type2 .titem {
  padding: 5px 20px;

  border: #3ec8b7 1px solid;
}
.table_type2 .titem.blue {
  text-align: center;

  background-color: #e9fffc;
}
.table_type2 .titem.tright {
  text-align: right;
}

/* vari1 */
.table_type2.vari1 {
  width: 100%;
}
/* vari2 */
.table_type2.vari2 {
  width: 100%;
}
.table_type2.vari2 .titem {
  text-align: right;
}
/* グレー */
.table_type2.__color_gray .thead {
  background-color: #ddd;

  color: #000;
}
.table_type2.__color_gray .titem {
  border: #ddd 1px solid;
}
@media screen and (max-width: 768px) {
  .table_type2 .titem .sub {
    font-size: 1.244rem;

    display: block;
  }
}
@media screen and (max-width: 599px) {
  .table_type2 {
    width: 100%;
  }
  .table_type2 .thead,
  .table_type2 .titem {
    padding: 5px;

    font-size: 1.244rem;
  }
}
/*************************************
* テーブル3
*************************************/
.table_type3 {
  margin-left: auto;
  margin-right: auto;
}
.table_type3 .thead,
.table_type3 .titem {
  vertical-align: middle;
  line-height: 1.75;

  padding: 8px 20px;
}

.table_type3 .thead {
  background-color: #3ec8b7;

  color: #fff;
  text-align: left;
}
.table_type3 tbody tr:not(:last-child) .thead {
  border-bottom: 1px solid #fff;
}
.table_type3 tbody tr:last-child .thead {
  border-bottom: 1px solid #3ec8b7;
}
.table_type3 .titem {
  border: #3ec8b7 1px solid;
}

/* 左寄せ */
.table_type3.__left {
  margin-left: 0;
}
@media screen and (max-width: 599px) {
  .table_type3 .thead,
  .table_type3 .titem {
    font-size: 1.244rem;

    padding: 4px 12px;
  }
}

/*************************************
* テーブル4
*************************************/
.table_type4 {
  width: 100%;
}
.table_type4 .thead,
.table_type4 .titem {
  vertical-align: text-top;
  line-height: 1.75;

  padding: 20px 30px;

}
.table_type4 .thead.line,
.table_type4 .titem.line {
  border-bottom: #cccccc 1px solid;
}
.table_type4 tbody tr:first-child .thead,
.table_type4 tbody tr:first-child .titem {
  border-top: #cccccc 1px solid;
}
.table_type4 .thead {
  text-align: left;
}
.table_type4 .thead:not([colspan="2"]) {
  width: 240px;
}
@media screen and (max-width: 599px) {
  .table_type4 .thead,
  .table_type4 .titem {
    display: block;
  }
  .table_type4 .thead {
    padding: 15px 15px 0px;

    font-weight: 500;
  }
  .table_type4 .titem {
    padding: 5px 15px 15px;
  }
  .table_type4 .thead.none {
    display: none;
  }
  .table_type4 .thead.line {
    border-bottom: none;
  }
  .table_type4 .thead:not([colspan="2"]) {
    width: 100%;
  }
  .table_type4 tbody tr:first-child .titem {
    border-top: none;
  }
}
/*************************************
* テーブル5
*************************************/
.table_type5 {
  width: 100%;
}
.table_type5 .thead,
  .table_type5 .titem {
    padding: 17px;

    text-align: left;
    vertical-align: middle;
    line-height: 1.75;

    border: 1px solid #cccccc;
  }
.table_type5 .thead {
    white-space: nowrap;
  }
.guest.subpage .table_type5 .thead {
      width: 200px;
    }
@media screen and (max-width: 599px) {
    .table_type5 .thead,
    .table_type5 .titem {
      width: 100% !important;
      display: block;

      padding: 10px;
    }
    .table_type5 .thead {
      border-bottom: none;

      background-color: #ecfffd;
    }

    .table_type5 tbody tr:not(:last-child) .titem {
      border-bottom: none;
    }
  }
/*************************************
* テーブル6
*************************************/
.table_type6 {
	width: 100%;
}
.table_type6.wauto {
  width: auto;
}
.table_type6 .th,
.table_type6 .td {
  vertical-align: middle;
  line-height: 1.75;
}

.table_type6 .thead,
.table_type6 .titem {
  border: #3ec8b7 1px solid;

  padding: 5px 9px;

  line-height: 1.65;
}
.table_type6 .titem.gray {
  background-color: #eee;
}

.table_type6 .thead {
  background-color: #3ec8b7;

  padding-left: 3px;

  color: #fff;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;

  background-color: #3ec8b7;
}
.table_type6 .thead .sml {
  font-size: 1.2rem;
}
.table_type6 thead tr .thead:not(:last-child) {
  border-right-color: #fff;
}
.table_type6 thead tr:not(:first-child) .thead {
  border-top-color: #fff;
}

.table_type6 .titem {
	text-align: right;
}
.table_type6 .titem.blue {
  text-align: left;

  background-color: #e9fffc;

  width: 190px;
}
.table_type6 .titem.wauto {
  width: auto
}
.table_type6 .titem.mini {
  font-size: 1.244rem;
}

@media screen and (max-width: 979px) {
  .table_type6:not(.wauto) {
    min-width: 979px;
    margin-bottom: 0 !important;
  }
  .table_type6.responsible {
    min-width: inherit;
  }

  .table_type6_container {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;

    margin-bottom: 30px;
  }
  .table_type6_container::-webkit-scrollbar {
    height: 5px;
  }
  .table_type6_container::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: #eee;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
  }
  /*スクロールバーの動く部分*/
  .table_type6_container::-webkit-scrollbar-thumb {
    background-color: rgba(29, 33, 139, 0.7);
    border-radius: 10px;
    box-shadow:0 0 0 1px rgba(255, 255, 255, .7);
  }
}

@media screen and (max-width: 768px) {
  /*.table_type6 { 
    display: block; 
    width: 100%; 
    margin: 0 -10px;
  }
  .table_type6 thead { 
    display: block; 
    float: left;
    overflow-x:scroll;
  }
  .table_type6 tbody { 
    display: block; 
    width: auto; 
    overflow-x: auto; 
    white-space: nowrap;
  }
  .table_type6 .thead { 
    display: block;
    width:auto;
  }
  .table_type6 tbody tr { 
    display: inline-block; 
    margin: 0 -3px;
  }
  .table_type6 .titem { 
    display: block;
  }*/
}
/**************************************************************
*
* リスト
*
**************************************************************/
/*************************************
* リスト1
*************************************/
.list_type1 .litem {
    margin-bottom: 10px;
  }
.list_type1 .litem i {
      color: #3ec8b7;
      font-size: 1rem;
      line-height: 2.6;

      display: block;
      width: 18px;
      float: left;
    }
.list_type1 .litem .text {
      display: block;
      width: calc(100% - 18px);
      float: left;
    }
.list_type1 .litem .text a {
        color: #000;
        font-weight: 200;
        line-height: 1.5;
        text-decoration: underline;
      }
.hover .list_type1 .litem .text a:hover,
        .list_type1 .litem .text a.hover,
        .list_type1 .litem .text a:focus {
          color: #3ec8b7;
          text-decoration: none;
        }
/*************************************
* リスト2
*************************************/
.list_type2 > .litem {
    padding-left: 20px;

    position: relative;

    line-height: 1.75;
  }
.list_type2 > .litem:after {
      content: "";
      position: absolute;
      top: 9px;
      bottom: 0;
      left: 0;

      width: 0;
      height: 0;
      border-style: solid;
      border-width: 12px 6px 0 6px;
      border-color: #000000 transparent transparent transparent;
    }
.list_type2 ul {
    margin-left: 20px;
  }
/*************************************
* リスト3
*************************************/
.list_type3 > .litem {
    list-style: disc;
    margin-left: 1.6em;

    line-height: 1.75;
  }
/*************************************
* リスト4
*************************************/
.list_type4 .litem:before {
      content: "";
      width: 13px;
      height: 13px;
      display: inline-block;

      margin-right: 8px;

      background-color: #008088;

      line-height: 2;
    }
/*************************************
* リスト5
*************************************/
.list_type5 .litem {
    list-style: disc;
    line-height: 2.2;

    margin-left: 3.2em;

    width: 33%;
    float: left;
  }
.list_type5 .litem a {
      color: inherit;
    }
@media screen and (max-width: 599px) {
    .list_type5 .litem {
      float: none;
      width: calc(100% - 3.2em);
    }
}
/*************************************
* リスト
*************************************/
.list_type6 .litem {
  margin-bottom: 0.75rem;
  padding-left: 1.5rem;

  line-height: 1.75;
  text-indent: -1.5rem;
}
.list_type6 .litem::before {
  content: "※";
}

  /*************************************
* 定義リスト1
*************************************/
.dlist_type1 {
  -js-display: flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center;
}
.dlist_type1 .dhead {
    border: #3ec8b7 2px solid;

    padding: 30px 15px;

    font-size: 1.6rem;
    font-weight: 600;
    color: #3ec8b7;
    white-space: nowrap;
  }
.dlist_type1 .ditem {
    line-height: 1.75;
    text-align: left;

    padding-left: 15px;
  }
@media screen and (max-width: 599px) {
  .dlist_type1 {
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
    -ms-flex-align: start;
        align-items: flex-start;
  }

    .dlist_type1 .dhead {
      font-size: 1.4rem;

      padding: 10px;
    }
    .dlist_type1 .ditem {
      padding-left: 0;
      margin-top: 8px;
    }
}
/*************************************
* 定義リスト2
*************************************/
.dlist_type2 {
  font-size: 1.4rem;
  line-height: 1.5;
}
.dlist_type2 .dhead {
    display: inline-block;
    vertical-align: middle;
    width: 130px;

    /*background-color: #909090;*/
    /*color: #fff;*/
    background-color: #f0f0f0;

    font-size: 1.2rem;
    color: #666;

    margin-right: 10px;
    padding: 4px 8px 5px;
  }
.dlist_type2 .ditem {
    display: inline-block;
    vertical-align: middle;
    padding: 4px 8px 5px;
  }
/*************************************
* 定義リスト3
*************************************/
.dlist_type3 {
  font-size: 1.2rem;
  line-height: 1.5;
}
.dlist_type3 .dhead {
    display: inline-block;
    vertical-align: middle;
    width: 45px;

    background-color: #999999;

    color: #fff;
    text-align: center;

    margin-right: 5px;
    padding: 2px 3px;
  }
.dlist_type3 .ditem {
    display: inline-block;
    vertical-align: middle;
  }
/*************************************
* 見積り作成 金額リスト
*************************************/
.dlist_price {
  width: 200px;

  font-size: 0;
}
.dlist_price .dhead {
    display: inline-block;
    width: 70px;

    font-size: 1.4rem;
    vertical-align: middle;
  }
.dlist_price .ditem {
    display: inline-block;
    width: calc(100% - 70px);

    font-size: 1.4rem;
    text-align: right;
    vertical-align: middle;
  }
.dlist_price .ditem .bold {
      font-size: 1.8rem;

      margin-right: 5px;
    }
.dlist_price .ditem .bold.big {
        font-size: 2.4rem;
      }
/* vari1 */
.dlist_price.vari1 .dhead {
      display: block;
      width: auto;
    }
.dlist_price.vari1 .ditem {
      display: block;
      width: 100%;
      text-align: right;
    }
@media screen and (max-width: 599px) {
.dlist_price {
    /* vari1 */
}
          .dlist_price.var1 .ditem .bold.big {
            font-size: 1.6rem;
          }
  }
/*************************************
* 順番リスト1
*************************************/
.olist_type1 {
}

@media screen and (max-width: 999px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 599px) {
}

/*************************************************************
*
* 見出し
*
*************************************************************/
/*************************************
* 見出し1
*************************************/
.headline_type1 {
  text-align: center;
  font-size: 3rem;

  position: relative;

  padding-bottom: 18px;
  margin-bottom: 38px;
}
.headline_type1:before {
    content: "";
    width: 150px;
    height: 4px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;

    margin: auto;

    background-color: #008088;
  }
.headline_type1:after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 0;
    right: 0;

    margin: auto;

    width: 0;
    height: 0;
    border-style: solid;
    border-width: 9px 5px 0 5px;
    border-color: #008088 transparent transparent transparent;
  }
@media screen and (max-width: 599px) {
  .headline_type1 {
    font-size: 2.2rem;

    padding-bottom: 10px;
    margin-bottom: 28px;
  }
}

/*************************************
* 見出し2
*************************************/
.headline_type2 {
  font-size: 3rem;
  font-weight: 400;

  padding-left: 18px;
  padding-top: 12px;
  padding-bottom: 12px;
  margin-bottom: 20px;

  border-left: #3ec8b7 10px solid;
  border-bottom: #3ec8b7 1px dashed;
}
.headline_type2 > * {
    display: inline;
  }
.headline_type2 .num {
    color: #3ec8b7;
    font-size: 1.2em;
    vertical-align: -0.05em;

    margin-right: 20px;
  }
/* vari1 */
.headline_type2.vari1 {
    font-size: 2rem;
    font-weight: 500;
  }
.headline_type2_offset {
  padding-left: 28px;
}

@media screen and (max-width: 768px) {
  .headline_type2 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 599px) {
  .headline_type2 {
    font-size: 1.8rem;
    font-weight: 500;

    padding-left: 8px;
    margin-bottom: 15px;

    border-left-width: 5px;
  }
  .headline_type2_offset {
    padding-left: 0px;
  }
}
/*************************************
* 見出し3
*************************************/
.headline_type3 {
  padding-bottom: 12px;
  margin-bottom: 20px;

  border-bottom: #3ec8b7 2px dotted;
}
.headline_type3 > * {
    display: block;
    float: left;
  }
.headline_type3 .num {
    color: #3ec8b7;
    font-size: 3.4rem;

    margin-right: 15px;
  }
.headline_type3 .headline {
    font-size: 3rem;

  }
@media screen and (max-width: 599px) {
  .headline_type3 {
    padding-bottom: 6px;
    margin-bottom: 10px;

    text-align: center;
  }

    .headline_type3 > * {
      display: inline;
      float: none;
    }

    .headline_type3 .num {
      font-size: 3rem;

      margin-right: 0;
    }
    .headline_type3 .headline {
      font-size: 2.1rem;
      font-weight: 600;
    }
}
/*************************************
* 見出し4
*************************************/
.headline_type4 {
  position: relative;

  font-size: 2rem;

  margin-bottom: 20px;
  padding-bottom: 8px;
}
.headline_type4:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 370px;
    height: 2px;

    background-color: #3ec8b7;
  }
@media screen and (max-width: 599px) {
  .headline_type4 {
    font-size: 1.6rem;
    text-align: center;
    font-weight: 500;

    margin-bottom: 10px;
  }

    .headline_type4:after {
      content: none;
    }
}
/*************************************
* 見出し5
*************************************/
.headline_type5 {
  position: relative;

  font-size: 2rem;
  font-weight: 500;

  margin-bottom: 12px;
}
.headline_type5 i {
    font-size: 0.8em;
    color: #aaa;
    vertical-align: 0.1em;

    margin-right: 10px;
  }
.headline_type5 a {
    color: inherit;
  }
.headline_type5 .sml {
    font-weight: normal;
    font-size: 1.2rem;

    margin-left: 12px;
  }
@media screen and (max-width: 599px) {
  .headline_type5 {
    font-size: 1.2rem;
  }
  .headline_type5 .sml {
    font-size: 1rem;
  }
}
/*************************************
* 見出し6
*************************************/
.headline_type6 {
  font-size: 2rem;
  color: #008088;
  font-weight: 500;

  padding-bottom: 35px;
  margin-bottom: 20px;

  border-bottom: 1px #ccc solid
}
/*************************************
* 見出し7
*************************************/
.headline_type7 {
  background-color: #3ec8b7;
  border-radius: 3px;

  color: #fff;
  font-size: 1.8rem;

  padding: 6px 12px;
  margin-bottom: 10px;
}
.headline_type7 i {
    vertical-align: -0.05em;
  }
/*************************************
* 見出し8
*************************************/
.headline_type8 {
  color: #008088;
  font-size: 2.4rem;
  text-align: center;

  margin-bottom: 20px;
}
@media screen and (max-width: 599px) {
    .headline_type8 {
      font-size: 1.8rem;
    }
  }

/*************************************
* 見出し9
*************************************/
.headline_type9 {
  border-bottom: 1px dashed #3ec8b7;
}
.headline_type9 .index {
    display: inline-block;
    vertical-align: middle;

    background-color: #3ec8b7;

    color: #fff;
    text-align: center;
    font-size: 1.8rem;

    padding: 18px 12px;
  }
.headline_type9 .headline {
    padding-left: 10px;

    display: inline-block;
    vertical-align: middle;

    font-size: 3rem;
  }
.headline_type9 .headline .sml {
      font-size: 0.4em;

      margin-left: 20px;
    }
.headline_type9 .subtext {
    float: right;

    margin-top: 14px;
  }
.headline_type9 .subtext i {
      color: #008088;
    }
@media screen and (max-width: 768px) {
    .headline_type9 .headline {
      font-size: 2.6rem;
    }
  }
@media screen and (max-width: 599px) {
    .headline_type9 {

    }
    .headline_type9 .index {
      padding: 10px 8px;

      font-size: 1.1rem;
    }
    .headline_type9 .headline {
      font-size: 1.4rem;

      padding-left: 5px;
    }
    .headline_type9 .headline .sml {
      margin-left: 10px;
    }
    .headline_type9 .subtext {
      float: none;

      margin-top: 7px;

      font-size: 1.1rem;
    }

      .headline_type9 .subtext button {
        margin-bottom: 6px;
        padding-left: 0;
        padding-right: 0;
      }
  }
/*************************************
* 見出し10
*************************************/
.headline_type10 {
  background-color: #008088;

  padding: 6px;
  margin-bottom: 8px;

  color: #fff;
  font-weight: 200;
  font-size: 1.4rem;
}
.headline_type10 .bold {
    font-size: 1.8rem;

    margin-left: 6px;
  }
@media screen and (max-width: 999px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 599px) {
}
/**************************************************************
*
* ヘッダー
*
**************************************************************/
.header {
  position: relative;
  z-index: 3;
}
/* １段目 */
.header .row.one {
    padding-top: 17px;
    padding-bottom: 22px;

    background-color: #fff;
  }
.header .row.one .container {
      position: relative;
    }
.header .row.one .left {
      float: left;
    }
.header .row.one .left .logo {
        width: 256px;
        height: 76px;
        display: inline-block;
      }
.header .row.one .right {
      position: absolute;
      right: 20px;
      bottom: 0px;
    }
.header .row.one .right .box_menu > * {
        display: inline-block;
        vertical-align: bottom;
      }
.header .row.one .right .nav_toggle {
        display: none;
      }
@media screen and (max-width: 999px) {
.header {
    /* １段目 */
}
    .header .row.one {
      padding-top: 12px;
      padding-bottom: 14px;
    }
        .header .row.one .left .logo {
          width: 210px;
          height: 63px;
        }
  }

@media screen and (max-width: 768px) {
    .header .row.one {
      position: fixed;
      z-index: 5;
      top: 0;
      left: 0;
      height: 71px;

      padding-top: 10px;
      padding-bottom: 10px;

      width: 100%;
    }
        .header .row.one .left .logo {
          width: 170px;
          height: 51px;
          display: block;
        }
        .header .row.one .right .nav_toggle {
          display: inline-block;
        }
        .header .row.one .right .box_menu .cartcheck {
          display: none;
        }
}
@media screen and (max-width: 599px) {
    .header .row.one {
      height: 58px;

      padding-top: 7px;
      padding-bottom: 5px;
    }
        .header .row.one .left .logo {
          padding-top: 4px;

          width: 120px;
          height: 35px;
        }

      .header .row.one .right {
        position: static;
        max-width: (100% - 120px);
        float: right;
      }
          .header .row.one .right .box_menu .btn_type1 {
            display: none;
          }
}
/**************************************************************
*
*ナビゲーション
*
**************************************************************/
.nav_toggle {
  z-index: 6;
  position: relative;

  top: 0px;
  right: 0px;

  margin: auto;

  height: 40px;
  width: 40px;

  background-color: #000f48;
}

.nav_toggle .bd {
  position: absolute;
  z-index: 2;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;

  margin: auto;

  width: 100%;
  height: 1.46em;

  color: #fff;
  font-size: 1.1rem;
  text-align: center;
  font-weight: 200;
}
.nav_toggle .bd .text {
  transition: opacity 300ms cubic-bezier(0.19, 1, 0.22, 1);
}
.nav_toggle.active .bd .text {
  opacity: 0;
}
.nav_toggle .bd::before,
.nav_toggle .bd::after {
  content: "";
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;

  margin: auto;

  width: 80%;
  height: 2px;

  background-color: #fff;
}
.nav_toggle .bd::before {
  -ms-transform: translateY(10px);
      transform: translateY(10px);
}
.nav_toggle .bd::after {
  -ms-transform: translateY(-10px);
      transform: translateY(-10px);
}
.nav_toggle.active .bd::before {
  animation: toggleactive-before 600ms ease-in-out forwards;
}
@keyframes toggleactive-before {
  0% {
    transform: translateY(10px);
  }
  40% {
    transform: translateY(10px);
    width: 0px;
  }
  41% {
    transform: rotate(45deg);
    width: 0px;
  }
  100% {
    transform: rotate(45deg);
    width: 80%;
  }
}
.nav_toggle.active .bd::after {
  animation: toggleactive-after 600ms ease-in-out forwards;
}
@keyframes toggleactive-after {
  0% {
    transform: translateY(-10px);
  }
  40% {
    transform: translateY(-10px);
    width: 0px;
  }
  41% {
    transform: rotate(-45deg);
    width: 0px;
  }
  100% {
    transform: rotate(-45deg);
    width: 80%;
  }
}

.nav_gb.active {
    -ms-transform: translateX(-460px);
        transform: translateX(-460px);
  }

.nav_gb .submenu .item {
      float: left;
      width: 14%;
    }
.nav_gb .submenu .item.sub {
  display: none;
}
.nav_gb .submenu .item.pay {
  width: 18%;
}
.nav_gb .submenu .item.data {
  width: 13%;
}
.nav_gb .submenu .item.blog {
  width: 15%;
}
.nav_gb .submenu .item.news {
  width: 10%;
}
/* .nav_gb .submenu .item.news, */
      .nav_gb .submenu .item.company {
        width: 14%;
      }

      .nav_gb .submenu .item.calendar {
        width: 16%;
      }

.nav_gb .submenu .item a {
        display: block;

        padding: 17px 5px;

        font-size: 1.4rem;
        color: inherit;
        text-align: center;

        transition: 120ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
        transition-property: color;
      }

.hover .nav_gb .submenu .item a:hover,
        .nav_gb .submenu .item a.hover,
        .nav_gb .submenu .item a:focus {
          color: #3ec8b7;
        }

.nav_gb .submenu .item a i {
          color: #3ec8b7;
          font-size: 1.4em;
          vertical-align: -0.15em;

          margin-right: 3px;
        }

.nav_gb .mainmenu {
    padding-top: 8px;
    padding-bottom: 8px;
  }

.nav_gb .mainmenu ul {
      display: table;
      width: 100%;
    }

.nav_gb .mainmenu .item {
      float: left;
      width: 16.666%;
    }

.nav_gb .mainmenu .item a {
        color: #fff;
        text-align: center;
        line-height: 1.25;

        display: block;
        position: relative;
        min-height: 65px;

        padding: 12px 5px;

        transition: 120ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
        transition-property: color, background-color;
      }

.hover .nav_gb .mainmenu .item a:hover,
      .nav_gb .mainmenu .item a.hover,
      .nav_gb .mainmenu .item a.active,
      .nav_gb .mainmenu .item a:focus {
        background-color: #ecfffd;

        /* color: #008088; */
        color: #000f48;
      }

.nav_gb .mainmenu .item:not(:last-child) a:after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;

        width: 1px;
        height: 30px;

        background-color: #fff;

        margin: auto;
      }

.nav_gb .mainmenu .item.home {
        letter-spacing: 0.05em;
      }

.nav_gb .mainmenu .item.home a {
          padding-top: 16px;
        }

.nav_gb .mainmenu .item.home i {
          font-size: 2em;
          vertical-align: -0.23em;
        }

.nav_gb .mainmenu .item.faq a,
.nav_gb .mainmenu .item.nav_price a {
          padding-top: 21px;
        }
@media screen and (max-width: 768px) {
  .nav_gb {
    transition: 320ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition-property: transform;

    /*display: none;*/
    position: fixed;
    overflow-y: scroll;
    top: 71px;
    right: -460px;
    z-index: 6;
    width: 460px;
    height: calc(100% - 71px);

    background-color: #ecfffd;
  }

    .nav_gb .submenu {
      width: 200px;
      min-height: 100%;
      position: absolute;
      top: 0;
      right: 0px;

      padding-top: 25px;
    }

      .nav_gb .submenu .item {
        width: 100% !important;
        float: none;
      }
      .nav_gb .submenu .item.sub {
        display: block;
      }

        .nav_gb .submenu .item a {
          text-align: left;
          font-size: 1.5rem;
        }

    .nav_gb .mainmenu {
      /* width: 260px; */
      width: 240px;
      min-height: 100%;

      position: absolute;
      top: 0;
      right: 200px;

      padding-top: 25px;
    }

      .nav_gb .mainmenu .item {
        width: 100%;
        float: none;
      }

        .nav_gb .mainmenu .item:not(:last-child) a:after {
          content: none;
        }

        .nav_gb .mainmenu .item a {
          text-align: left;

          padding-top: 22px;
          padding-bottom: 22px;

          min-height: inherit;
        }

          .nav_gb .mainmenu .item a br {
            display: none;
          }
}
@media screen and (max-width: 599px) {
  .nav_gb {
    width: 100%;
    height: calc(100% - 58px);
    right: -100%;
    top: 58px;
  }

    .nav_gb.active {
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
    }

    .nav_gb .mainmenu {
      width: 55%;
      left: 0;
    }
        .nav_gb .mainmenu .item a {
          font-size: 1.5rem;
          font-weight: 600;

          padding-top: 15px;
          padding-bottom: 15px;
        }
    .nav_gb .submenu {
      width: 45%;
      right: 0;

      padding-top: 15px;
    }
        .nav_gb .submenu .item a {
          font-size: 1.4rem;

          padding: 12px 5px;
        }
}
/**************************************************************
*
* ヘッダー固定
*
**************************************************************/
.header.fix .row.one {
    position: fixed;
    z-index: 5;
    top: 0;
    left: 0;
    height: 71px;

    padding-top: 10px;
    padding-bottom: 10px;

    width: 100%;

    animation: header_fix 300ms ease-in-out forwards;
  }
.header.fix .row.one .left .logo {
        width: 170px;
        height: 51px;
      }
.header.fix .row.one .right .nav_toggle {
        display: inline-block;
      }
@keyframes header_fix {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.nav_gb.fix {
  transition: 320ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-property: transform;

  /*display: none;*/
  position: fixed;
  top: 71px;
  right: -460px;
  z-index: 6;
  width: 460px;
  height: calc(100% - 71px);

  background-color: #ecfffd;
}
.nav_gb.fix .submenu {
    width: 200px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0px;

    padding-top: 25px;
  }
.nav_gb.fix .submenu .item {
      width: 100% !important;
      float: none;
    }
.nav_gb.fix .submenu .item a {
        text-align: left;
        font-size: 1.5rem;
      }
.nav_gb.fix .mainmenu {
    width: 260px;
    height: 100%;

    position: absolute;
    top: 0;
    right: 200px;

    padding-top: 25px;
  }
.nav_gb.fix .mainmenu .item {
      width: 100%;
      float: none;
    }
.nav_gb.fix .mainmenu .item:not(:last-child) a:after {
        content: none;
      }
.nav_gb.fix .mainmenu .item a {
        text-align: left;

        padding-top: 22px;
        padding-bottom: 22px;

        min-height: inherit;
      }
.nav_gb.fix .mainmenu .item a br {
          display: none;
        }
/**************************************************************
*
* フッター
*
**************************************************************/
.footer {
  position: relative;
}
.footer .info {
  padding-top: 38px;
  padding-bottom: 38px;

  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.footer .info .left {
  flex-basis: 250px;
  max-width: 250px;
}
.footer .info .left .logo {
  padding: 35px 8px 40px;

  border: 1px solid #fff;

  display: block;
}
.footer .info .left .logo img {
  width: 225px;
  height: 68px;
}
.footer .info .right {
  flex-basis: calc(100% - 250px);
  max-width: calc(100% - 250px);

  color: #fff;
  font-weight: 200;

  padding-left: 40px;
}
.footer .info .right .content_paragraph {
        font-size: 1.8rem;

        margin-bottom: 8px;
      }
.footer .info .right .dlist {
        margin-bottom: 14px;
      }
.footer .info .right .dlist .dhead {
          position: relative;

          margin-bottom: 8px;
          padding-left: 15px;
        }
.footer .info .right .dlist .dhead:after {
            content: "";
            position: absolute;
            left: 0;
            top: 2px;
            bottom: 0;

            margin: auto;

            width: 0;
            height: 0;
            border-style: solid;
            border-width: 5px 0 5px 9px;
            border-color: transparent transparent transparent #ffffff;
          }
.footer .info .right .dlist .ditem {
          line-height: 1.55;
        }

.footer .info .box_tel01 {
  margin-top: 1em;
  padding: 0.5em 1em;

  background-color: #fff;
  display: inline-block;

  color: #000f48;
}
.footer .info .box_tel01 .icon {
  font-size: 2.3em;
  vertical-align: middle;

  margin-right: 0.5em;

  display: inline-block;
}
.footer .info .box_tel01 .detail {
  vertical-align: middle;
  display: inline-block;
}
.footer .info .box_tel01 .detail > * {
  display: block;
}
.footer .info .box_tel01 .detail .subtext {
  font-size: 0.8em;
}
.footer .info .box_tel01 .detail .number {
  font-size: 2em;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .footer .info .left .logo svg {
    width: 180px;
    height: 54px;
  }
}
@media screen and (max-width: 599px) {
  .footer .info {
    padding-top: 18px;
    padding-bottom: 18px;

    display: block;
  }

  .footer .info .left {
    max-width: 250px;
  }

  .footer .info .left .logo {
    display: inline-block;

    padding: 15px 15px 20px;
    margin-bottom: 18px;
  }

  .footer .info .left .logo svg {
    margin-left: auto;
    margin-right: auto;
  }

  .footer .info .right {
    max-width: 100%;
    padding-left: 0;
  }

  .footer .info .right .content_paragraph {
    font-size: 1.4rem;
    font-weight: 600;
  }

  .footer .info .box_tel01 {
    margin-bottom: 1em;
  }
}
/**************************************************************
  * フッターナビ
  **************************************************************/
.footer .nav_ft {
    padding-top: 20px;
    padding-bottom: 20px;
    margin-bottom: -18px;

    text-align: center;
  }
.footer .nav_ft ul {
      margin-left: -10px;
      margin-right: -10px;
    }
.footer .nav_ft .item {
      display: inline-block;

      margin-bottom: 18px;
    }
.footer .nav_ft .item a {
        color: #fff;
        font-weight: 200;
        font-size: 1.4rem;
        line-height: 1.2;

        padding-left: 14px;
        padding-right: 14px;
        padding-bottom: 2px;

        border-right: 1px solid #fff;

        display: block;
      }
.hover .footer .nav_ft .item a:hover,
        .footer .nav_ft .item a.hvoer,
        .footer .nav_ft .item a:focus {
          text-decoration: underline;
        }
@media screen and (max-width: 768px) {
    .footer .nav_ft {
      text-align: left;
    }

      .footer .nav_ft .item {
        margin-bottom: 12px;
      }
  }
@media screen and (max-width: 599px) {

      .footer .nav_ft ul {
        margin-left: 0;
        margin-right: 0;
      }

      .footer .nav_ft .item {
        display: block;

        margin-bottom: 12px;
      }

        .footer .nav_ft .item a {
          border-right: none;

          padding-left: 0;
          padding-right: 0;
        }
  }
#logo_aura {
  position: absolute;
  bottom:3px;
  right:5px;
}
.pagetop {
  position: fixed;
  z-index: 5;
  display: block;
  bottom: 20px;
  right: 1%;
  height: 70px;
  width: 70px;

  opacity: 0;
  outline: none;
  cursor: pointer;

  font-size: 1.1rem;
  color: #fff;

  padding: 6px 8px;

  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-property: opacity;
  transition-duration: 300ms;
  transition-delay: 0ms;
}
.pagetop i {
    display: block;

    text-align: center;
    font-size: 1.1em;

    margin-bottom: 7px;

    -ms-transform: rotate(-90deg);

        transform: rotate(-90deg);
  }
.pagetop:focus,
.pagetop:active {
  outline: none;
}
.pagetop.fadein {
  opacity: 1;

  transition-delay: 50ms;
}
.pagetop.static {
  position: absolute;
  top: -50px;
  right: 1%;
}
.order.subpage .pagetop {
  display: none;
}
.copyright {
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
  font-weight: 200;

  padding: 8px;

  display: block;

  border-top: 1px solid #fff;
}
@media screen and (max-width: 599px) {
  .copyright {
    text-align: left;
    font-size: 1.1rem;
  }

  .pagetop {
    bottom: 10px;

    height: 55px;
    width: 55px;

    font-size: 0rem;
  }

    .pagetop i {
      font-size: 1.8rem;

      margin-bottom: 0;
    }
}
/**************************************************************
*
* トップメインイメージ
*
**************************************************************/
.top .mainimage {
  position: relative;
  z-index: 1;
}
.top .mainimage .bg {
    width: 100%;
    min-height: 100%;

    background-color: #000;
    background-size: cover;
  }
  /*
.top .mainimage:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;

    background-size: 10px 10px;
    background-color: rgba(0,0,0,0.1);
    background-image: linear-gradient(0deg, rgba(0,0,0,0.2) 12.5%, rgba(0,0,0,0.1) 12.5%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0.2) 62.5%, rgba(0,0,0,0.1) 62.5%);
  }
  */
.top .mainimage .container {
    padding-top: 30px;

    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: inherit;
    width: 100%;
  }
@media screen and (max-width: 768px) {
  .top .mainimage {
    height: auto;
  }

    .top .mainimage .container {
      height: 100%;
    }

    .top .mainimage .bg {
      margin-top: 0;
      margin-bottom: -3px;
    }
}

/**************************************************************
* キャンペーンバナー
**************************************************************/
.top .mainimage .bnr_campaign {
    width: 320px;
  }
@media screen and (max-width: 768px) {
    .top .mainimage .bnr_campaign {
      width: 270px;

      position: absolute;
      bottom: 10px;
      right: 1.96078431372549%;
    }
}
@media screen and (max-width: 599px) {
    .top .mainimage .bnr_campaign {
      width: 180px;
    }
}
/*************************************************************
*
* 下層メインイメージ
*
*************************************************************/
.subpage .title {
  padding-top: 14px;
  padding-bottom: 14px;
}
.subpage .title i {
    font-size: 8rem;
    color: #3ec8b7;

    display: inline-block;
    vertical-align: middle;

    margin-right: 25px;
    padding-left: 28px;
  }
.subpage .title .headline {
    display: inline-block;
    vertical-align: middle;

    font-size: 2.4rem;
    color: #008088;
    font-weight: 600;
  }
@media screen and (max-width: 599px) {
  .subpage .title {
    background-color: #ecfffd;
  }

    .subpage .title i {
      font-size: 4rem;

      padding-left: 13px;
      margin-right: 17px;
    }
    .subpage .title .headline {
      font-size: 2rem;
    }
}

/**************************************************************
*
* ページローディングアニメーション
*
**************************************************************/
.pagemover {
  position: fixed;
  top: -50%;
  left: -50%;
  width: 200vw;
  height: 200vh;
  z-index: 20;

  visibility: visible;
  opacity: 1;
  background-color: #fff;

  transition: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  transition-property: opacity, visibility;
  transition-duration: 350ms, 0ms;
}

.pagemover.complete {
  opacity: 0;
  visibility: hidden;

  transition-delay: 0ms, 150ms;
}

.pagemover.pagemove {
  opacity: 1;
  visibility: visible;

  transition-delay: 10ms, 0ms;
}
/**************************************************************
* mprogress
**************************************************************/
.ui-mprogress .bar-bg, .ui-mprogress .buffer-bg, .ui-mprogress .deter-bar, .ui-mprogress .indeter-bar, .ui-mprogress .mp-ui-dashed, .ui-mprogress .query-bar {
  height: 5px;

  background-color: #3ec8b7;

  overflow: hidden;
}
.ui-mprogress .bar-bg, .ui-mprogress .buffer-bg {
  background-color: #ecfffd;
}
.ui-mprogress .peg {
  box-shadow: 0 0 10px #ecfffd, 0 0 5px #ecfffd;
}

/*************************************************************
*
* お問い合わせバナー
*
*************************************************************/
.bnr_contact_type1 .btn_type1 {
    margin-top: 15px;
  }
.bnr_contact_type2 {
  padding-top: 35px;
  padding-bottom: 40px;
}
.bnr_contact_type2 .content_paragraph {
    margin-bottom: 38px;
  }
.bnr_contact_type2 .hover_mail {
    font-size: 3rem;
    color: #000f48;

    max-width: 500px;

    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
  }
.bnr_contact_type2 .hover_mail > * {
      display: inline;
    }
.bnr_contact_type2 .hover_mail a {
      color: inherit;
    }

@media screen and (max-width: 599px) {
  .bnr_contact_type2 {
    padding-top: 25px;
    padding-bottom: 20px;
  }

    .bnr_contact_type2 .content_paragraph {
      max-width: 300px;

      margin-left: auto;
      margin-right: auto;
      margin-bottom: 18px;

      text-align: center;
    }

    .bnr_contact_type2 .hover_mail {
      font-size: 2.4rem;
      text-align: center;

      max-width: 300px;
    }
}

/**************************************************************
*
* その他パーツ
*
**************************************************************/
/**************************************************************
* ログインステータス
**************************************************************/
.status_login {
  padding: 0px 10px;

  font-weight: 500;
}
.status_login.hidden {
    display: none !important;
  }
.status_login .login {
    display: block;

    color: #3ec8b7;
    font-size: 1.4rem;
  }
.status_login a,
  .status_login button {
    color: inherit;
    font-weight: inherit;
    text-decoration: underline;

    display: inline;

    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0 !important;
  }
.hover .status_login a:hover,
    .status_login a.hover,
    .status_login a:focus,
    .hover .status_login button:hover,
    .status_login button.hover,
    .status_login button:focus {
      text-decoration: none;
    }
@media screen and (max-width: 768px) {
  .status_login .login {
    font-size: 1.2rem;

    margin-bottom: 2px;
  }
  .status_login .user {
    font-size: 1.32rem;
  }
}
@media screen and (max-width: 599px) {
  .status_login .login {
    font-size: 1.2rem;
  }
  .status_login .user {
    font-size: 1.26rem;
  }
}
/**************************************************************
*
* 404ページ
*
**************************************************************/
.subpage.error {
}
@media screen and (max-width: 999px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 599px) {
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {}