/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: last 4 version
*/


@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300&family=Roboto+Condensed&display=swap');


@media only screen and (max-width: 1024px){

}
/* resetcss */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
  color: #000;
  font-weight: normal;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.8;
  word-break: break-word;
}

body {
  width: 100%;
  line-height: 1;
  overflow-x: hidden;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

*,
:after,
:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

img,
video,
iframe {
  max-width: 100%;
  height: auto;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after {
  content: '';
  content: none;
}

q:before, q:after {
  content: '';
  content: none;
}

a {
    display: block;
    color: #000;
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

button {
  outline: none;
}
/* endresetcss */
/* common */
.alpha a:hover{
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
  }
.font_Robo{
    font-family: 'Roboto Condensed', sans-serif; 
}
.border_sp {
    position: relative;
    width: 360px;
    height: 180px;
    background: #fff;
  }
  .border_sp::before, .border_sp::after {
    height: 20px;
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
  }
  .border_sp::before {
    top: -20px;
    background: -o-linear-gradient(45deg, #fff 10px, transparent 0), -o-linear-gradient(135deg, #fff 10px, transparent 0);
    background: linear-gradient(45deg, #fff 10px, transparent 0), linear-gradient(315deg, #fff 10px, transparent 0);
    background-size: 20px 20px;
  }
  .border_sp::after {
    bottom: -20px;
    background: -o-linear-gradient(315deg, #fff 10px, transparent 0), -o-linear-gradient(225deg, #fff 10px, transparent 0);
    background: linear-gradient(135deg, #fff 10px, transparent 0), linear-gradient(225deg, #fff 10px, transparent 0);
    background-size: 20px 20px;
  }
.pc_none{
    display: none;
}
@media only screen and (max-width: 768px){
    .sp_none{
        display: none;
    }
    .pc_none{
        display: block;
    }
}
.bg{
    background-image: url(../img/bg/background@1X.png);
}
/* endcommon */

/* header */
header{
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 5;
}
.header_container{
    width: 100%;
    height: 110px;
    padding: 10px 20px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.header_left{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.header_right{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: auto;
}
.header_icon_list{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 10px;
    margin-left: auto;
}
.header_icon_item{
    margin-right: 10px;
}
.header_icon_item a img{
    width: 20px;
    height: 20px;
}
.header_icon_item:last-child{
    margin-right: 0;
}
.header_tel a{
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 24px;
    font-weight: bold;
    position: relative;
    padding-left: 23px;
}
.header_tel a::before{
    content: "";
    position: absolute;
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    left: 0;
    top: 3px;
    background-image: url(../img/ico/header_tel.svg);
    vertical-align: middle;
}

/**グローバルナビgnav*/
.gnav {
    position: relative;
    z-index: 100;
    padding: 10px 0;
  }
  .gnav.fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 200;
    width: 100%;
    height: auto;
    background: #fff;
    -webkit-box-shadow: 0 0 5px 0 #999;
            box-shadow: 0 0 5px 0 #999;
    cursor: pointer;
  }
  .gnav .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .gnav .navlogo {
    display: none;
  }
  .gnav .navlogo img {
    max-height: 40px;
  }
  .gnav .list01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    width: 100%;
    margin-left: 20px;
  }
  .gnav .item01 {
    text-align: center;
    font-size: 16px;
  }
  .gnav .list01 .item01 a:hover{
      color: #12B5B0;
  }
  .gnav .item01 > a,
  .gnav .item01 .itemin {
    display: block;
    cursor: pointer;
    padding: 5px;
  }
  .gnav .item01.-parent {
    position: relative;
  }
  .gnav .parent:hover .list02 {
    visibility: visible;
    opacity: 1;
  }
  .gnav .list02 {
    position: absolute;
    top: 100%;
    left: 50%;
    visibility: hidden;
    padding-top: 10px;
    background: rgba(255,255,255,0.8) content-box;
    opacity: 0;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .gnav .item02 a {
    display: block;
    padding: 5px;
  }
  .gnav .list01 .item01{
      border-left: 1px solid #d4d4d4;
    border-right: 1px solid #d4d4d4;
  }
  .gnav .list01 .item01 a{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 50px;
    padding: 0px 20px;
    margin: 4px 0px;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    color: rgba(17, 17, 17, 255);
}
.gnav .list01 li.item01 + li a{
    border-left: none;
}
[class*="header_nav_txt0"]{
    display: block;
    text-align: left;
} 
.gnav a .header_nav_txt01{
    font-size: 24px;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: bold;
}
.gnav a .header_nav_txt02{
    font-size: 14px;
    margin-top: 5px;
    font-weight: bold;
}
.gnav .hoveritem{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 50px;
    padding: 0px 20px;
    margin: 4px 0px;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    color: rgba(17, 17, 17, 255);
}
 .gnav .parent .list02 .item02{
    background: #4dc8c5 content-box;
  }
  .gnav .parent .list02 .item02 a:hover{
      background: #12B5B0;
      color: #fff;
  }
  .gnav .list01 .item01.parent:hover{
      color: #12B5B0;
  }
.gnav .list02 {
    position: absolute;
    top: 90%;
    left: 55%;
    visibility: hidden;
    padding-top: 10px;
	width: 125%;
	/*
  width: 78%;
	*/
    opacity: 0;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
            z-index: 2;
  }
  .gnav .list02::after{
      content: "";
      width: 0;
height: 0;
border-style: solid;
border-width: 0 10px 10px 0px;
border-color: transparent transparent #4dc8c5 transparent;
position: absolute;
top: 0px;
z-index: -1;
  }
  
@media all and (-ms-high-contrast: none){
    .gnav .list02::after{
        content: "";
        width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 10px 0px;
  border-color: transparent transparent #4dc8c5 transparent;
  position: absolute;
  top: 0px;
  right: 50%;
  z-index: -1;
    }

}
.gnav .header_nav_txt01{
    font-size: 24px;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: bold;
}
.gnav .list01 .parent a{
    color: #fff;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0;
}
.gnav .header_nav_txt02{
    font-size: 14px;
    margin-top: 5px;
    font-weight: bold;
}





@media only screen and (max-width: 1024px){

    .gnav a .header_nav_txt01{
        font-size: 18px;
    }
    .gnav a .header_nav_txt02{
        font-size: 12px;
    }
    .gnav .header_nav_txt01{
        font-size: 18px;
    }
    .gnav .header_nav_txt02{
        font-size: 12px;
    }
    .gnav .list01 .item01 a{
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
    .header_logo{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
    .header_logo img{
        width: 130px;
    }
    .gnav .list01 .parent .item02 a{
        color: #fff;
        text-align: left;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0;
        -webkit-box-align: inherit;
            -ms-flex-align: inherit;
                align-items: inherit;
    }
    .gnav .hoveritem{
        -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    }

} 
  @media only screen and (max-width: 768px) {
    @media all and (-ms-high-contrast: none){
        .gnav .list02::after{
            content: "";
            width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 10px 10px 0px;
      border-color: transparent transparent #4dc8c5 transparent;
      position: absolute;
      top: 0px;
      right: 0;
      z-index: -1;
        }
    
    }
    .gnav .hoveritem{
        display: none;
    }
      .header_container{
          height: 90px;
      }
      .header_left{
          width: 100%;
      margin-bottom: 10px;
      }
      .header_left img{
          width: 200px;
          height: 60px;
      }
    .gnav {
      position: fixed;
      top: 0;
      right: 0;
      overflow: auto;
      width: 100%;
      height: 100%;
      background: #13b5b1;
      -webkit-transition: -webkit-transform ease 0.5s;
      transition: -webkit-transform ease 0.5s;
      -o-transition: transform ease 0.5s;
      transition: transform ease 0.5s;
      transition: transform ease 0.5s, -webkit-transform ease 0.5s;
      -webkit-transform: translate3d(100%, 0, 0);
              transform: translate3d(100%, 0, 0);
      -webkit-overflow-scrolling: touch;
      padding: 60px 0px 55px 30px;
    }
    .gnav.action {
      z-index: 250 ;
      -webkit-transform: translate3d(0%, 0, 0);
              transform: translate3d(0%, 0, 0);
    }
  
    .gnav .navlogo {
      display: block;
      margin-bottom: 20px;
      padding-right: 40px;
      width: 100%;
      font-weight: bold;
      font-size: 20px;
    }
    .gnav .item01 {
      margin: 0 0 30px 0;
      width: 100%;
      text-align: left;
    }
    .gnav .list02 {
      position: relative;
      top: 0;
      left: 0;
      visibility: visible;
      padding-left: 20px;
      padding-top: 0;
      background: none;
      opacity: 1;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none;
              margin-top: 20px;
    }
    .gnav .list02 a {
      position: relative;
    }
    .gnav .list01{
        margin: 0;
    }
	.gnav .list01 .item01 a:hover{
	color:#FFFF99;
	}
    .gnav .list01 .item01 {
        border: none;
        padding: 0;
        color: #fff;
        
    }
    .gnav .list01 .item01 a{
        padding: 0;
        height: auto;
        color: #fff;
        font-size: 20px;
        margin: 0;
        font-weight: bold;
        -webkit-box-pack: left;
            -ms-flex-pack: left;
                justify-content: left;
        -webkit-box-align: unset;
            -ms-flex-align: unset;
                align-items: unset;
    }
    .gnav .list01 .itemin{
        font-size: 20px;
        font-weight: bold;
    }
    .gnav .list01.parent{
        margin-bottom: 20px;
    }
    .gnav .item01 .list02 .item02 a{
        font-size: 14px;
        margin-bottom: 20px;
    }
    .gnav .item01 .list02 .item02:last-child a{
        margin-bottom: 0;
    }
    .gnav .sp_tel a{
        font-family: 'Roboto Condensed', sans-serif;
        font-size: 48px;
        color: #fff;
        font-weight: bold;
        position: relative;
        padding-left: 40px;
    }
    .gnav .sp_tel a::before{
        content: "";
        display: inline-block;
        position: absolute;
        width: 32px;
        height: 32px;
        left: 0;
        top: 10px;
        background-image: url(../img/ico/header_tel_sp.svg);
        background-size: contain;
        vertical-align: middle;
    }
    .gnav .header_icon_list_sp{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 30px;
    }
    .gnav .header_icon_item_sp{
		display: none;
		/*
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
		*/
    }
    .gnav .header_icon_item_sp a{
        margin-right: 15px;
    }
    .gnav .header_icon_item_sp a img{
        width: 100%;
        height: 100%;
    }
  }
  [data-element-id] .gnav.fixed {
    position: relative;
  }
  /* ハンバーガーメニュー  */
  .toggle {
    position: fixed !important;
    top: 20px;
    right: 20px;
    z-index: 251;
    width: 42px;
    height: 42px;
    opacity: 0.8;
    cursor: pointer;
    display: none;
  }
  .toggle .bar {
    position: absolute;
    top: 50%;
    left: 7px;
    display: block;
    margin-top: -1px;
    padding: 0;
    width: 28px;
    height: 3px;
    background: #000;
    text-indent: 9999px;
    -o-transition: ease 0.4s;
    transition: ease 0.4s;
    -webkit-transition: ease 0.4s;
  }
  .toggle .bar:before,
  .toggle .bar:after {
    position: absolute;
    left: 0;
    display: block;
    width: 28px;
    height: 3px;
    background: #000;
    content: '';
  }
  .toggle .bar:before {
    top: -10px;
  }
  .toggle .bar:after {
    top: 10px;
  }
  .toggle.active .bar {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    background: #fff;
  }
  .toggle.active .bar:after,
  .toggle.active .bar:before {
    top: 0;
    left: 0;
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
   background: #fff;
  }
  @media only screen and (max-width: 768px) {
    .toggle {
      display: block !important;
    }
  }
  .overlay:after {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 249;
    width: 100%;
    height: 100vh;
    background: #fff;
    content: '';
    opacity: 0.3;
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
    z-index: -1;
  }
  /*トップへ戻る*/
  .totop {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 200;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #fff;
    color: #fff;
    text-align: center;
    font-size: 20px;
    line-height: 40px;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
            -webkit-transition: .3s;
            -o-transition: .3s;
            transition: .3s;
  }
  .totop:hover::after{
      content: "";
      width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #12B5B0;
    position: absolute;
    z-index: -1;
  }
  .totop:hover::before{
      color: #fff;
  }
  .totop:before {
    content: '\f077';
    font-weight: bold;
    font-family: 'Font Awesome 5 Free';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #79d6f2;
  }
  
@media all and (-ms-high-contrast: none){
    .totop:hover::after{
        content: "";
        width: 50px;
      height: 50px;
      border-radius: 50%;
      background: #12B5B0;
      position: absolute;
      z-index: -1;
      top: 9%;
      left: 9%;
    }
}
  @media only screen and (max-width: 1024px) {
    .totop {
      right: 10px;
      bottom: 50px;
      width: 50px;
      height: 50px;
    }
    .totop:hover::after{
        width: 40px;
      height: 40px;
      
    }
  }
  @media only screen and (max-width: 599px){
    .header_container{
        height: 80px;
    }
    .header_logo{
        width: 100%;
    }
    .header_left img{
        width: 150px;
        max-width: 250px;
    }
}

  /* endheader */

  .fv{
    
      position: relative;
      margin-top: 110px;
      z-index: 2;
      overflow: hidden;
  }
 
  .fv .img_box{
      position: absolute;
      right: 0;
      top: 0;
      z-index: 1;
      width: 66%;
      max-width: 1280px;
      }
  .fv .img_list{
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
  }
  .fv .img_item{
    width: calc(100%/3);
    overflow: hidden;  
  }
  .fv .img_item:nth-child(2){
    margin-top: 160px;
  }
  .fv .img_item img{
  display: block;
  max-width: none;
  object-fit: contain;
  -o-object-fit: contain;
  font-family: 'object-fit: contain;';
  }
  .txt_box{
      max-width: 1600px;
      position: absolute;
      left: -82px;
     z-index: -1;
  }
  .inner{
      margin: 0 80px;
      height: 100%;
      padding-top: 80px;
      padding-bottom: 70px;
      border-right: 1px dashed rgba(0, 0, 0, 0.2) ;
      border-left: 1px dashed  rgba(0, 0, 0, 0.2);
  }
  .fv_ttl{
    
    width: 30%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    letter-spacing: -10px;
  padding-left: 10px;
  min-width: 250px;
  
}
.fv_ttl img{
    width: 100%;
    height: 100%;
}
.fv_txt_before{
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5;
    padding-left: 80px;
    margin-bottom: 25px;
    width: calc(480/1920*100vw);
} 
.fv_txt{
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    padding-left: 10px;
    margin-top: 30px;
    width: calc(480/1920*100vw);
} 
.fv_ttl_txt02{
    color: #fff;
    -webkit-text-stroke-width: 0.05px;
    -webkit-text-stroke-color: #000; 
  
}
.fv_txt_inner{
    padding: calc(165/1920*100vw) 0 calc(150/1920*100vw);
    padding-left: 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    z-index: 2;
}

 .surprised-right1 {
    padding: 10px;
    padding-left: 0;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    background: #82D4D2;
    position: relative;
}

#surprised-right2  {
    position:relative;
    margin:0;
    z-index: 0;
}

#surprised-right2::after {
    content: "";
    position:absolute;
    width:14px;
    top:0px;
    bottom:0px;
    right:-24px;
    background:
    -o-linear-gradient(45deg, rgb(131, 213, 212,0.5) 25%, transparent 0%), -o-linear-gradient(135deg, transparent 25%, transparent 0%), -o-linear-gradient(315deg, rgb(131, 213, 212,0.5) 25%, transparent 0%),
    -o-linear-gradient(225deg, transparent 25%, transparent 0%) ;
    background:
    -o-linear-gradient(45deg, rgb(131, 213, 212,0.5) 25%, transparent 0%), -o-linear-gradient(135deg, transparent 25%, transparent 0%), -o-linear-gradient(315deg, rgb(131, 213, 212,0.5) 25%, transparent 0%),
    -o-linear-gradient(225deg, transparent 25%, transparent 0%) ;
    background:
    -o-linear-gradient(45deg, rgb(131, 213, 212,0.5) 25%, transparent 0%), -o-linear-gradient(135deg, transparent 25%, transparent 0%), -o-linear-gradient(315deg, rgb(131, 213, 212,0.5) 25%, transparent 0%),
    -o-linear-gradient(225deg, transparent 25%, transparent 0%) ;
    background:
    linear-gradient(45deg, rgb(131, 213, 212,0.5) 25%, transparent 0%), linear-gradient(315deg, transparent 25%, transparent 0%), linear-gradient(-225deg, rgb(131, 213, 212,0.5) 25%, transparent 0%),
    linear-gradient(-135deg, transparent 25%, transparent 0%) ;
    background-size: 14px 14px;
    background-color: transparent;
    z-index: 0;
}
@media all and (-ms-high-contrast: none){
    .surprised-right1 {
        padding: 10px;
        padding-left: 0;
        margin-top: 0;
        padding-top: 0;
        padding-bottom: 0;
        background: rgba(131, 213, 212,0.5);
        position: relative;
    }
    
    #surprised-right2  {
        position:relative;
        margin:0;
        z-index: 0;
    }
    
    #surprised-right2::after {
        content: "";
        position:absolute;
        width:14px;
        top:0px;
        bottom:0px;
        right:-24px;
        background:
        -o-linear-gradient(45deg, rgba(131, 213, 212,0.5) 25%, transparent 0%), -o-linear-gradient(135deg, transparent 25%, transparent 0%), -o-linear-gradient(315deg, rgba(131, 213, 212,0.5) 25%, transparent 0%),
        -o-linear-gradient(225deg, transparent 25%, transparent 0%) ;
        background:
        -o-linear-gradient(45deg, rgba(131, 213, 212,0.5) 25%, transparent 0%), -o-linear-gradient(135deg, transparent 25%, transparent 0%), -o-linear-gradient(315deg, rgba(131, 213, 212,0.5) 25%, transparent 0%),
        -o-linear-gradient(225deg, transparent 25%, transparent 0%) ;
        background:
        -o-linear-gradient(45deg, rgba(131, 213, 212,0.5) 25%, transparent 0%), -o-linear-gradient(135deg, transparent 25%, transparent 0%), -o-linear-gradient(315deg, rgba(131, 213, 212,0.5) 25%, transparent 0%),
        -o-linear-gradient(225deg, transparent 25%, transparent 0%) ;
        background:
        linear-gradient(45deg, rgba(131, 213, 212,0.5) 25%, transparent 0%), linear-gradient(315deg, transparent 25%, transparent 0%), linear-gradient(-225deg, rgba(131, 213, 212,0.5) 25%, transparent 0%),
        linear-gradient(-135deg, transparent 25%, transparent 0%) ;
        background-size: 14px 14px;
        background-color: transparent;
        z-index: 0;
    }
}
@media only screen and (max-width: 768px){
    .fv{
        margin-top: 80px;
        padding-bottom: 0px;
    }
    .inner{
        margin: 0 20px;
      
    }
    .fv .inner{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 0;
    }
    .fv .img_box_sp{
        width: calc(100vw-40px);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-left: -40px;
    }
    .fv .img_list_sp{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .fv .img_item_sp {
        width: calc(100%/3);
    }
    .surprised-right1{
        background: none;
    }
    #surprised-right2::after {
        background: none;
    }
   .fv .txt_box_sp{
       width:auto;
       margin-top: -20px;
       margin-bottom: 100px;
   }
   .fv_ttl{
       margin-left: -5px;
   }
   .fv_txt{
       width: 90%;
       line-height: 1.75;
       padding: 0;
       margin-top: 15px;
       font-size: 16px;
   }
    .sp_bg{
        width: calc(100% - 40px);
        height: 100%;
        position: absolute;
        top: 0;
        right: 0;
        z-index: -1;
        padding-bottom: 50px;
    }
    .sp_bg img{
        height: 100%;
        width: 100%;
    }
    .fv_txt_inner{
        padding: 0;
    }
    .fv_sp{
        padding-bottom: 0px;
    }
    .txt_box{
        width: 100%;
        z-index: 3;
        left: 0;
    }
    .fv_ttl{
        width: 100%;
        font-size: 120px;
    }
    .fv .spnone{
        display: none;
    }
    .border_sp::after{
        background-size: 10px 20px;
    }
    .fv_txt_inner_sp .fv_ttl{
        width: 90%;
    }
    .gnav .list02::after{
        display: none;
     }
    
}



/* endfv */

.products{
   
    position: relative;
    overflow: hidden;
  
    border-top: 1px dashed  rgba(0, 0, 0, 0.2);
    border-bottom: 1px dashed  rgba(0, 0, 0, 0.2) ;
}
.product_list{
    position: relative;
    z-index: 1;
}
.product_title{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;  
}
.product_title h2{
font-size: 100px;
font-weight: bold;
margin-bottom: -10px;
margin-left: -10px;
}
.product_txt_before{
	position:absolute;
    font-weight: bold;
}
@media only screen and (max-width:360px){
	.product_txt_before{
		display: none;
	}
}
@media only screen and (max-width:860px){
	.product_txt_before{
		top:-30px;
		left:490px;
		right:auto;
		font-size: 20px;
		line-height: 1.5;
	}
}
@media only screen and (max-width:900px){
	.product_txt_before{
		top:-30px;
		right:0;
		left:auto;
		font-size: 24px;
		line-height: 1.5;
	}
}
@media only screen and (max-width:1200px){
	.product_txt_before{
		top:-30px;
		right:100px;
		left:auto;
		font-size: 24px;
		line-height: 1.5;
	}
}
@media only screen and (min-width:1200px){
	.product_txt_before{
		top:-30px;
		right:100px;
		left:auto;
		font-size: 24px;
		line-height: 1.5;
	}
}








.product_title span{
    font-size: 20px;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: 10px;
}
.product_items{
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.product_item{
    width: calc(100%/ 3);
    background-color: #fff;
    margin-right: 0.1%;
    -webkit-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}
.product_item:last-child{
    margin-right: 0;
}
.product_item:hover{
    -webkit-box-shadow: 1px 1px 12px rgba(0,0,0,.65);
            box-shadow: 1px 1px 12px rgba(0,0,0,.65);
}
.product_txt_box{
    width: 90%;
    margin: 0 auto 40px !important;
    line-height: 1.5;
	text-align: center;
}
.product_txt_box .item-img{
	width:100%;
	max-width:60%;
	height:auto;
	margin:20px auto 25px !important;
}

.product_txt {
	text-align: left !important;
}

.product_name{
    font-size: 24px;
    color: rgba(0, 160, 233, 255);
    font-weight: bold;
    margin-bottom: 20px;
}
.bg_img{
    position: absolute;
    top: 0px;
    right: 0;
    z-index: 0;
    width: 90%;
    max-width: 1600px;
  height: calc(800/1920*100vw);
}
.bg_img img{
    max-width: none;
    height: calc(800/1920*100vw);
}
.product_btn{
    margin-top:calc(40/1920*100vw);
}
.product_btn a{
    margin: 0 auto;
    font-size: 20px;
    color: rgba(0, 160, 233, 255);
    background-color: #fff;
    border: 1px dashed  rgba(0, 0, 0, 1);
    height: 60px;
    width: 250px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.product_btn a::after{
    content: "";
    background: url(../img/ico/arrow.svg);
    width: 20px;
    height: 20px;
    margin-left: 10px;
}
.product_btn a:hover::after{
    content: "";
    background: url(../img/ico/名称未設定-1.png);
    width: 20px;
    height: 20px;
    margin-left: 10px;
}
.product_btn a:hover{
    background-color: #12B5B0;
    color: #fff;
}

.product_btn a span{
    display: inline-block;
    margin-left: 10px;
}

.surprised-right2 {
    padding: 10px;
    padding-left: 0;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    background: rgb(0, 160, 233,0.5);
    right: 0px;
    top: 0;
    position: absolute;
    width: 86%;
    height: 88%;
}

#surprised-right3  {
    position:relative;
    margin:0;
    z-index: 0;
    height: 100%;
}

#surprised-right3::before{
    content: "";
    position:absolute;
    width:14px;
    top:0px;
    bottom:0px;
    left:-14px;
    background:
    -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgb(0, 160, 233,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgb(0, 160, 233,0.5) 25%, transparent 0%) ;
    background:
    -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgb(0, 160, 233,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgb(0, 160, 233,0.5) 25%, transparent 0%) ;
    background:
    -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgb(0, 160, 233,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgb(0, 160, 233,0.5) 25%, transparent 0%) ;
    background:
    linear-gradient(45deg, transparent 25%, transparent 0%), linear-gradient(315deg, rgb(0, 160, 233,0.5) 25%, transparent 0%), linear-gradient(-225deg, transparent 25%, transparent 0%), linear-gradient(-135deg, rgb(0, 160, 233,0.5) 25%, transparent 0%) ;
    background-size: 14px 14px;
    background-color: transparent;
}
@media all and (-ms-high-contrast: none){
    .surprised-right2 {
        padding: 10px;
        padding-left: 0;
        margin-top: 0;
        padding-top: 0;
        padding-bottom: 0;
        background:rgba(0, 160, 233,0.5);
        right: 0px;
        top: 0;
        position: absolute;
        width: 86%;
        height: 88%;
    }
    
    #surprised-right3  {
        position:relative;
        margin:0;
        z-index: 0;
        height: 100%;
    }
    
    #surprised-right3::before{
        content: "";
        position:absolute;
        width:14px;
        top:0px;
        bottom:0px;
        left:-14px;
        background:
        -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgba(0, 160, 233,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgba(0, 160, 233,0.5) 25%, transparent 0%) ;
        background:
        -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgba(0, 160, 233,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgba(0, 160, 233,0.5) 25%, transparent 0%) ;
        background:
        -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgba(0, 160, 233,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgba(0, 160, 233,0.5) 25%, transparent 0%) ;
        background:
        linear-gradient(45deg, transparent 25%, transparent 0%), linear-gradient(315deg, rgba(0, 160, 233,0.5) 25%, transparent 0%), linear-gradient(-225deg, transparent 25%, transparent 0%), linear-gradient(-135deg, rgba(0, 160, 233,0.5) 25%, transparent 0%) ;
        background-size: 14px 14px;
        background-color: transparent;
}
}
@media only screen and (max-width: 768px){
    .products .inner{
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .surprised-right2{
        display: none;
    }
    #surprised-right3{
        display: none;
    }
    .product_title{
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-bottom: 30px  ;
    }
    .product_title h2{
        font-size: 60px;
        margin: 0;
    }
    .product_title span{
    margin-left: 0;
    margin-top: 10px;
    font-size: 20px;
    }
    .product_items{
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .product_item{
        width: 100%;
        margin-bottom: 10px;
    }
    .product_item:last-child{
        margin-bottom: 0;
    }
    .product_txt_box{
        margin: 25px auto;
    }
    .product_name{
        font-size: 18px;
        margin-bottom: 10px;
    }
    .product_tXt{
        font-size: 14px;
    }
	.product_txt_before{
		display: none;
	}
    .product_btn a{
        width: 100%;
        padding: 0;
        font-size: 16px;
    }
    .product_btn a span{
        display: inline-block;
        margin-left: 10px;
        width: 20px;
    }
    .product_btn{
        margin-top: 30px;
    }
    .sp_bg_blue{
        width: calc(100% - 40px);
        position: absolute;
        top: 110px;
        left: 0 ;
        height: 100%;
    }
    .sp_bg_blue img{
        height: 87%;
    }
    ._imgbox img{
        width: 100%;
    }
    .product_btn a::after{
        content: "";
        background: url(../img/ico/arrow.svg);
        width: 20px;
        height: 20px;
        margin-left: 10px;
    }
    .product_btn a:hover::after{
        content: "";
        background: url(../img/ico/名称未設定-1.png);
        width: 20px;
        height: 20px;
        margin-left: 10px;
    }
}

/* new */
.new .inner{
    padding: calc(80/1920*100vw) calc(160/1920*100vw);
}
.new_box{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.new_box a{
	color:#EA7882;
}
.new_box_left{
    width: 20%;
    min-width: 200px;
}
.new_box_left h2{
    font-size: 56px;
    letter-spacing: 0px;
    font-weight: bold;
    font-family: 'Roboto Condensed', sans-serif; 
}
.new_box_left p{
    font-size: 28px;
    margin-top: 20px;
    font-weight: bold;
}
.new_box_right{
    width: 80%;
    overflow-y: scroll;
    height: 450px;
    padding-bottom: 1 00px;
    
}
.new_box_right dl{
    font-size: 20px;
    margin-bottom: 40px;
}
.new_box_right dt{
    margin-bottom: 20px;
    font-weight: bold;
}
.new_box_right dd{
    line-height: 1.5;
}
.new_box_right dd a{
    display: inline-block;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    padding-bottom: 5px;
}
.new_box_right dd a:hover{
	color:#ff0000;
	border-bottom: 1px solid #ff0000;
}
.txt_blue{
    color: #79d6f2;
    font-weight: bold
}
.scrollarea::-webkit-scrollbar {
    width: 7px;
  }
  .scrollarea::-webkit-scrollbar-thumb {
  
    background: -webkit-gradient(linear,left bottom, left top,from(rgba(0, 160, 233,.5)),to(rgba(0, 160, 233,.5)));
  
    background: linear-gradient(0deg,rgba(0, 160, 233,.5),rgba(0, 160, 233,.5));
  
    border-radius: 3px;
  
  }
  
  .scrollarea::-webkit-scrollbar-track {
  
    background: rgba(100,100,100, .1);
  
  }
  @media only screen and (max-width: 768px){
    .new .inner{
        padding: 40px 0;
    }
    .new_box{
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .new_box_left{
        width: 100%;
    }
    .new_box_right{
        width: 100%;
    }
    .new_box_left h2{
        font-size: 60px;
    }
    .new_box_left h2 br{
        display: none;
    }
    .new_box_left p{
        margin-top: 10px;
        margin-bottom: 30px;
        font-size: 20px;
        font-weight: bold;
    }
    .new_box_right{
        overflow: hidden;
        height: auto;
    }
    .new_box_right dt{
        font-size: 16px;
        margin-bottom: 16px;
    }
    .new_box_right dd{
        font-size: 16px;
    }
    .new_box_right dl{
        margin-bottom: 20px;
    }
    .new .pcnone{
        display: block;
    }
}
/* endnew */
/* youtube */
.youtube{
    border-top: 1px dashed  rgba(0, 0, 0, 0.2);
    border-bottom: 1px dashed  rgba(0, 0, 0, 0.2) ;
position: relative;
}
.youtube .inner{
    padding: calc(80/1920*100vw) calc(160/1920*100vw);
    z-index: 1;
    position: relative;
}
.youtube_box{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.youtube_box_left{
    width: 30%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.youtube_ttl{
    font-size: 56px;
    font-family: 'Roboto Condensed', sans-serif; 
    letter-spacing: 0px;
    color:  rgba(230, 0, 18, 255);
}
.youtube_txt01{
    font-size: 28px;
    font-weight: bold;
    margin-top: 20px;
}
.youtube_txt02{
    font-size: 20px;
    margin-top: 40px;
}

.youtube_btn a{
    margin-top: 40px;
    margin-right: auto;
    margin-left: 0;
    font-size: 20px;
    color: rgba(0, 160, 233, 255);
    background-color: #fff;
    border: 1px dashed  rgba(0, 0, 0, 1);
    height: 90px;
    max-width: 350px;
    min-width: 280px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    padding-right: 20px;
    line-height: 1.5;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.youtube_btn a::after{
    content: "";
    background: url(../img/ico/open.svg);
    display: inline-block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 30px;
    right: 40px;
    background-repeat: no-repeat;
    background-size: contain;
}
.youtube_btn a:hover{
    background: #12B5B0;
    color: #fff;
}
.youtube_btn a:hover::after{
    content: "";
    background: url(../img/ico/arrowhover.png);
    display: inline-block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 30px;
    right: 40px;
    background-repeat: no-repeat;
    background-size: contain;
}
.youtube_box_right{
    width: 60%;
    height: 100%;
}
.video_box{
    position: relative;
    height: 0;
    padding: 30px 0 56.25%;
}
.youtube_box_right iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-width: 500px;
    min-height: 400px;
}
.surprised-right3 {
    padding: 10px;
    padding-left: 0;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    background: rgba(230, 0, 18,0.5);
    right: 0px;
    top: 0;
    position: absolute;
    width: 50%;
    height: 100%;
    z-index: 0;
}

#surprised-right4  {
    position:relative;
    margin:0;
    z-index: 0;
    height: 100%;
}

#surprised-right4::before{
    content: "";
    position:absolute;
    width:14px;
    top:0px;
    bottom:0px;
    left:-14px;
    background:
    -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgba(230, 0, 18,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgba(230, 0, 18,0.5) 25%, transparent 0%) ;
    background:
    -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgba(230, 0, 18,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgba(230, 0, 18,0.5) 25%, transparent 0%) ;
    background:
    -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgba(230, 0, 18,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgba(230, 0, 18,0.5) 25%, transparent 0%) ;
    background:
    linear-gradient(45deg, transparent 25%, transparent 0%), linear-gradient(315deg, rgba(230, 0, 18,0.5) 25%, transparent 0%), linear-gradient(-225deg, transparent 25%, transparent 0%), linear-gradient(-135deg, rgba(230, 0, 18,0.5) 25%, transparent 0%) ;
    background-size: 14px 14px;
    background-color: transparent;
}

@media only screen and (max-width: 1024px){
    .youtube_btn.sp_none{
        display: none;
    }
    .surprised-right3{
        background: none;
    }
    #surprised-right4{
        display: none;
    }
    .youtube .inner{
        padding: 40px 0;
    }
    .youtube_box{
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .youtube_box_left{
        width: 100%;
    }
    .youtube_txt01{
        font-size: 20px;
        margin-top: 20px;
    }
    .youtube_txt02{
        margin-top: 30px;
        font-size: 16px;
        line-height: 1.5;
    }
    .youtube_btn a{
        font-size: 16px;
    }
    .youtube_box_right{
        width: 100%;
    }
    .youtube_box_right iframe{
        min-width: auto;
        min-height: auto;
    }
    .sp_bg_red{
        width: calc(100vw - 40px);
        position: absolute;
        top: 70px;
        right: 0;
        height: 80%;
    }
    .sp_bg_red img{
        height: 100%;
    }
    .youtube_txt02{
        margin-bottom: 20px;
    }
}
/* endyoutube */
/* brn */
.bnr{
    margin-bottom: -10px;
}
.bnr .inner{
    padding: calc(80/1920*100vw) calc(160/1920*100vw);
}
.bnr h2{
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 40px;
}
.bnr_items{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.bnr_item:first-child{
    margin-right: 20px;
}
.bnr_item{
    max-width: 350px;
    max-height: 170px;
}
@media only screen and (max-width: 1024px){
    .bnr .inner{
        padding: 40px 0 50px;
    }
    .bnr h2{
        font-size: 20px;
    }
    .bnr_items{
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .bnr_item:first-child{
        margin: 0 0 10px 0;
    }
    .bnr_item{
        width: 100%;
        max-width: none;
        max-height: none;
    }
    .bnr_item a img{
        width: 199%;
    }
}
/* endbnr */
/* footer */
footer{
    position: relative;
  overflow: hidden;
  padding-top: 15px;
}
.fnav_list{
    padding-top: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.fnav_item a{
    font-size: 16px;
    color: #fff;
    height: 15px;
    padding: 0 15px;
    border-right: 1px solid #fff;
    border-left: 1px solid #fff;
}
.fnav_item + li a{
    border-left: none;
}

.fnav_item-sub{
	margin:15px 0 5px;
	padding:0;
}
.fnav_item-sub li{
	margin:8px 0 0 1em;
    font-size: 15px;
	line-height:1.4;
}

.fnav_item-sub a{
    color: #fff;
    border:none;
	text-indent:-1em;
}
.fnav_item-sub a:before {
	content: "・";
}

.fnav_box{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 50px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.fnav_address{
    margin-left: 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
.fnav_address dl{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #fff;
    margin-bottom: 10px;
}
.fnav_address dl:last-child{
    margin-bottom: 0;
}

.header_icon_list_sp,
.header_icon_list,
.fnav_icon_box{
	display: none;
}

.fnav_icon_list{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 50px;
}
.fnav_item01{
    margin-right: 15px;
}
.fnav_item01:last-child{
    margin-right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.footer_copy{
    margin-top: 40px;
    font-size: 16px;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 40px;
}
.border_sp1 {
    position: relative;
    background: #12B5B0;
  }
  .border_sp1::before, .border_sp::after {
    height: 20px;
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
  }
  .border_sp1::before {
    top: -20px;
    background: -o-linear-gradient(45deg, #12B5B0 10px, transparent 0), -o-linear-gradient(135deg, #12B5B0 10px, transparent 0);
    background: linear-gradient(45deg, #12B5B0 10px, transparent 0), linear-gradient(315deg, #12B5B0 10px, transparent 0);
    background-size: 20px 20px;
  }
  .border_sp1::after {
    bottom: 0px;
    background: -o-linear-gradient(315deg, #12B5B0 10px, transparent 0), -o-linear-gradient(225deg, #12B5B0 10px, transparent 0);
    background: linear-gradient(135deg, #12B5B0 10px, transparent 0), linear-gradient(225deg, #12B5B0 10px, transparent 0);
    background-size: 20px 20px;
  }
  footer .fnav_address a{
      color: #fff;
  }
  
  @media only screen and (max-width: 1024px){
    footer .fnav_list{
        display: none;
    }
    .fnav_box{
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding-top: 30px;
    }
    .fnav_logo{
        width: 200px;
        margin: 0 auto;
        margin-bottom: 20px;
    }
    .fnav_address{
        margin: 0 20px;
        font-size: 12px;
        text-align: center;
    }
    .fnav_icon_list{
        margin-top: 30px;
    }
    .fnav_address dl{
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
    .border_sp1::before{
        background-size: 10px 20px;
    }
}
/* endfooter */.example {
    display: -ms-grid;
    display: grid;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    background: -o-linear-gradient(top, white, black);
    background: -webkit-gradient(linear, left top, left bottom, from(white), to(black));
    background: linear-gradient(to bottom, white, black);
}



/* 商品ページ */
/* 共通 */
.ROBO{
    font-family: 'Roboto Condensed', sans-serif;
}
.inner02{
    margin: 0 80px;
    height: 100%;
    padding-top: 80px;
    padding-bottom: 80px;
    border-right: 1px dashed rgba(0, 0, 0, 0.2) ;
    border-left: 1px dashed  rgba(0, 0, 0, 0.2);
}
.inner02 a{
    color:#0033cc;
}
.inner02 a:hover{
    color:#ff9900;
}
.inner03{
    margin: 0 80px;
    height: 100%;
    border-right: 1px dashed rgba(0, 0, 0, 0.2) ;
    border-left: 1px dashed  rgba(0, 0, 0, 0.2);
}
.inner03 a{
    color:#0033cc;
}
.inner03 a:hover{
    color:#ff9900;
}

.bread_list{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 40px;
}
.bread_item{
    margin-right: 5px;
}
.bread_item a{
    font-size: 15px;
}
.bread_item a:hover{
    color: #fff; 
}
.bread_item.bold{
    font-weight: bold;
}
@media only screen and (max-width: 768px){
    .bread_list{
        display: none;
    }
    .inner02{
        margin: 0 40px;
    }
}
/* 共通end */

/* top */

.top_inner{
    margin: 0 80px;
    height: 100%;
    padding-top: 110px;
    padding-bottom: 80px;
    border-right: 1px dashed rgba(0, 0, 0, 0.2) ;
    border-left: 1px dashed  rgba(0, 0, 0, 0.2);
}
.top_wrap{
    position: relative;
    z-index: 1;
}
.top_box{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.top_ttl{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
   
    -webkit-box-orient: vertical;
   
    -webkit-box-direction: normal;
   
        -ms-flex-direction: column;
   
            flex-direction: column;
width: 50vw;
}
.top_ttl h1{
    font-size: 96px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.item_ttl h1{
    font-size: 60px;
}
.top_ttl span{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 24px;
    font-weight: bold;
    margin-top: 10px;
}
.item_ttl h2{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 80px;
    font-weight: bold;
    margin-top: 20px;
}
.item_ttl h2.item3{
	padding-top:12px;
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-size:50px;
	text-align: center;
}
.top_img{
    width: calc(960/1920*100vw);
    max-width: 960px;
    max-height: 320px;
    margin-right: -80px;
    top: 0;
    right: 0;
}
.top_img img{
    -o-object-fit: cover;
       object-fit: cover;
       font-family: 'object-fit: cover;';
    width: 100%;
    height: 100%;
}
.bg_giza {
    padding: 10px;
    padding-left: 0;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    background: rgba(19, 180, 177,.5);
    left: 0;
    top: 0;
    position: absolute;
    width: 83.3%;
    height: calc(580/1920*100vw);
    min-height: 380px;
    z-index: 0;
}
#bg_giza2  {
    position:relative;
    margin:0;
    z-index: 0;
    height: 100%;
}

#bg_giza2::after {
    content: "";
    position:absolute;
    width:14px;
    top:-10px;
    bottom:0px;
    right:-24px;
    background:
    -o-linear-gradient(45deg, rgba(19, 180, 177,.5) 25%, transparent 0%), -o-linear-gradient(135deg, transparent 25%, transparent 0%), -o-linear-gradient(315deg, rgba(19, 180, 177,.5) 25%, transparent 0%),
    -o-linear-gradient(225deg, transparent 25%, transparent 0%) ;
    background:
    -o-linear-gradient(45deg, rgba(19, 180, 177,.5) 25%, transparent 0%), -o-linear-gradient(135deg, transparent 25%, transparent 0%), -o-linear-gradient(315deg, rgba(19, 180, 177,.5) 25%, transparent 0%),
    -o-linear-gradient(225deg, transparent 25%, transparent 0%) ;
    background:
    linear-gradient(45deg, rgba(19, 180, 177,.5) 25%, transparent 0%), linear-gradient(315deg, transparent 25%, transparent 0%), linear-gradient(-225deg, rgba(19, 180, 177,.5) 25%, transparent 0%),
    linear-gradient(-135deg, transparent 25%, transparent 0%) ;
    background-size: 14px 14px;
    background-color: transparent;
}
.product_nav{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: calc(200/1920*100vw);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.product_nav_item{
    border-left:  1px solid #000;
}
.product_nav_item:last-child{
    border-right:  1px solid #000;
}
@media only screen and (max-width: 1261px){
    .product_nav_item:nth-child(2){
        border-right: 1px solid #000 ;
    }
    .product_nav_item:last-child{
        margin-top: 20px;
        border-right:  1px solid #000;
    }
}
.product_nav_item a{
    height: 60px;
    padding: 0 80px;
    text-align: center;
    line-height: 1.5;
    color: #008ED2;
    font-weight: bold;
    font-size: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
            -webkit-transition: .3s;
            -o-transition: .3s;
            transition: .3s;
}
.product_nav_item a:hover{
    color: #12B5B0;
}

@media only screen and (max-width: 901px){
    .product_nav_item:first-child{
        border-right: 1px solid #000;
        margin-bottom: 20px;
    }
}
@media only screen and (max-width: 768px){
    .top_box{
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
        position: relative;
        z-index: 1;
    }
    .top_inner{
        margin: 0 20px;
        padding-top: 90px;
    }
    .top_img{
        width: 100vw;
        max-width: none;
        max-height: none;
        margin: 0;
    }
    .top_wrap{
        position: relative;
    }
    .product_sp_bg{
        position: absolute;
        top: 0;
        left: -21px;
        height: 110%;
        width: 100vw;
        z-index: 0;
    }
    .product_sp_bg img{
        width: 100%;
        height: 100%;
    }
    .top_ttl{
        width: 100%;
        margin-top: 40px;
    }
    .top_ttl h1{
        font-size: 60px;
    }
    .top_ttl span{
        font-size: 20px;
    }
    .product_nav{
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        margin-top:100px;
    }
    .product_nav_item{
        width: calc(100%/3);
        height: auto;
    }
    .product_nav_item a{
        padding: 0 5px;
        font-size: 14px;
        height: auto;
    }
    .product_nav_item:first-child{
        margin-bottom: 0;
        border-right: none;
    }
    .product_nav_item:nth-child(2){
        border-right: none;
    }
    .product_nav_item:last-child{
        margin-top: 0;
    }
}
@media only screen and (max-width: 599px){
    .product_nav_item a{
        padding: 0 5px;
        font-size: 12px;
        height: auto;
    }
}
/* endtop */
/* product_contents01 */
.product_contents01{
    position: relative;
    border-top: 1px dashed rgba(0, 0, 0, 0.2) ;
    border-bottom: 1px dashed  rgba(0, 0, 0, 0.2);
}
.product_img_box_wrap{
    z-index: 1;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.product_img_box{
    position: relative;
    padding: 80px 0 80px 80px;
}

@media only screen and (min-width: 768px){
	.product_img_box{
		margin-bottom:220px;
	}
}

.product_img{
    max-width: 960px;  
    max-height: 640px;
    min-width: 500px;
}
.product_img_txt{
    padding: 70px 40px;
    background-color: #fff;
   margin-left: -100px;
  height: 560px;
  margin-top: 40px;
  -webkit-box-shadow: 0px 0px 25px rgb(0, 0, 0, 0.4);
          box-shadow: 0px 0px 25px rgb(0, 0, 0, 0.4);
}
.img_box01{
    width: 80%;
    margin: 0 auto;
}
.product_img_txt h2{
    color:  #008ED2;
    font-weight: bold;
    text-align: center;
    border-top: 1px dashed #000;
    margin:40px 0;
    padding-top: 40px;
    line-height: 1.5;
    width: 320px;
}
.product_img_txt p{
    text-align: center;
    font-weight: bold;
    line-height: 1.75;
}
.product_bg1 {
    padding: 10px;
    padding-left: 0;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    background: rgba(0, 160, 233,0.5);
    right: -80px;
    top: 0;
    position: absolute;
    width: 90%;
    height: 100%;
}

#product_bg2  {
    position:relative;
    margin:0;
    z-index: 0;
    height: 100%;
}

#product_bg2::before{
    content: "";
    position:absolute;
    width:14px;
    top:0px;
    bottom:0px;
    left:-14px;
    background:
    -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgba(0, 160, 233,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgba(0, 160, 233,0.5) 25%, transparent 0%) ;
    background:
    -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgba(0, 160, 233,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgba(0, 160, 233,0.5) 25%, transparent 0%) ;
    background:
    -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgba(0, 160, 233,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgba(0, 160, 233,0.5) 25%, transparent 0%) ;
    background:
    linear-gradient(45deg, transparent 25%, transparent 0%), linear-gradient(315deg, rgba(0, 160, 233,0.5) 25%, transparent 0%), linear-gradient(-225deg, transparent 25%, transparent 0%), linear-gradient(-135deg, rgba(0, 160, 233,0.5) 25%, transparent 0%) ;
    background-size: 14px 14px;
    background-color: transparent;
}

.contents_area{
    width: 60%;
    margin: 0 auto;
    margin-top: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.contents_area_wide{
    width: 60%;
    margin: 0 auto;
    margin-top: 80px;
}
.cases_area{
    width: 60%;
    margin: 20px 0 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.cases_photo{
    max-width: 54%;
	margin:0;
}
.cases_photo figure{
	margin:0 0 0 20px;
	min-width:240px;
}
.cases_photo figcaption{
	text-align: center;
	padding-top:0.5em;
}
.cases_photo img{
    width: 100%;
	height:auto;
}
@media only screen and (max-width: 1024px){
	.contents_area{
		margin-top: 20px;
	}
	.contents_area_wide{
		margin-top: 20px;
	}
	.cases_area{
		margin-top: 20px;
	}
}
.contents_left{
    width: 48%;
}
.contents_txt{
    width: 48%;
	display: flex;
	flex-wrap :nowrap;
	justify-content: center;
	flex-direction: column;
}
.contents_txt p{
	padding:0.25em 0 0.25em 0;
}

.contents_photo {
    width: 48%;
	margin:0;
}
.contents_photo img{
	width:100%;
	height:auto;
}

@media only screen and (max-width: 1024px){
	.contents_txt{
		order:1;
		width: 100%;
	}
	.contents_photo {
		order:2;
		width: 100%;
	}
}

.contents_area h3,
.contents_area_wide h3,
.contents_area_wide full{
    font-size: 24px;
    color: #008ED2;
    font-weight: bold;
}
.contents_txt h3{
    font-size: 24px;
	line-height:1.4;
}
.contents_txt .item-intro{
    font-size: 18px;
    line-height: 1.6;
    margin: 0.75em 0 0.75em 1em;
}
@media only screen and (max-width: 1024px){
	.contents_area h3,
	.contents_area_wide h3,
	.contents_area_wide full{
    	font-size: 20px;
		margin-left:0.5em;
		margin-right:0.5em;
	}
	.contents_txt h3{
    	font-size: 20px;
		margin-left:0.5em;
		margin-right:0.5em;
	}
	.contents_txt .item-intro{
		font-size: 16px;
	}
}

.contents_txt .item_comment{
    margin: 1em 0 0.5em 0;
    padding-left: 1.2em;
    position: relative;
    font-size: 16px;
}
.contents_txt .item_comment::before{
    content: "※";
    position: absolute;
    top: 5px;
    left: 0;
}

.contents_item{
    font-size: 16px;
    line-height: 1.7;
    margin: 40px 0;
}
.contents_item_comment{
    margin-top: 40px;
    padding-left: 20px;
    position: relative;
    font-size: 14px;
}
.contents_item_comment::before{
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
}
.contents_link a{
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #fff;
    padding: 10px;
    position: relative;
    border: 1px dashed #000;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.contents_link a:hover{
        background-color: #12B5B0;
        color: #fff;
}
.contents_link a:hover .contents_link_name{
    color: #fff
}
.contents_link a:hover::after{
    content: "";
    background: url(../img/ico/arrowhover.png);
    display: inline-block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 25%;
    right: 40px;
    background-repeat: no-repeat;
    background-size: contain;
}
.contents_link_name{
    line-height: 1.5;
    color: #008ED2;
    margin-left: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
}
.contents_link a::after{
    content: "";
    background: url(../img/ico/open.svg);
    display: inline-block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 25%;
    right: 40px;
    background-repeat: no-repeat;
    background-size: contain;
   
}
.contents_right{
    width: 48%;
}
.contents_list {
    margin-top: 40px;
}
.contents_list p{
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}
.contents_table dl{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    border: 1px solid rgb(0, 0, 0,.3);
}

.contents_table dl:first-child{
    border-bottom: none;
}
.contents_table dl:nth-child(2){
    border-bottom: none;
}
.contents_table dt{
    width: 35%;
    font-weight: bold;
    text-align: left;
    padding: 10px;
    background-color: #e4e4e4;
    line-height: 1.5;
}
.contents_table dd{
    line-height: 1.5;
    padding: 10px;
    width: 65%;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.contents_bottom{
    width: 58%;
    margin: 80px auto 0;
}
.contents_video_box{
    position: relative;
    height: 0;
    padding: 30px 0 56.25%;
}
.contents_video_box iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media only screen and (max-width: 1024px){
    .contents_area{
        width: 90%;
    }
    .product_img_box{
        padding: 80px 0;
    }
    .product_img{
        min-width: 400px;
    }
}

/* endproduct_contents01 */
/* product_contents02 */
.product_contents02{
    border: none;
}
.product_img_box_wrap2{
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    padding-left: 0;
    padding-right: 80px;    
}


.product_img_txt2{
    margin-right: -100px;
}
.img_box_02{
    width: 320px;
}

.target {
	display: block;
	margin:0 0 50px;
	padding:0.4em;
	font-size: 24px;
    color: #E60012;
    font-weight: bold;
	text-align: center;
	border:#E60012 1px solid;
}

.img_box01 .img_box02_name{
    margin-top: 0;
    padding: 0;
    border-top: none;
    font-size: 30px;
    color: #000;
    font-weight: bold;
}
.img_box02_txt{
/*
	color: #cec5ba;
*/
	color: #965044;
    font-weight: bold;
    text-align: center;
    border-top: 1px dashed #000;
    margin:40px 0;
    padding-top: 40px;
    line-height: 1.5;
    font-size: 24px;
}
.contents_left .contents_item_ttl2{
/*
	color: #cec5ba;
*/
	color: #965044;
}
.contents_link2{
    max-width: 480px;
    margin: 0 auto;
}
.product_bg2_1 {
    padding: 10px;
    padding-left: 0;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    background: rgba(206, 197, 186,0.5);
    left: -80px;
    top: 0;
    position: absolute;
    width: 83.3%;
    width: 90%;
    height: 100%;
    z-index: 0;
}
#product_bg2_2  {
    position:relative;
    margin:0;
    z-index: 0;
    height: 100%;
}

#product_bg2_2::after {
    content: "";
    position:absolute;
    width:14px;
    top:0px;
    bottom:0px;
    right:-24px;
    background:
    -o-linear-gradient(45deg, rgba(206, 197, 186,0.5) 25%, transparent 0%), -o-linear-gradient(135deg, transparent 25%, transparent 0%), -o-linear-gradient(315deg, rgba(206, 197, 186,0.5) 25%, transparent 0%),
    -o-linear-gradient(225deg, transparent 25%, transparent 0%) ;
    background:
    -o-linear-gradient(45deg, rgba(206, 197, 186,0.5) 25%, transparent 0%), -o-linear-gradient(135deg, transparent 25%, transparent 0%), -o-linear-gradient(315deg, rgba(206, 197, 186,0.5) 25%, transparent 0%),
    -o-linear-gradient(225deg, transparent 25%, transparent 0%) ;
    background:
    linear-gradient(45deg, rgba(206, 197, 186,0.5) 25%, transparent 0%), linear-gradient(315deg, transparent 25%, transparent 0%), linear-gradient(-225deg, rgba(206, 197, 186,0.5) 25%, transparent 0%),
    linear-gradient(-135deg, transparent 25%, transparent 0%) ;
    background-size: 14px 14px;
    background-color: transparent;
}
@media only screen and (max-width: 1024px){
    .product_img_box_wrap2{
        padding: 0;
    }
}
@media only screen and (max-width: 768px){

}
/* endproduct_contents02 */
/* product_contents03 */
.product_contents03{
    border-top: 1px dashed rgba(0, 0, 0, 0.2) ;
}
.img_box03_txt{
    color: #009e96;
}
.product_img_txt3{
    padding: 100px 40px 70px;
}
.product_img_txt_item3{
    padding-top:50px !important;
}
.contents_left .contents_item_ttl3{
    color: #009e96;
}
.product_bg3_1 {
    padding: 10px;
    padding-left: 0;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    background: rgba(19, 180, 177,.5);
    right: -80px;
    top: 0;
    position: absolute;
    width: 90%;
    height: 100%;
}

#product_bg3_2  {
    position:relative;
    margin:0;
    z-index: 0;
    height: 100%;
}

#product_bg3_2::before{
    content: "";
    position:absolute;
    width:14px;
    top:0px;
    bottom:0px;
    left:-14px;
    background:
    -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgba(19, 180, 177,.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgba(19, 180, 177,.5) 25%, transparent 0%) ;
    background:
    -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgba(0, 160, 233,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgba(19, 180, 177,.5) 25%, transparent 0%) ;
    background:
    -o-linear-gradient(45deg, transparent 25%, transparent 0%), -o-linear-gradient(135deg, rgba(0, 160, 233,0.5) 25%, transparent 0%), -o-linear-gradient(315deg, transparent 25%, transparent 0%), -o-linear-gradient(225deg, rgba(19, 180, 177,.5) 25%, transparent 0%) ;
    background:
    linear-gradient(45deg, transparent 25%, transparent 0%), linear-gradient(315deg, rgba(0, 160, 233,0.5) 25%, transparent 0%), linear-gradient(-225deg, transparent 25%, transparent 0%), linear-gradient(-135deg, rgba(19, 180, 177,.5) 25%, transparent 0%) ;
    background-size: 14px 14px;
    background-color: transparent;
}
@media only screen and (max-width: 1024px){
    .product_img_box.product_img_box2.product_img_box3{
        padding: 80px 0;
    }
}

/* endproduct_contents03 */
/* youtube */
.bottom{
    height: 80px;
    margin-bottom: -10px;
}
/* endyoutube */
/* 商品ページsp */
@media only screen and (max-width: 768px){
    .inner02{
        padding: 0;
        margin: 0 20px;
    }
    .product_img_box_wrap{
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .product_img_box{
        padding: 0;
    }
    .product_img{
        position: relative;
        left: -21px;
        width: 100vw;
    }
    .product_img_txt{
        position: relative;
        z-index: 2;
        width: 100%;
        padding: 50px 20px;
        margin: -40px auto 0;
    }
    .product_img_txt h2{
        width: auto;
    }
    .img_box01{
        text-align: center  ;
    }
    .product_sp_bg2{
        position: absolute;
        top: 0;
        width: 100vw;
        height: 105%;
        left: -20px;
    }
    .product_sp_bg2 img{
        width: 100%;
        height: 100%;
    }
    .contents_area{
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .contents_left{
        width: 100%;
    }
    .contents_item{
        margin: 15px 1em;
    }
    .contents_item_comment{
        margin-top: 15px;
    }
    .contents_right{
        margin-top: 30px;
        width: 100%;
    }
    .contents_list{
        margin-top: 30px;
    }
    .contents_link{
        margin-top: 40px;
    }
    .contents_bottom{
        margin: 40px 0 0px 0;
        width: 100%;
        padding-bottom: 40px;
    }
    .product_img_box.product_img_box2.product_img_box3{
        padding: 0;
    }
    .contents_left:last-child{
        margin-top: 30px;
    }
    .bottom{
        height: 60px;
    }
    .img_box_02{
        width: 100%;
    }
  

}
/* end商品ページsp */
/* 商品ページend */
/* IE */
@media screen and (-ms-high-contrast: active),screen and (max-width: 768px){
    .gnav .list01 .item01 a{
        display: block;
        text-align: left;
    }
    .fv .fv_sp .inner{
        display: block;
        padding-bottom: 10px;
     }
     .gnav .list02::after{
       display: none;
    }
    .product_img_box_wrap{
        display: block;
    } 
}
@media all and (-ms-high-contrast: none){
    .product_img{
        position: relative;
        z-index: -1;
    }
}

.privacy_box{
	padding-bottom:1em;
}

.privacy_box p,
.privacy_box ol{
	margin:0;
	padding:0 1.5em;
	line-height:1.6;
}
.privacy_box ol{
	margin:0.5em 0 0.5em 1.5em;
	padding:0 1em;
	line-height:1.6;
}
.privacy_box ol li{
	list-style: decimal!important;
	padding-top:0.1em;
	padding-bottom:0.1em;
}


.privacy_box .intro{
	margin:1em 0;
	padding:0;
    font-size: 18px;
	font-weight:800;
	line-height:1.6;
	
}

.privacy_box h2{
    margin: 2em 0 0.75em;
    font-size: 24px;
    font-weight: bold;
	color:#008ED2;
}

.privacy_box .tR{
	text-align: right;
}

.privacy_box a{
	display: inline;
}

@media only screen and (max-width: 768px){
	.privacy_box .intro{
		margin-left:1em;
		margin-right:1em;
    	font-size: 16px;
	}
	.privacy_box h2{
		font-size: 20px;
	}
	.privacy_box h2{
		margin-left:1em;
	}
}


.page-contact .form_box .txt-list {
    margin: 0 5% 55px;
}
.page-contact .form_content_box {
    margin: 0 -20px;
}
.page-contact .form_box .txt-list li {
    padding-left: 1em;
    text-indent: -1em;
    line-height: 1.85;
}
.page-contact .form_box .head-line01 {
    margin-bottom: 27px;
}
.page-contact .form_table {
    margin-bottom: 58px;
    width: 100%;
    border-collapse: collapse;
    vertical-align: middle;
}
.page-contact .form_table th, .page-contact .form_table td {
    padding: 17px 0;
    border-top: 1px solid #ccc;
}
.page-contact .form_table tr:last-of-type th, .page-contact .form_table tr:last-of-type td {
    border-bottom: 1px solid #ccc;
}
.page-contact .form_table th {
    width: 27.5%;
    padding-right: 2.5%;
	font-size: 15px;
}
.page-contact .must {
    width: 32px;
    display: inline-block;
    color: #FFF;
    font-size: 12px;
    text-align: center;
    background-color: #ec6941;
    border-radius: 2px;
    float: right;
	line-height:1.5;
}
.page-contact .arbitrarily {
    background-color: #3399ff;
}
.page-contact input[type="text"], .page-contact input[type="email"], .page-contact input[type="tel"], .page-contact textarea {
    width: 100%;
    height: 34px;
    padding: 5px 10px;
    font-size: 15px;
    font-size: 1.5rem;
    box-sizing: border-box;
    background-color: #eee;
    border: none;
    border-radius: none;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
}
.page-contact textarea {
    height: 113px;
    resize: none;
}
.page-contact .submit {
    display: flex;
    justify-content: center;
}
.page-contact .submit li {
    margin: 0 25px;
}
.page-contact .submit li input {
    padding: 28px 0;
    width: 582px;
    cursor: pointer;
    display: block;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 3px;
    text-align: center;
    border-radius: 12px;
    box-sizing: border-box;
    border: none;
    transition: .3s;
    appearance: none;
    -webkit-appearance: none;
	background: #76D1EE url("../img/contact/arrow.png") no-repeat right 115px center;
}
@media screen and (min-width: 835px) {
    .page-contact .submit li input:hover {
        opacity: 0.7;
    }
}
.page-contact .checkUl {
    margin-left: 20px;
}
.page-contact .checkUl li {
    display: inline-block;
    margin-right: 16px;
}
.page-contact .checkUl input[type="checkbox"] + span {
    background: url("../img/contact/check_bg.png") no-repeat center left 2px;
    background-size: auto;
    background-size: 19px auto;
    border-radius: 0;
    border: none;
    display: inline-block;
    line-height: 20px;
    padding: 4px 0 4px 28px;
}
.page-contact .checkUl input[type="checkbox"] {
    display: none;
    padding: 0;
    height: 32px;
    width: 30px;
    vertical-align: middle;
}
.page-contact .checkUl input[type="checkbox"]:checked + span {
    background-image: url("../img/contact/check_on_bg.png");
}
.page-contact .midle .must {
    position: relative;
    top: -10px;
}
.page-contact .top th {
    vertical-align: top;
}
@media screen and (max-width: 834px) {
    .page-contact .submit {
        display: block;
    }
    .page-contact .submit li {
        margin: 0 0 25px;
    }
    .page-contact .submit li:last-of-type {
        margin-bottom: 0;
    }
    .page-contact .msg_detal {
        padding: 25px;
        display: block;
    }
    .page-contact .message_box {
        margin-bottom: 40px;
    }
    .page-contact .form_box .head-line01 {
        margin-bottom: 23px;
    }
    .page-contact .msg_detal p {
        margin-bottom: 20px;
        width: 100%;
        text-align: center;
        font-size: 2.4rem;
        font-size: 24px;
    }
    .page-contact .form_table th, .page-contact .form_table td {
        width: 100%;
        display: block;
        padding: 12px 3px;
    }
    .page-contact .form_table td {
        border-top: none;
        padding-top: 0;
    }
    .page-contact .midle .must {
        position: static;
    }
    .page-contact .form_table tr:last-of-type th {
        border-bottom: none;
    }
    .page-contact .form_box .txt-list {
        margin: 0 30px 40px;
    }
    .page-contact .msg_detal p:last-of-type {
        margin-bottom: 0;
    }
    .page-contact .msg_detal p span {
        vertical-align: middle;
        font-size: 1.8rem;
        font-size: 18px;
        margin-right: 15px;
    }
    .page-contact .msg_detal p small {
        font-size: 1.5rem;
        font-size: 15px;
    }
    .page-contact .form_table {
        margin-bottom: 40px;
    }
    .page-contact .form_content_box {
        margin: 0;
    }
    .page-contact .submit li input {
        width: 100%;
        padding: 18px 10px;
        background-position: center right 25px;
    }
}
@media all and (min-width: 835px) and (max-width: 1050px) {
    .page-contact .form_table th {
        width: 27%;
    }
    .page-contact .form_content_box {
        margin: 0 20px;
    }
    .com_table {
        font-size: 2.2rem;
        font-size: 22px;
    }
    .page-company .detail_dl {
        font-size: 1.4rem;
        font-size: 14px;
    }
    .page-company .detail_dl dd {
        padding-left: 24% !important;
    }
    .img-ul li {
        width: 29%;
    }
    .page-contact .msg_detal p {
        font-size: 3.7rem;
        font-size: 37px;
    }
    .page-contact .msg_detal p small {
        font-size: 14px;
        font-size: 1.4rem;
    }
    .head-line01 span {
        font-size: 3rem;
        font-size: 30px;
    }
}
@media all and (max-width: 374px) {
    .link-ul li a {
        font-size: 1.35rem;
        font-size: 13.5px;
    }
    .page-company .evolution .detail_dl dt {
        max-width: 36%;
    }
    .page-company .map p {
        font-size: 1.3rem;
        font-size: 13px;
    }
    .page-company .detail_dl {
        font-size: 1.3rem;
        font-size: 13px;
    }
    .sec-mv__ttl .ttl .txt-jp {
        font-size: 2rem;
        font-size: 20px;
    }
    .page-company .evolution .detail_dl dd {
        padding-left: 100px !important;
    }
}

.page-contact a{
	display: inline;
}

#outline table { width: 100%;margin-top:40px;margin-bottom:40px; }
#outline th, #outline td  { padding: 10px; border: 1px solid #ddd; }
#outline th  { background: #f4f4f4; }
#outline th  { width: 30%; text-align: left; }
 
@media only screen and (max-width:480px){
    #outline { margin:0 auto; }
    #outline th,
    #outline td{
    width: 100%;
    display: block;
    border-top: none;
	margin-bottom:0;
    }
  #outline tr:first-child th { border-top: 1px solid #ddd; }
}

.marker {
background: linear-gradient(transparent 45%, #FFFF00 45%);
font-weight: bold; 
}
.marker-o {
background: linear-gradient(transparent 45%, #FFB973 45%);
font-weight: bold; 
}


.link-perobo {
font-size:0.8em;
}

#link-inline {
	display: inline !important;
}

.top_box_product {
	position: absolute;
	font-weight:bold;
	display: block;
}
@media only screen and (min-width:0px){
	.top_box_product {
		bottom:100px;
		left:0;
		font-size:16px;
		display: none;
	}
}
@media only screen and (min-width:480px){
	.top_box_product {
		display:none;
		font-size:16px;
	}
}
@media only screen and (min-width:900px){
	.top_box_product {
		bottom:175px;
		left:10px;
		font-size:22px;
		display: block;
	}
}
@media only screen and (min-width:1200px){
	.top_box_product {
		top:50px;
		left:280px;
		font-size:22px;
		display: block;
	}
}


.media_box{
	padding-bottom:1em;
}

.media_box p,
.media_box ol{
	margin:0;
	padding:0 1.5em;
	line-height:1.6;
}
.media_box ol{
	margin:0.5em 0 0.5em 1.5em;
	padding:0 1em;
	line-height:1.6;
}
.media_box ol li{
	list-style: decimal!important;
	padding-top:0.1em;
	padding-bottom:0.1em;
}

.media_box .contents_area div{
/*
	width:100%;	
	max-width:900px;
*/
}

.media_box .intro{
	margin:1em 0;
	padding:0;
    font-size: 18px;
	font-weight:800;
	line-height:1.6;
}

.media_box .tR{
	text-align: right;
}

.media_box a{
	display: inline;
}

.media-area {
	margin:60px 0;
	padding:0;
}

.media-area .mwrapper {
  display: block;
  position: relative;
  margin: 15px auto 55px;
  padding: 20px 40px 40px;
  width: 100%;
  max-width:800px;
  min-height: 150px;
  background: #F8F8F8;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.14);
  box-sizing: border-box;
}

.media-area .mcontent {
  position: absolute;
  top: 0;
  right: 0;
  width: 85px;
  height: 85px;
  overflow: hidden;
}

.media-area .mribbon {
  display: inline-block;
  position: absolute;
  padding: 5px 0;
  left: -24px;
  top: 20px;
  width: 160px;
  text-align: center;
  font-size: 18px;
  line-height: 16px;
  background: #39c3d4;
  color: #fff;
  letter-spacing: 0.05em;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  box-shadow: 0 0 0 2px rgb(57, 195, 212);
  border-top: dashed 1px rgba(255, 255, 255, 0.65);
  border-bottom: dashed 1px rgba(255, 255, 255, 0.65);
}

.media-area p.date{
	margin:0;
	padding:0;
	line-height:1.6;
}
.media-area h1 {
	margin:0;
	padding:0.1em 0 0;
	line-height:1.6;
	font-weight:bold;
	font-size: 26px;
	color:#109C99;
}
.media-area h2 {
	margin:0;
	padding:0;
	line-height:1.6;
	font-weight:bold;
	font-size: 20px;
	color:#333;
}
.media-area p.media-intro {
	margin:0 2em;
	padding:0;
	font-size: 18px;
	line-height:1.8;
}
.media-area .photo-area {
	margin:24px 0;
	padding:0;
	text-align: center;
}
.media-area .photo-area img{
	width:100%;
	max-width:640px;
	height:auto;
	padding:0 0 10px;
}
.media-area .photo-area img:hover{
	opacity: 0.7;
}
.media-area .photo-area a:hover{
	color:#f60;
}
.media-area .photo-area figcaption{
	font-size:16px;
}

@media only screen and (min-width: 768px){
	.media_box .intro{
		width:900px !important;
	}
	br.sp {
		display: none;
	}
}

@media only screen and (max-width: 768px){
	.media-area .mwrapper {
	  padding: 20px 20px 40px;
	}
	.media_box .intro{
		margin-left:1em;
		margin-right:1em;
    	font-size: 16px;
	}
	.media-area h1 {
		font-size: 21px;
	}
	.media-area h2 {
		font-size: 15px;
	}
	.media-area p.media-intro {
		margin:0.5em 0;
		font-size: 14px;
		line-height:1.6;
	}
	.media-area .photo-area figcaption{
		font-size:14px;
	}
	.media-area .photo-area {
		margin:12px 0;
	}
	br.pc {
		display: none;
	}
}

/* case */

.case_box{
	padding-bottom:1em;
}

.case_area {
    display: block;
}

.case_box .intro{
	margin:1em 0;
	padding:0;
    font-size: 18px;
	font-weight:800;
	line-height:1.6;
}

.case_contents {
    margin-top: 50px;
}

.case__table {
    display: table;
    background-color: #fff;
    border-collapse: collapse;
    table-layout: fixed;
    margin-bottom: 90px;
}

th.case__cell {
    background-color: #e4e4e4;
    font-weight: bold;
    text-align: center!important;
}

.case__cell {
    font-size: 16px;
    text-align: center;
    width: 150px;
    height: 44px;
    border: 1px solid rgb(0, 0, 0,.3);
    vertical-align: middle;
    padding: 10px;
}

@media only screen and (min-width: 768px){
	.case__table {
		min-width:640px;
	}
}
@media only screen and (max-width: 768px){
    .case__cell {
        font-size: 10px;
        padding: 2px;
    }
	.case__cell--donation:nth-child(1) {
	display:none;
	}
    .cases_area{
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
	.case__table--sales{
		order:2;
	}
	.cases_photo{
		width:80%;
		max-width:768px;
		margin:0 auto 20px;
		padding:0;
		order:1;
	}
	.cases_photo img{
		margin:0;
		padding:0;
	}
}    

.case__cell--donation:nth-child(1) {
	width:4em !important;
	white-space: nowrap;
}

.case__cell--donation:nth-child(2) {
	width:8em !important;
	white-space: nowrap;
}

.case__cell--donation:nth-child(3) {
	text-align: left;
    min-width: 14em;
	width:auto !important;
	padding-left:1em;
} 
.case__cell--donation:nth-child(4) {
    width: 7em !important;
}
.case__cell--donation:nth-child(5) {
    width: 5em !important;
}

.case__cell--sales:nth-child(1) {
    min-width: 16em;
	width:auto;
	text-align: left;
	padding-left:1em;
}

.case__cell--sales:nth-child(2) {
    min-width:  16em;
}


.c-item01 {
	color: #008ED2 !important;
}
.c-item02 {
	color: #965044 !important;
}
.c-item03 {
	color: #009e96 !important;
}
.c-red {
	color: #E60012 !important;	
}


.item01-catch {
	position: absolute;
	bottom:-75px;
	font-size:55px;
	left:1em;
	text-align: center;
	font-weight:bold;
}
.item02-catch {
	position: absolute;
	bottom:-140px;
	font-size:55px;
	line-height:1.3;
	left:35%;
	right:0;
	font-weight:bold;
}
.item03-catch {
	position: absolute;
	bottom:-75px;
	font-size:55px;
	left:1em;
	text-align: center;
	font-weight:bold;
}

.item-contact {
    display: flex;
    justify-content: center;
	padding-bottom:80px;
}
.item-contact li {
    margin: 0 25px;
}
.item-contact li a {
    padding: 28px 0;
    width: 582px;
    cursor: pointer;
    display: block;
    color: #fff;
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: 3px;
    text-align: center;
    border-radius: 12px;
    box-sizing: border-box;
    border: none;
    transition: .3s;
    appearance: none;
    -webkit-appearance: none;
	background: #0F9996 url("../img/contact/arrow.png") no-repeat right 115px center;
}
.item-contact li a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 835px) {
	.item-contact li a {
        width: 100%;
		margin-top:15px;
        padding: 18px 10px;
		background-image: none;
    }
	.item_ttl h2{
		font-size: 60px;
	}
	.item_ttl h2.item3{
		padding-top:0;
		font-size:32px;
	}
}

.shoplist {
	margin:0 auto 120px;
}
.shoplist h1{
	font-size: 28px;
	position: relative;
	padding: 1rem;
	text-align: center;
}
.shoplist h1:before{
	position: absolute;
	bottom: -10px;
	left: calc(50% - 30px);
	width: 60px;
	height: 5px;
	content: '';
	border-radius: 3px;
	background: #f00;
}

.shoplist .flex-area1{
	width: 100%;
	max-width:900px;
	margin:60px auto;
	display: flex;
	flex-wrap: wrap;
	align-content:space-around;
	justify-content: space-between;
	text-align: center;
}
.shoplist .flex-area2{
	width: 100%;
	max-width:1080px;
	margin:60px auto;
	display: flex;
	flex-wrap: wrap;
	align-content:space-around;
	justify-content: center;
	text-align: center;
}
.shoplist .flex-list{
	display: flex;
	flex-flow: column;
}

.shoplist dl{
	width:30%;
	min-width:333px;
	position: relative;
	margin: 20px;
	padding: 20px;
	color:#fff;
	background: #12B5B0;
	border:#12B5B0 1px solid;
	box-sizing: border-box;
    -webkit-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}
.shoplist dl:hover{
	color:#12B5B0;
	background: #fff;
	border:#12B5B0 1px solid;
}
.shoplist dl a{
	position: absolute;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
}
.shoplist dl.none{
	visibility: hidden;
}
.shoplist dl dt{
	font-size: 16px;
	margin-bottom:0.5em;
	color:
}
.shoplist dl dd{
	font-size: 22px;
	font-weight:bold;
}
.shoplist dl dd.stxt{
	padding-top:0.5em;
	font-size: 16px;
	font-weight:bold;
	line-height:1.6;
}
.shoplist dl dd.photo img{
	width:100%;
	height:auto;
}
@media screen and (max-width: 835px) {
	.shoplist dl{
		width:90%;
		margin-left:auto;
		margin-right:auto;
	}
	.shoplist .flex-list{
		text-align: center;
	}
}
.link-t-a {
	position: relative;
	top: -100px;
	display: block;
}

.top-shop-intro {
	margin:0 0 36px 0;
	font-size: 28px;
    margin-top: 20px;
    font-weight: bold;
	line-height:1.6;
}
.top-shop-intro a{
	color:#000;
}
.top-shop-intro a:hover{
	color:#ff0000;
}

.btob {
	padding:1em 0 0;
	font-size:1.2em;
}

.flex-bn {
	display: flex;
	flex-wrap: wrap;
	gap:0 50px;
}
