@charset "UTF-8";

/*
  reset
--------------------------------------------- */

@import url('https://fonts.googleapis.com/css?family=Oswald');
@import url("https://fonts.googleapis.com/css?family=Montserrat:900i");
@import url("https://fonts.googleapis.com/css?family=Quicksand");
@import url("https://fonts.googleapis.com/css?family=Share+Tech+Mono");
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700");
@import url("https://fonts.googleapis.com/css?family=Sawarabi+Mincho");
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

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

caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q,
blockquote {
  quotes: none;
}

q:before,
q:after,
blockquote:before,
blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

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


/*
  icon
--------------------------------------------- */

@font-face {
  font-family: 'liva-font';
  src: url("../fonts/liva-font.eot?vx5ebw");
  src: url("../fonts/liva-font.eot?vx5ebw#iefix") format("embedded-opentype"), url("../fonts/liva-font.ttf?vx5ebw") format("truetype"), url("../fonts/liva-font.woff?vx5ebw") format("woff"), url("../fonts/liva-font.svg?vx5ebw#liva-font") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'adage-font';
  src: url("../fonts/AdageScriptJF.eot");
  src: url("../fonts/AdageScriptJF.eot") format("embedded-opentype"), url("../fonts/AdageScriptJF.ttf") format("truetype"), url("../fonts/AdageScriptJF.woff") format("woff"), url("../fonts/AdageScriptJF.otf") format("otf");
  font-weight: normal;
  font-style: normal;
}

[class^="i-"],
[class*=" i-"] {
  font-family: 'liva-font' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.i-login:before {
  content: "\e900";
}

.i-inquiry:before {
  content: "\e901";
}

.i-blank:before {
  content: "\e902";
}

.i-pdf:before {
  content: "\e903";
}

.i-arw:before {
  content: "\e904";
}

.i-close:before {
  content: "\e905";
}

.i-arw--l:before {
  content: "\e906";
}

.i-arw--r:before {
  content: "\e907";
}

.i-company:before {
  content: "\e908";
}

.i-service:before {
  content: "\e909";
}

.i-info:before {
  content: "\e90a";
}

.i-magazine:before {
  content: "\e90b";
}

.i-voice:before {
  content: "\e90c";
}

.i-recruit:before {
  content: "\e90d";
}

.i-privacy:before {
  content: "\e90e";
}

.i-contact:before {
  content: "\e90f";
}

.i-plus:before {
  content: "\e910";
}

.i-minus:before {
  content: "\e911";
}


/*
  base
--------------------------------------------- */

* {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  border-style: none;
  display: block;
  vertical-align: bottom;
}

a,
a img,
button {
  transition: .4s;
}

a img:hover {
  opacity: .7;
}

a:link {
  color: #b42222;
  text-decoration: underline;
}

a:visited {
  color: #b42222;
}

a:hover {
  color: #b42222;
  text-decoration: none;
}

a:active {
  color: #b42222;
}

.fa {
  padding-right: 6px;
  display: inline-block;
  vertical-align: middle;
}

.center {
  text-align: center;
}

@media (min-width: 768px) {
  @-webkit-keyframes ball-scale-ripple {
    0% {
      -webkit-transform: scale(0.1);
      transform: scale(0.1);
      opacity: 1;
    }
    70% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0.7;
    }
    100% {
      opacity: 0.0;
    }
  }
  @keyframes ball-scale-ripple {
    0% {
      -webkit-transform: scale(0.1);
      transform: scale(0.1);
      opacity: 1;
    }
    70% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0.7;
    }
    100% {
      opacity: 0.0;
    }
  }
  /*
  layout
--------------------------------------------- */
  body {
    line-height: 1.7;
    font-size: 14px;
    height: 100%;
    font-family: 'Oswald', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
    position: relative;
    font-weight: 500;
    -webkit-font-kerning: normal;
    font-kerning: normal;
    box-sizing: border-box;
    position: relative;
    overflow-x: hidden;
    height: 100vh;
    overflow-y: auto;
    background: #fff;
    color:rgb(51, 51, 51);
    min-width: 1160px;
  }
  body* {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    margin: 0;
    padding: 0;
  }
  html {
    height: 100%;
  }
  #bg1{
    position: absolute;
    left: 0;
    bottom: 0;
    height: 400px;
    width: 100%;
    background: center center no-repeat;
     background-image: url(../images/about/img4.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }
  #bg2{
    position: absolute;
    left: 0;
    bottom:-200px;
    height: 400px;
    width: 100%;
    background: center -100px no-repeat;
     background-image: url(../images/water/bg2.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }
  #bg3{
    position: absolute;
    left: 0;
    bottom:-200px;
    height: 400px;
    width: 100%;
    background: center top no-repeat;
     background-image: url(../images/water/bg3.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }
  #index .sec-conts .boxin{
    padding-top: 0px !important;
  }
  p {
    line-height: 1.25;
    margin-bottom: 20px;
    font-size: 16px;
  }
  .cursive {
    font-family: 'adage-font';
  }
  .sp_only {
    display: none !important;
  }
  .pc_only {
    display: block;
  }
  .wrapper {
    max-width: 100%;
    margin: 0 auto;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  }
  .opening{
    position: relative;
    max-width: 600px;
    margin: 50px auto;
    padding: 50px;
    background: bisque;
  }
  .opening:before{
    content:"";
    width: 50px;
    height: 100px;
    background: #958844;
    position: absolute;
    left: -25px;
    top:50%;
    z-index: 99;
    transform:translateY(-50%);
  }
  .opening span{
    z-index: 99;
    position: relative;
  }
  .opening:after{
    content:"";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0px;
    top:0px;
    background-size: inherit;
    background-repeat: repeat;
    background-image:url('../images/water/patt1.png'); 
  }
  .inner-max {
    padding: 0px;
    padding-left: 20px;
    padding-right: 20px;
    /*box-sizing: content-box;*/
    box-sizing:border-box;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
  }
  .inner {
    padding: 0 10px;
    box-sizing: content-box;
    max-width: 1000px;
    margin: 0 auto;
  }
  .inner-min {
    max-width: 800px;
    margin: 0 auto;
  }
  .top-wrap {
    padding: 50px 24px;
  }
  .padtop {
    padding-top: 100px;
  }
  .padbtm {
    padding-bottom: 100px;
  }
  .pad-vertical {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .padside {
    padding-left: 100px;
    padding-right: 100px;
  }
  .divider-top {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    overflow: hidden;
  }
  .divider-btm {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    overflow: hidden;
  }
  .cntr {
    text-align: center;
  }
  section {
    background: #fff;
    display: block;
    position: relative;
  }
  /* bgs */
  .white-bg {
    background: #fff;
  }
  .black-bg {
    background: #000;
  }
  .grey-bg {
    background: #f3f3f3;
  }
  /* typhography */
  .bold {
    font-weight: bold;
  }
  .italic {
    text-decoration: italic;
  }
  .loading-page {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    background: #000;
    z-index: 999;
    transition: all 0.5 ease-in-out;
  }
  .loading-page .holder {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .loading-page .holder h3 img {
    margin: 0 auto;
  }
  .loading-page .holder .counter {
    text-align: center;
  }
  /* themes */
  .normal .h1 {
    color: yellow;
    font-size: 73px;
    margin-bottom: 30px;
    line-height: 1;
  }
  .normal .h2 {
    color: yellow;
    font-size: 30px;
    margin-bottom: 30px;
    line-height: 1;
  }
  .normal .p {
    line-height: 1.25;
    margin-bottom: 20px;
  }
  /*
  header
--------------------------------------------- */
  .viewall {
    padding: 1% 4% 1% 4%;
    margin: 0 0 20px 0;
    border-radius: 8px;
    background: #fff;
    background-size: cover;
    box-shadow: 1px 5px 20px rgba(0, 0, 0, 0.3);
    border: 1px solid #fff;
    position: relative;
    width: 100%;
    text-align: center;
    z-index: 0;
    overflow: hidden;
    display: block;
    transition: all 1s;
    text-decoration: none;
    color: #333;
    font-weight: 500 !important;
    font-size: 1.6vw;
  }
  .viewall:hover {
    background: none;
    color: #fff;
  }
  .logo-hldr {
    width: 70px;
    display: inline-block;
  }
  .logo-hldr img {
    max-width: 60px;
    height: auto;
  }
  header .inner-max {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .hvr-underline-from-left:before {
    background: #a61c1c !important;
    height: 2px !important;
    left: 0px !important;
  }
  .sec-head {
    text-align: center;
  }
  .sec-head h2 {
    font-size: 20px;
    font-weight: 700;
  }
  .sec-head h2.en {
    font-weight: 700;
    font-size: 30px;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: 2px 2px #d6cbcb;
  }
  .sec-head:after {
    content: "";
    height: 1px;
    width: 100px;
    background: #a61c1c;
    margin: 20px auto;
    display: block;
  }
  .sec-head.left {
    text-align: left;
  }
  .sec-head.left:after {
    content: "";
    height: 1px;
    width: 100px;
    background: #a61c1c;
    margin: 20px 0px;
    display: block;
  }
  .subtle {
    background-image: url("../images/common/s3-bg.png");
  }
  .headline {
    height: 90vh;
  }
  .header {
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: fixed;
    top: 0px;
    left: 0;
    z-index: 9999;
    transition: all 0.4s linear;
    background: transparent;
    color: #000;
    min-width: 1160px;
  }
  .header .sns{
    width: 100px; 
  }
  .header .sns a{
    display: inline-block;
    color: #fff;
    font-size: 20px;
    line-height: 50px;
  }
  .header .sns a span{
     margin: 0px 10px;
  }
  .header .sns a:nth-child(2){
    /*border-left: 1px solid #fff;*/
    font-size: 23px;
  }
  .header .sns a:nth-child(2):before{
    width: 1px;
    background: #fff;
    height: 25px;
    content: "";
    display: inline-block;
    vertical-align: middle;
  }
  .header ul.menubar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(100% - 170px);
    margin: 0 auto;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .header ul.menubar>li {
    height: 100px;
    line-height: 100px;
    padding: 0px 10px;
  }
  .header ul.menubar>li:hover .hvr-underline-from-left:before {
    right: 0;
  }
  .header ul.menubar>li.active>a:after {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
    transition: -webkit-transform 0.5s ease-out;
    transition: transform 0.5s ease-out;
    transition: transform 0.5s ease-out, -webkit-transform 0.5s ease-out;
  }
  .header ul.menubar>li a {
    font-size: 13px;
    padding: 0px 30;
    letter-spacing: 3px;
    font-weight: 700;
    text-align: center;
    line-height: 30px;
    text-decoration: none;
    color: #fff !important;
  }
  .header ul.menubar>li a:hover {
    color: #b42222;
  }
  .header ul.menubar>li a img {
    display: block;
    margin: 0 auto;
    width: auto;
    height: 100px;
  }
  .header ul.menubar>li:last-child a {
    border-right: none;
  }
  .header .header_logo {
    display: inline-block;
    vertical-align: middle;
    width: 15%;
    padding: 30px 0px 30px 50px;
  }
  .header .header_logo a {
    text-align: left;
    text-decoration: none;
  }
  .header .header_logo img {
    max-width: 100%;
    text-align: left;
    transition: all 0.4s linear;
  }
  .header li.hasunder>a:after {
    content: "\f3d0";
    font-size: 16px;
    font-family: 'IonIcons';
    display: inline-block;
    color: #fff;
  }
  .header li.hasunder.box4 .flex {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
    -ms-grid-column-align: center;
    justify-items: center;
  }
  .header li.hasunder.box4 .flex li {
    width: calc(100%/4);
  }
  .header li.hasunder .submenu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    display: none;
  }
  .header li.hasunder ul {
    border-radius: 3px;
    background-color: rgba(1, 1, 1, 0.6);
    padding: 20px;
  }
  .header li.hasunder ul li {
    padding: 10px 0px;
  }
  .header li.hasunder ul li a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-decoration: none;
    padding: 0px;
    letter-spacing: 0px;
    display: block;
  }
  .header li.hasunder ul li a.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header li.hasunder ul li a:hover {
    background: #000;
  }
  .header li.hasunder ul li a .img-hldr {
    width: 83px;
    height: 83px;
    position: relative;
    overflow: hidden;
  }
  .header li.hasunder ul li a .img-hldr img {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 100px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .header li.hasunder ul li a span {
    text-align: center;
    display: block;
    padding: 0px 10px;
    color: #fff;
    font-weight: 700;
    line-height: 50px;
    width: 100%;
  }
  .header.bg-w {
    top: 0;
    background-color: rgba(1, 1, 1, 0.9);
    color: #000;
  }
  .header.bg-w .header_logo,
  .header.bg-w .header_nav,
  .header.bg-w .header_btn {
    padding: 15px 24px;
  }
  .header.bg-w ul.menubar>li {
    height: 55px;
    line-height: 55px;
  }
  .header ul.menubar>li:last-child>a{
    background: #b42222;
    padding-left: 10px;
    padding-right: 10px;
  }
  .header.bg-w .submenu {
    background-color: rgba(1, 1, 1, 0.6);
  }
  .header.bg-w .submenu ul {
    background: transparent;
  }
  .counter div {
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    height: 50px;
    width: 50px;
    border-radius: 100%;
    border: 2px solid #fff;
    -webkit-animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
    animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
  }
  body.subpage .header .header_logo,
  body.subpage .header .header_btn {
    padding: 15px 0px;
  }
  body.subpage .header .header_btn {
    margin-right: 0px;
  }
  body.menu-on .header {
    box-shadow: none;
    border-bottom: 0px;
  }
  body.menu-on .header .header_logo {
    opacity: 0;
    visibility: hidden;
  }
  body.menu-on .header .header_btn .cbtn {
    opacity: 0;
    visibility: hidden;
  }
  /* boxes */
  .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .flex .size-2 {
    width: calc(100%/2);
  }
  .flex .size-3 {
    width: calc(100%/3);
  }
  .clearfix {
    *zoom: 1;
  }
  .clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .btn-hldr {
    margin-top: 80px;
    text-align: center;
  }
  .contact-btn {
    display: inline-block;
    margin: 0 auto;
    font-size: 14px;
    padding: 20px 30px;
    color: #fff !important;
    text-decoration: none !important;
    background: #df2674;
    background: linear-gradient(to right, #df2674 0%, #df2674 100%);
  }
  /* footer section */
  .menu {
    width: 30px;
    height: 50px;
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    font-size: 0;
    text-indent: -9999px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border-radius: none;
    border: none;
    cursor: pointer;
    transition: background 0.3s;
    text-align: center;
  }
  .menu:focus {
    outline: none;
  }
  .menu span {
    display: inline-block;
    position: absolute;
    top: 25px;
    left: 5px;
    right: 5px;
    height: 1px;
    background: #fff;
    width: 80%;
    border-radius: 1px;
  }
  .menu span::before,
  .menu span::after {
    position: absolute;
    border-radius: 1px;
    display: block;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    content: "";
  }
  .menu span::before {
    top: -8px;
    width: 100%;
  }
  .menu span::after {
    bottom: -8px;
    width: 80%;
  }
  .menu--htx span {
    transition: background 0s 0.3s;
  }
  .menu--htx span::before,
  .menu--htx span::after {
    transition-duration: 0.3s, 0.3s;
  }
  .menu--htx span::before {
    transition-property: top, -webkit-transform;
    transition-property: top, transform;
    transition-property: top, transform, -webkit-transform;
  }
  .menu--htx span::after {
    transition-property: bottom, -webkit-transform;
    transition-property: bottom, transform;
    transition-property: bottom, transform, -webkit-transform;
  }
  .menu--htx.is-active {
    background-color: transparent;
  }
  .menu--htx.is-active span {
    background: none;
  }
  .menu--htx.is-active span::before {
    width: 100%;
    top: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .menu--htx.is-active span::after {
    width: 100%;
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .menu--htx.is-active span::before,
  .header .header_btn .menuhldr .menu--htx.is-active span::after {
    transition-delay: 0s, 0.3s;
  }
  .menu--htx.is-active span::before,
  .menu--htx.is-active span::after {
    background: #000;
  }
  .button2{
    color: #fff !important;
    padding: 15px 50px;
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,0.7);
    background: rgba(0,0,0,0.25);
    font-size: 14px;
    display: inline-block;
    text-decoration: none !important;
    position: relative;
    border: 1px solid #fff;
  }
  .button2:hover {
    color: #fff;
    background-color: #b42222;
    opacity: 0.75;
    cursor: pointer;
  }
  .button2:after {
    content: '\f3d1';
    font-family: 'IonIcons';
    position: absolute;
    right: 8px;
    top: 15px;
    vertical-align: middle;
  }
  .button {
    background: #a61c1c;
    color: #fff;
    padding: 15px 50px;
    border-radius: 3px;
    font-size: 14px;
    display: inline-block;
    text-decoration: none;
    position: relative;
  }
  .button:hover {
    color: #fff;
    opacity: 0.75;
    cursor: pointer;
  }
  .button:after {
    content: '\f3d1';
    font-family: 'IonIcons';
    position: absolute;
    right: 8px;
    top: 15px;
    vertical-align: middle;
  }
  .header {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .header .navi {
    top: 0px;
    right: 0px;
    z-index: 99;
  }
  .header .navi .menu span::before,
  .header .navi .menu span::after,
  .header .navi .menu span {
    background-color: #000;
  }
  .header .navi .menu--htx.is-active span {
    background: none;
  }
  .header .navi ul li {
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    margin: 0px 5px;
  }
  .header .navi ul li a {
    font-size: 1.14em;
    text-decoration: none;
    color: #000;
    padding: 8px 10px;
  }
  .header .navi ul li a.cbtn {
    border: 1px solid #000;
    line-height: 26px;
    border-radius: 20px;
    padding: 8px 20px;
    font-size: 12px;
    letter-spacing: 2px;
  }
  .header .navi ul li a.cbtn:hover {
    border: 1px solid #b42222;
    background: #b42222;
    color: #fff;
  }
  .header .navi ul li a.lang {
    border-radius: 50%;
    border: 1px solid transparent;
  }
  .header .navi ul li a.act,
  .header .navi ul li a.lang:hover {
    border-radius: 50%;
    border: 1px solid #000;
  }
  .footer-section3 {
    background: #fff;
    padding: 30px 0;
  }
  .footer-section3 .items {
    padding: 28px 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .footer-section3 .items .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border: 1px #ddd solid;
    border-radius: 5px;
    width: 50%;
    margin: 0px 6px;
    background: #fff;
    text-decoration: none;
    height: 114px;
  }
  .footer-section3 .items .item .img-holder {
    width: 50%;
    background-size: cover;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    transition: .4s;
  }
  .footer-section3 .items .item .text {
    width: 50%;
    line-height: 114px;
    text-align: center;
    border-bottom-right-radius: 5px;
    border-top-right-radius: 5px;
    color: #000;
    transition: .4s;
    font-size: 1.28em;
  }
  .footer-section3 .items .item .text i {
    color: #b42222;
  }
  .footer-section3 .items .item:hover .img-holder {
    opacity: 0.75;
  }
  .footer-section3 .items .item:hover .text {
    color: #fff;
    text-decoration: none;
    background: #2574ab;
    box-shadow: 1px 1px 2px #983600;
  }
  /* section blog */
  .sec-blog .sec-head {
    margin-bottom: 50px;
  }
  .sec-blog .button {
    color: #fff !important;
    text-decoration: none !important;
    position: absolute;
    /*top: -25px;*/
    right: 0px;
  }
  .sec-blog .inner-max {
    max-width: 1200px;
    margin: 0 auto;
    display: block;
    position: relative;
  }
  .sec-blog .flex {
    flex-flow: row wrap;
    justify-content: space-between;
  }
  .sec-blog .flex li {
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 3px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    width: calc(100%/4.1);
    overflow: hidden;
  }
  .sec-blog .flex li a {
    display: block;
  }
  .sec-blog .flex li .img-hldr {
    overflow: hidden;
    padding-top: 70%;
    position: relative;
    background-size: cover;
  }
  .sec-blog .flex li .panel {
    padding: 20px;
  }
  .sec-blog .flex li .title {
    text-decoration: none;
    color: #a61c1c !important;
    font-weight: 700;
    margin-bottom: 10px;
  }
  .sec-blog .flex li .date {
    display: block;
    color: #333333;
    margin-bottom: 10px;
  }
  .sec-blog .flex li .cats a {
    text-decoration: none;
    font-size: 10px;
    color: #999;
    border: 1px solid #999;
    display: inline-block;
    padding: 0px 5px;
    border-radius: 5px;
    font-weight: 700;
    margin-right: 5px;
  }
  .sec-blog .flex li .cats a:hover {
    background: #999;
    color: #fff;
  }
  .cell.is-empty {
    height: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
    box-shadow: none !important;
    border: 0px !important;
  }
  .sec-conts {
    position: relative;
  }

  .sec-conts .flex2 .banner:after{
    position: absolute;
    z-index: 2;
    background: rgba(0, 0, 0, 0.6);
    width: 100%;
    height: 100%;
    left: 0px;
    top:0px;
    content:"";
  }

  .sec-conts .flex2 .banner-hldr:hover .banner:after{
    background: rgba(180, 34, 34, 0.84);
    transition: all .5s ease-in-out;
  }

  .sec-conts .flex2 .banner-hldr {
    width: calc(100%/3);
    text-decoration: none;
  }
  .sec-conts .flex3 .banner-hldr {
    width: calc(100%/3);
  }
  .sec-conts .banner-hldr {
    position: relative;
    width: 50%;
    overflow: hidden;
    text-align: center;
  }
  .sec-conts .banner {
    width: 100%;
    padding-bottom: 60%;
    /* 16:9 */
    position: relative;
  }
  .sec-conts .banner .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all 400ms cubic-bezier(0.19, 1, 0.22, 1);
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  .sec-conts .banner:hover .bg {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .sec-conts .banner .inside {
    color: #fff;
    display: block;
    position: absolute;
    width: 80%;
    /*height: 100%;*/
    z-index: 999;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    /*padding: 20% 30px;*/
    text-decoration: none;
  }
  .sec-conts .banner .inside .title {
    font-size: 22px;
    font-weight: 700;
    position: relative;
  }
  .sec-conts .banner .inside .title:after {
    display: block;
    margin: 30px auto 20px auto;
    width: 40px;
    height: 1px;
    background: #fff;
    content: "";
  }
  .sec-conts .banner .inside .desc {
    font-size: 14px;
  }
  .btn-6 {
    padding: 50px;
    position: absolute;
    width: calc(100% - 50px);
    height: calc(100% - 50px);
    top: 25px;
    left: 25px;
    z-index: 99;
  }
  .btn-6::before,
  .btn-6::after {
    content: "";
    width: 0;
    height: 5px;
    position: absolute;
    transition: all 0.2s linear;
    background: #fff;
  }
  .btn-6 span::before,
  .btn-6 span::after {
    content: "";
    width: 5px;
    height: 0;
    position: absolute;
    transition: all 0.2s linear;
    background: #fff;
  }
  .banner-hldr:hover .btn-6::before,
  .banner-hldr:hover .btn-6::after {
    width: 100%;
  }
  .banner-hldr:hover .btn-6 span::before,
  .banner-hldr:hover .btn-6 span::after {
    height: 100%;
  }
  .btn-6::before {
    left: 0%;
    top: 0;
    transition-duration: 0.4s;
  }
  .banner-hldr:hover .btn-6::before {
    left: 0;
  }
  .btn-6::after {
    right: 0%;
    bottom: 0;
    transition-duration: 0.4s;
  }
  .banner-hldr:hover .btn-6::after {
    right: 0;
  }
  .btn-6 span::before {
    left: 0;
    bottom: 0%;
    transition-duration: 0.4s;
  }
  .banner-hldr:hover .btn-6 span::before {
    bottom: 0;
  }
  .btn-6 span::after {
    right: 0;
    top: 0%;
    transition-duration: 0.4s;
  }
  .banner-hldr:hover .btn-6 span::after {
    top: 0;
  }
  /*
  footer
--------------------------------------------- */
  .footer {
    background-color: #111111;
    width: 100%;
  }
  .footer .inner-max {
    padding: 36px 10px;
  }
  .footer .logo-hldr {
    display: inline-block;
    width: 200px;
  }
  .footer .logo-hldr img {
    margin: 0 auto;
    display: block;
  }
  .footer .flex {
    width: calc(100% - 200px);
  }
  .footer .flex .foo-list {
    width: calc(100%/4.1);
  }
  .footer .flex .foo-list:before {
    width: 50px;
    height: 3px;
    background: #a61c1c;
    content: "";
    position: relative;
    display: block;
    margin-bottom: 20px;
  }
  .footer .flex .foo-list ul {
    padding-left: 15px;
  }
  .footer .flex .foo-list ul li {
    position: relative;
  }
  .footer .flex .foo-list ul li:before {
    content: '\f3d1';
    color: #fff;
    position: absolute;
    left: 0px;
    top: 10px;
    font-size: 12px;
    font-family: 'IonIcons';
  }
  .footer .flex .foo-list ul li a {
    display: block;
    padding: 10px 10px 0px 15px;
    color: #fff;
    text-decoration: none;
  }
  .footer .flex .foo-list ul li a:hover {
    text-decoration: underline;
  }
  svg {
    display: block;
  }
  .table {
    width: 100%;
    margin-bottom: 30px;
    table-layout: fixed;
    border: 1px solid rgb(238, 238, 238);
    border-bottom: 0px;
  }
  .table tr {
    border-bottom: 1px solid rgb(238, 238, 238);
  }
  .table tr:nth-child(odd){
    background: rgb(249, 249, 249);
  }
  .table tr th{
    border-right: 1px solid rgb(238, 238, 238);
    font-weight: 700;
    width: 200px;
  }
  .table tr th, .table tr td {
    padding: 12px;
  }
  .copyright {
    width: 100%;
    color: #fff;
    text-align: center;
    overflow: hidden;
    background-image: url(../images/common/bg-dots.gif);
    background-repeat: repeat;
    background-size: 16px 32px;
    padding: 20px 0px;
  }
  .copyright .inner-max {
    width: 100%;
    box-sizing: border-box;
  }
  .copyright .inner-max .copyright_txt {
    font-weight: bold;
    float: left;
    line-height: 82px;
    vertical-align: middle;
  }
  .copyright .inner-max .link {
    float: right;
  }
  .copyright .inner-max .link .login {
    display: table-cell;
    vertical-align: middle;
  }
  .copyright .inner-max .link .login a {
    color: #b42222;
    text-decoration: none;
  }
  .copyright .inner-max .link .login a:hover {
    text-decoration: underline;
  }
  .copyright .inner-max .link .btn_sns {
    display: table-cell;
  }
  .copyright .inner-max .link .btn_sns li {
    padding: 22px 0 22px 10px;
    display: table-cell;
  }
  /*
  page
--------------------------------------------- */
  .topic-path ul li {
    display: inline-block;
  }
  .topic-path ul li:after {
    content: '/';
    margin: 0px 10px;
  }
  .topic-path ul li:last-child:after {
    content: '';
  }
  .fixed-bottom {
    width: 100%;
    max-width: 100%;
    position: fixed;
    bottom: 0;
    padding: 0;
    z-index: 99999;
    background: rgba(255, 255, 255, 0.7) !important;
  }
  .fixed-bottom .box_frame-bg {
    background: none;
    border: none;
    margin-bottom: 0;
  }
  body.no-scroll {
    overflow: hidden;
  }
  .modal_window {
    position: fixed;
    background: rgba(0, 0, 0, 0.7) !important;
    z-index: 100;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    overflow: auto;
    padding: 110px 0 0;
  }
  .modal_window_cont {
    width: 100%;
    text-align: center;
    height: calc(100% - 110px);
    display: table;
    margin: 0 auto 110px;
    vertical-align: middle;
    box-sizing: content-box;
  }
  .modal_window_cont_wrap {
    display: table-cell;
    vertical-align: middle;
  }
  .modal_window_cont_inner {
    border: 3px #b42222 solid;
    background-color: #fff;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
    padding: 40px;
    border-radius: 8px;
    width: 86%;
    max-width: 800px;
    margin: 0 auto;
  }
  .flex-direction-nav a {
    height: auto !important;
  }
  .flex-direction-nav .flex-next {
    right: 0px !important;
  }
  .flex-direction-nav .flex-prev {
    left: 0px !important;
  }
  .slick-prev,
  .slick-next {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #fff !important;
    font-size: 30px !important;
    text-decoration: none !important;
    height: 80px !important;
    width: 80px !important;
    line-height: 80px !important;
    text-align: center;
    opacity: 0.6;
  }
  .slick-prev:hover,
  .slick-next:hover {
    opacity: 1;
  }
  .slick-prev {
    left: -200px !important;
  }
  .slick-next {
    right: -200px !important;
  }
  .slick-slide p {
    margin-bottom: 0px;
  }
  .slick-prev:before,
  .slick-next:before {
    border-radius: 50%;
    border: 1px solid #fff !important;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 80px;
    height: 80px;
    content: "" !important;
    left: 0;
    opacity: 0.6;
  }
  .slick-prev:before:hover,
  .slick-next:before:hover {
    opacity: 1;
  }
  /* Dots */
  .slick-dotted {
    position: relative;
  }
  .slick-dotted.slick-slider {
    margin-bottom: 30px;
  }
  .slick-dots {
    position: absolute;
    bottom: -25px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
  }
  .slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0px;
    padding: 0;
    cursor: pointer;
  }
  .slick-dots li button {
    font-size: 0px;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
  }
  .slick-dots li button:hover,
  .slick-dots li button:focus {
    outline: none;
  }
  .slick-dots li button:hover:before,
  .slick-dots li button:focus:before {
    opacity: 1;
    color: #b42222;
  }
  .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #b42222 !important;
  }
  .slick-dots li button:before {
    font-family: 'slick';
    font-size: 40px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    opacity: .25;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .slick-dots li.slick-active button:before {
    opacity: .75;
    color: black;
  }
  body .sideMenu {
    display: none;
  }
  .sideMenu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #fff;
    z-index: 99;
    opacity: 0.97;
    text-align: center;
  }
  .sideMenu .inside {
    width: 100%;
    height: 100%;
    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;
  }
  .sideMenu ul li a {
    color: #333333;
    text-decoration: none;
    font-size: 3.42em;
  }
  .sideMenu ul:hover a {
    opacity: 0.2;
  }
  .sideMenu ul:hover a:hover {
    opacity: 1;
  }
  body section .pagination {
    text-align: center;
    padding: 30px 0;
    display: block;
  }
  body section .pagination a:hover,
  body section .pagination span {
    color: #fff;
    background: #000000;
  }
  body section .pagination a,
  body section .pagination span {
    padding: 15px 20px;
    margin: 10px;
    display: inline-block;
    vertical-align: top;
    zoom: 1;
    border-radius: 5px;
    border: 1px solid #cccccc;
    font-size: 14px;
  }
  body section .pagination a {
    color: #000000;
    background-color: #fff;
  }
  body section .pagination .screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
  }
  .dots {
    background: #ebebeb !important;
    color: #000 !important;
  }
  .s7 a.arch-down {
    display: block;
    text-align: center;
    color: #fff;
    background: #222222;
    font-size: 3vw;
    padding: 50px 0px;
    text-decoration: none;
  }
  .s7 a.arch-down:after {
    content: "﹀";
    display: block;
    font-size: 20px;
  }
  .s7 a.arch-down.active:after {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
  }
  .s7 .archive-list {
    padding: 70px 10%;
    display: none;
  }
  .s7 .archive-list ul li {
    width: calc(100%/4.1);
    margin-bottom: 10px;
  }
  .s7 .archive-list ul li a {
    overflow: hidden;
    display: block;
    border-radius: 10px;
  }
  .s8 a.arch-down2 {
    display: block;
    text-align: center;
    color: #333333;
    background: #fff;
    font-size: 3vw;
    padding: 50px 0px;
    text-decoration: none;
  }
  .s8 a.arch-down2:after {
    content: "﹀";
    display: block;
    font-size: 20px;
  }
  .s8 a.arch-down2.active:after {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
  }
  .s8 .archive-list2 {
    display: none;
    background-color: #fff;
    color: #fff;
  }
  .s8 .archive-list2 ul {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
  }
  .s8 .archive-list2 ul li {
    width: calc(100%/6);
    border: 0px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  .s8 .archive-list2 ul li:nth-child(6n) {
    border-right: 0px;
  }
  .s8 .archive-list2 ul li a {
    font-size: 20px;
    font-weight: normal;
    letter-spacing: 2px;
    display: block;
    height: 70px;
    line-height: 70px;
    color: #fff;
    text-align: center;
    background: #000;
    transition: all 1s;
    text-decoration: none;
  }
  .s8 .archive-list2 ul li a:hover {
    color: #333333;
    background: #fff;
  }
  .pagination {
    width: 100%;
    text-align: center;
  }
  .pagination .nav {
    display: block;
    text-align: center;
  }
  .nav-links .page-numbers {
    display: inline-block;
    font-size: 14px;
    padding: 10px 15px;
    background: #fff;
    color: #333333;
    text-decoration: none;
    border-radius: 3px;
    line-height: 1;
    margin: 10px 5px;
  }
  .screen-reader-text {
    display: none;
  }
  .nav-links a.page-numbers:hover {
    background: #d83131;
    color: #fff;
  }
  .nav-links .current {
    background: #d83131;
    color: #fff;
  }
  .flip-box {
    background-color: transparent;
    width: calc(100%/4.1);
    height: 260px;
    border: 1px solid #f1f1f1;
    -webkit-perspective: 1000px;
    perspective: 1000px;
    border: 0px;
  }
  .flip-box-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    transition: transform 0.8s, -webkit-transform 0.8s;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
  }
  .flip-box:hover .flip-box-inner {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }
  .flip-box-front,
  .flip-box-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .flip-box-front p,
  .flip-box-back p {
    display: block;
    color: #000;
    margin: 0 auto;
    text-align: center;
  }
  .flip-box-front p svg,
  .flip-box-back p svg {
    font-size: 70px;
    display: block;
    margin: 0 auto;
    margin-bottom: 30px;
  }
  .flip-box-front {
    background-color: yellow;
  }
  .flip-box-back {
    background-color: grey;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }
  .flip-box-back p {
    display: block;
    color: #fff;
  }
  .headline {
    position: relative;
  }
  .headline .bg {
    background-size: cover;
    z-index: -1;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .headline div.cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    background: #000;
    z-index: 1;
  }
  .headline h1 {
    z-index: 99;
    width: 800px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
  }
  .headline h1 span {
    display: block;
    font-weight: 700;
    color: #fff;
  }
  .headline h1 span.sml {
    font-size: 24px;
  }
  .headline h1 span.big {
    font-size: 72px;
  }
  
  /*
  parts
--------------------------------------------- */
  .key {
    position: relative;
    height: 300px;
    background: #d9d9d9;
    margin-bottom: 40px;
    background: url(../images/common/bg-line-bl.png) repeat;
    background-size: 5px 5px;
  }
  .key .key_cont {
    z-index: 999;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .key .key_cont .key_tit {
    font-size: 3.42em;
    font-weight: bold;
    color: #fff;
    letter-spacing: 3px;
  }
  .key .key_cont .key_tit-en {
    font-size: 0.92em;
    color: #fff;
    font-weight: bold;
    letter-spacing: 3px;
  }
  .key:after {
    content: "";
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0.7;
  }
  /* ---------- title ---------- */
  .tit_page {
    padding: 40px 0;
    text-align: center;
    font-size: 2.28em;
    font-weight: bold;
    color: #333333;
    letter-spacing: 3px;
  }
  .tit_page span {
    display: block;
    font-weight: normal;
    font-size: 13px;
    color: #333333;
    letter-spacing: 1;
  }
  .hero_white {
    color: #000;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
    margin-bottom: 30px;
  }
  .tit_large_cont {
    position: relative;
    text-align: center;
    margin-bottom: 20px;
    overflow: hidden;
  }
  .tit_large_cont:after {
    width: 100%;
    content: "";
    border-top: 1px #ddd solid;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    z-index: 1;
  }
  .menubar-aside{
    display: none;
  }
  .pc-only{
    display: block;
  }
  .sp-only{
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .tit_large_cont {
    margin-bottom: 10px;
  }
}

@media (min-width: 768px) {
  .tit_large_cont .tit_large {
    display: inline-block;
    text-align: center;
    padding: 20px 30px;
    background: #f3f3f3;
    position: relative;
    z-index: 10;
    font-size: 2.28em;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .tit_large_cont .tit_large {
    padding: 10px 4%;
  }
}

@media (min-width: 768px) {
  .side{
    padding: 30px 0px;
  }
  .tit_medium,
  .widget-title {
    font-weight: bold;
    color: #fff;
    background: #b42222;
    padding: 10px 20px;
    border-bottom: 1px solid transparent;
    border-top-right-radius: 2px;
    border-top-left-radius: 2px;
  }
  .widget{
    display: block;
    margin-bottom: 22px;
    background-color: #fff !important;
    border: 1px solid transparent;
    border-radius: 3px;
    -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.05);
    box-shadow: 0 1px 1px rgba(0,0,0,0.05);
    color: #666;
    border-color: #eee;
  }
  .widget select{
    border: 0px;
    display: block;
    width: 100%;
    padding: 10px;
  }
  .widget ul li{
    padding: 5px 15px 5px 30px;
    position: relative;
  }
  .widget ul li a{
    text-decoration: none;
    font-weight: 200;
  }
  .widget ul li:before{
    content: '\f3d1';
    font-family: 'IonIcons';
    position: absolute;
    left: 10px;
    top: 5px;
    color: #ccc;
  }
  .widget .post-date{
    display: block;
    font-weight: 200;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
  }
  .tit_small {
    font-weight: bold;
    font-size: 1.28em;
    padding: 20px 0;
  }
  .tit_min {
    font-weight: bold;
    font-size: 1.14em;
    padding: 10px 0;
  }
  .tit_box {
    font-weight: bold;
    font-size: 1.42em;
    color: #fff;
    background: url(../images/common/bg-line-bl.png) repeat;
    background-size: 5px 5px;
    padding: 10px;
    margin-bottom: 20px;
    letter-spacing: 3px;
  }
  .tit_line {
    width: 800px;
    position: relative;
    color: #b42222;
    font-size: 1.28em;
    font-weight: bold;
    padding-left: 58px;
    margin-bottom: 40px;
  }
  .tit_line:before {
    content: "";
    width: 40px;
    height: 3px;
    background: #b42222;
    position: absolute;
    left: 0;
    top: 12px;
  }
  /* ---------- text ---------- */
  .txt_normal {
    padding-bottom: 50px;
  }
  .txt_caption {
    font-size: 0.85em;
    color: #666;
    margin-bottom: 50px;
  }
  .txt_sub {
    margin-bottom: 120px;
    width: 700px;
  }
  img {
    max-width: 100%;
  }
  /* checkered */
  .checkered .box {
    border-bottom: 1px solid #ebebeb;
    padding: 20px 0px;
  }
  .checkered .box .flex .img-hldr {
    width: 40%;
  }
  .checkered .box .flex .desc {
    padding: 0px 10px;
    width: 60%;
  }
  .checkered .box:nth-child(even) .flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  /* list type */
  .type1.flex {
    width: 100%;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
  }
  .type1.flex li.item {
    width: calc(100%/5);
    padding: 10px;
    position: relative;
  }
  .type1.flex li.item a {
    display: block;
    width: 100%;
    background: url(../images/common/bg-line.png) repeat;
    background-size: 5px 5px;
    padding: 20px;
    text-align: center;
    text-decoration: none;
    border: 1px solid #fff;
  }
  .type1.flex li.item a img {
    max-width: 85%;
    max-height: 180px;
    margin: 0px auto;
  }
  .type1.flex li.item a .title {
    display: inline-block;
    background: #000;
    color: #fff;
    line-height: 1;
    padding: 5px 10px;
    text-align: center;
    margin: 20px 0px;
  }
  .type1.flex li.item a .desc {
    display: block;
    text-align: left;
    color: #333333;
    font-size: 0.85em;
  }
  .type1.flex li.item a .cats {
    margin-bottom: 10px;
  }
  .type1.flex li.item a .cats ul {
    text-align: left;
  }
  .type1.flex li.item a .cats ul li {
    background: #fff;
    color: #333333;
    border: 1px solid #ccc;
    padding: 2px 5px;
    display: inline-block;
    font-size: 10px;
    box-sizing: border-box;
    margin-right: 5px;
    display: inline-block;
    margin-right: 5px;
  }
  .type1.flex li.item a .tags {
    height: 60px;
    margin-bottom: 10px;
  }
  .type1.flex li.item a .tags ul {
    text-align: left;
  }
  .type1.flex li.item a .tags ul li {
    background: #434343;
    color: #fff;
    padding: 2px 5px;
    display: inline-block;
    font-size: 10px;
    box-sizing: border-box;
  }
  .type1.flex li.item a:hover {
    background: #fff;
    border: 1px solid #ebebeb;
  }
  .type2.flex {
    width: 100%;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
  }
  .type2.flex li.item {
    width: calc(100%/4);
    position: relative;
    border-left: 1px solid #ebebeb;
    border-bottom: 1px solid #ebebeb;
  }
  .type2.flex li.item:first-child,
  .type2.flex li.item:nth-child(4n+1) {
    border-left: 0px;
  }
  .type2.flex li.item a {
    display: block;
    width: 100%;
    padding: 30px;
    text-align: center;
    text-decoration: none;
    border: 1px solid #fff;
  }
  .type2.flex li.item a .title {
    display: inline-block;
    color: #333333;
    border: #333333 solid 1px;
    box-sizing: border-box;
    background-image: linear-gradient(to right, transparent 50%, black 50%);
    background-position: 0 0;
    background-size: 202% auto;
    transition: .3s;
    margin: 20px 0px;
    padding: 5px 10px;
    line-height: 1;
  }
  .type2.flex li.item a .desc {
    display: block;
    text-align: left;
    color: #333333;
    font-size: 0.85em;
  }
  .type2.flex li.item a .cats {
    margin-bottom: 10px;
  }
  .type2.flex li.item a .cats ul {
    text-align: left;
  }
  .type2.flex li.item a .cats ul li {
    background: #fff;
    color: #333333;
    border: 1px solid #ccc;
    padding: 2px 5px;
    display: inline-block;
    font-size: 10px;
    box-sizing: border-box;
    margin-right: 5px;
    display: inline-block;
    margin-right: 5px;
  }
  .type2.flex li.item a .tags {
    height: 60px;
    margin-bottom: 10px;
  }
  .type2.flex li.item a .tags ul {
    text-align: left;
  }
  .type2.flex li.item a .tags ul li {
    background: #434343;
    color: #fff;
    padding: 2px 5px;
    display: inline-block;
    font-size: 10px;
    box-sizing: border-box;
  }
  .type2.flex li.item a .img-hldr {
    width: 100%;
    height: 180px;
    overflow: hidden;
    position: relative;
  }
  .type2.flex li.item a .img-hldr img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
  }
  .type2.flex li.item a:hover .title {
    background-position: -99% 0;
    color: #ffffff;
  }
  .type2.flex li.item.coming-soon {
    background: url(../images/common/bg-line.png) repeat;
    background-size: 5px 5px;
    position: relative;
  }
  .type2.flex li.item.coming-soon p {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-weight: bold;
    font-size: 1.14em;
  }
  /* ---------- box ---------- */
  .box_frame,
  .box_frame-bold,
  .box_frame-bg {
    border: 1px #d9d9d9 solid;
    background: #fff;
    padding: 30px;
    margin-bottom: 30px;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .box_frame,
  .box_frame-bold,
  .box_frame-bg {
    padding: 20px 16px;
    margin-bottom: 10px;
    border-radius: 8px;
  }
}

@media (min-width: 768px) {
  .box_frame-bold,
  .box_frame-bold-bold,
  .box_frame-bg-bold {
    border: 5px #f3f3f3 solid;
  }
  .box_frame-bg,
  .box_frame-bold-bg,
  .box_frame-bg-bg {
    background: #f3f3f3;
  }
  /* ---------- btn ---------- */
  .btn {
    display: inline-block;
    text-align: center;
    color: #333333 !important;
    text-decoration: none !important;
    text-decoration: none;
    box-sizing: border-box;
    background-image: linear-gradient(to right, transparent 50%, black 50%);
    background-position: 0 0;
    background-size: 201% auto;
    transition: .3s;
    margin: 20px 0px;
    padding: 10px 20px;
    line-height: 1;
    letter-spacing: 3px;
    font-weight: bold;
    border-radius: 10px;
  }
  .btn:hover {
    background: #000;
    color: #ffffff !important;
  }
  .btn.more {
    width: 120px;
    text-align: center;
  }
  .btn-blk {
    display: inline-block;
    text-align: center;
    color: #fff !important;
    text-decoration: none !important;
    box-sizing: border-box;
    transition: .3s;
    margin: 20px 0px;
    padding: 10px 20px;
    line-height: 1;
    letter-spacing: 3px;
  }
  .btn-blk.blue {
    background: #b42222;
  }
  .btn-blk.green {
    background: #4daa42;
  }
  .btn_min a {
    position: relative;
    display: inline-block;
    padding: 0 50px;
    font-weight: bold;
    letter-spacing: .075em;
    color: #fff;
    background: #b42222;
    box-shadow: 1px 1px 2px #2574ab;
    border-radius: 4px;
    line-height: 35px;
    text-align: center;
    text-decoration: none;
  }
  .btn_min a:hover {
    text-decoration: none;
    background: #2574ab;
    box-shadow: 1px 1px 2px #983600;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .btn_min a {
    min-width: 150px;
    line-height: 45px;
  }
}

@media (min-width: 768px) {
  .btn_wh_cont {
    display: inherit;
  }
  .btn_wh a {
    position: relative;
    display: inline-block;
    padding: 0 48px;
    font-size: 1.14em;
    letter-spacing: .075em;
    color: #b42222;
    background: #fff;
    border-radius: 4px;
    border: 1px #b42222 solid;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
  }
  .btn_wh a:hover {
    text-decoration: none;
    background: #b42222;
    color: #fff;
  }
  .btn_wh a i {
    font-size: 0.71em;
    position: absolute;
    right: 16px;
    top: 50%;
    margin-top: -6px;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .btn_wh {
    width: 48%;
    float: right;
  }
  .btn_wh a {
    width: 100%;
    padding: 0 20px;
    font-size: 0.92em;
    line-height: 45px;
  }
}

@media (min-width: 768px) {
  .btn_wh-r a {
    position: relative;
    display: inline-block;
    padding: 0 48px;
    font-size: 1.14em;
    letter-spacing: .075em;
    color: #b42222;
    background: #fff;
    border-radius: 4px;
    border: 1px #b42222 solid;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
  }
  .btn_wh-r a:hover {
    text-decoration: none;
    background: #b42222;
    color: #fff;
  }
  .btn_wh-r a i {
    font-size: 0.71em;
    position: absolute;
    left: 16px;
    top: 50%;
    margin-top: -6px;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .btn_wh-r {
    width: 48%;
    float: left;
  }
  .btn_wh-r a {
    width: 100%;
    padding: 0 20px;
    font-size: 0.92em;
    line-height: 45px;
  }
}

@media (min-width: 768px) {
  /* ---------- link ---------- */
  .cont_link {
    padding-bottom: 40px;
    font-size: 1.14em;
  }
  /* ---------- list ---------- */
  .list_circle {
    padding-bottom: 40px;
  }
  .list_circle li {
    position: relative;
    padding-left: 20px;
  }
  .list_circle li:before {
    position: absolute;
    content: "〇";
    font-weight: bold;
    color: #b42222;
    left: 0;
  }
  .list_dot {
    padding-bottom: 40px;
  }
  .list_dot li {
    position: relative;
    padding-left: 20px;
  }
  .list_dot li:before {
    position: absolute;
    content: "・";
    font-weight: bold;
    color: #333333;
    left: 0;
  }
  .list_border {
    padding-bottom: 40px;
  }
  .list_border li {
    padding: 10px 0;
    border-bottom: 1px #ddd solid;
  }
  .list_number {
    padding-bottom: 40px;
  }
  .list_number li {
    position: relative;
    padding-left: 45px;
    line-height: 30px;
    padding-bottom: 10px;
  }
  .list_number li:nth-child(1):before {
    position: absolute;
    content: url(../images/common/ico-1.png);
    left: 0;
  }
  .list_number li:nth-child(2):before {
    position: absolute;
    content: url(../images/common/ico-2.png);
    left: 0;
  }
  .list_number li:nth-child(3):before {
    position: absolute;
    content: url(../images/common/ico-3.png);
    left: 0;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .list_number li {
    padding-left: 32px;
    line-height: 22px;
    padding-bottom: 10px;
  }
  .list_number li:nth-child(1):before {
    content: "";
    background: url(../images/common/ico-1.png) no-repeat;
    background-size: cover;
    width: 22px;
    height: 22px;
  }
  .list_number li:nth-child(2):before {
    content: "";
    background: url(../images/common/ico-2.png) no-repeat;
    background-size: cover;
    width: 22px;
    height: 22px;
  }
  .list_number li:nth-child(3):before {
    content: "";
    background: url(../images/common/ico-3.png) no-repeat;
    background-size: cover;
    width: 22px;
    height: 22px;
  }
}

@media (min-width: 768px) {
  .timeline li {
    padding: 10px 0;
    border-bottom: 1px #ddd solid;
  }
  .timeline li {
    margin-bottom: 20px;
    border-bottom: 0px;
  }
  .timeline li:last-child .date:after {
    display: none;
  }
  .timeline .date {
    padding: 10px 5px;
    border: 2px solid #000;
    line-height: 1;
    margin-right: 20px;
    background: #fff;
    font-weight: bold;
    font-size: 1.14em;
    position: relative;
    z-index: 2;
  }
  .timeline .date:after {
    content: "";
    display: block;
    width: 2px;
    height: 30px;
    background: #000;
    position: absolute;
    left: 50%;
    top: 100%;
    z-index: 1;
  }
  /* ---------- culum ---------- */
  .culum_line {
    padding-bottom: 40px;
    display: table;
  }
  .culum_line_cont {
    display: table-cell;
    padding: 10px 0;
  }
  .culum_line_cont:first-child {
    border-right: 1px #ddd solid;
    padding-right: 36px;
  }
  .culum_line_cont:last-child {
    padding-left: 36px;
  }
  .culum {
    padding-bottom: 40px;
    display: table;
    table-layout: fixed;
  }
  .culum_cont {
    padding-right: 3%;
    display: table-cell;
  }
  .culum_cont:last-child {
    padding: 0;
  }
  /* ---------- table ---------- */
  .tbl_normal {
    margin-bottom: 40px;
    width: 100%;
  }
  .tbl_normal th,
  .tbl_normal td {
    padding: 20px 16px;
    border: 1px #ddd solid;
  }
  .tbl_normal th {
    text-align: center;
    width: 230px;
    background: #f3f3f3;
  }
  .tbl_normal td {
    background: #fff;
  }
  .tbl_normal .tit {
    background: #f3f3f3;
    padding: 10px 16px;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .tbl_normal th,
  .tbl_normal td {
    text-align: left;
    padding: 8px 16px;
    width: 100%;
    display: block;
  }
  .tbl_normal .tit {
    padding: 8px 16px;
  }
}

@media (min-width: 768px) {
  .tbl_line {
    margin-bottom: 40px;
    width: 100%;
  }
  .tbl_line th,
  .tbl_line td {
    padding: 20px 16px;
  }
  .tbl_line th {
    text-align: center;
    width: 230px;
    border-bottom: 2px #b42222 solid;
  }
  .tbl_line td {
    border-bottom: 2px #ddd solid;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .tbl_line th,
  .tbl_line td {
    text-align: left;
    padding: 8px 16px;
    width: 100%;
    display: block;
  }
  .tbl_line td {
    border-bottom: 1px #ddd solid;
  }
}

@media (min-width: 768px) {
  /* ---------- form ---------- */
  .form_cont table,
  .tbl_form table {
    width: 100%;
  }
  .form_cont th,
  .form_cont td,
  .tbl_form th,
  .tbl_form td {
    border: 1px #ddd solid;
  }
  .form_cont th,
  .tbl_form th {
    width: 230px;
    padding: 20px 16px;
    background: #d9d9d9;
  }
  .form_cont td,
  .tbl_form td {
    background: #fff;
    padding: 10px;
  }
  .form_cont .tit,
  .tbl_form .tit {
    background: #f6f0e1;
    padding: 10px 16px;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .form_cont th,
  .form_cont td,
  .tbl_form th,
  .tbl_form td {
    text-align: left;
    padding: 8px 4%;
    width: 100%;
    display: block;
    border-right: none;
    border-left: none;
  }
  .form_cont th,
  .tbl_form th {
    padding-bottom: 0;
    font-weight: bold;
    border-bottom: none;
  }
  .form_cont td,
  .tbl_form td {
    background: #d9d9d9;
    border-top: none;
  }
  .form_cont .tit,
  .tbl_form .tit {
    padding: 8px 4%;
  }
}

@media (min-width: 768px) {
  .form_cont .detail_left,
  .form_cont .detail_left2,
  .tbl_form .detail_left,
  .tbl_form .detail_left2 {
    width: 330px;
    padding: 20px 16px;
    background: #d9d9d9;
  }
  .form_cont .detail_right,
  .form_cont .detail_right2,
  .tbl_form .detail_right,
  .tbl_form .detail_right2 {
    padding: 20px 16px;
  }
  .form_cont .error_coution,
  .tbl_form .error_coution {
    color: #cd1212;
    font-size: 0.92em;
  }
  .form_cont .ex,
  .tbl_form .ex {
    color: #666;
    font-size: 0.92em;
  }
  .form_cont .req,
  .tbl_form .req {
    vertical-align: middle;
    display: inline-block;
    float: right;
    padding: 3px 14px;
    font-size: 0.71em;
    color: #fff;
    background: #cd1212;
    border-radius: 6px;
  }
  .form_cont .sei,
  .form_cont .mei,
  .tbl_form .sei,
  .tbl_form .mei {
    display: block;
  }
  .form_cont .sei,
  .tbl_form .sei {
    margin-bottom: 10px;
  }
  .form_cont input[type="text"],
  .form_cont textarea,
  .tbl_form input[type="text"],
  .tbl_form textarea {
    width: 100%;
    border: 1px #ddd solid;
    border-radius: 4px;
    font-family: 'Oswald', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
    padding: 10px 16px;
  }
  .form_cont input[type="text"].m_r10,
  .form_cont textarea.m_r10,
  .tbl_form input[type="text"].m_r10,
  .tbl_form textarea.m_r10 {
    width: 80%;
    margin-left: 10px;
  }
  .form_cont input[type="checkbox"],
  .form_cont input[type="radio"],
  .tbl_form input[type="checkbox"],
  .tbl_form input[type="radio"] {
    display: none;
  }
  .form_cont input[type="checkbox"]+span,
  .form_cont input[type="radio"]+span,
  .tbl_form input[type="checkbox"]+span,
  .tbl_form input[type="radio"]+span {
    margin-right: 20px;
    margin-bottom: 1em;
    padding-left: 35px;
    display: inline-block;
    position: relative;
    z-index: 1;
    cursor: pointer;
  }
  .form_cont input[type="checkbox"]+span:before,
  .form_cont input[type="radio"]+span:before,
  .tbl_form input[type="checkbox"]+span:before,
  .tbl_form input[type="radio"]+span:before {
    content: "";
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border: #d7d7d7 1px solid;
    background: #fff;
    display: block;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 0;
    box-sizing: border-box;
  }
  .form_cont input[type="checkbox"]+span:after,
  .form_cont input[type="radio"]+span:after,
  .tbl_form input[type="checkbox"]+span:after,
  .tbl_form input[type="radio"]+span:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    z-index: 1;
    box-sizing: border-box;
  }
  .form_cont input[type="radio"]+span:before,
  .tbl_form input[type="radio"]+span:before {
    border-radius: 100%;
  }
  .form_cont input[type="checkbox"]:checked+span:after,
  .tbl_form input[type="checkbox"]:checked+span:after {
    content: "\2713";
    font-size: 2.1rem;
    color: #b42222;
    top: -.25em;
    left: -.1em;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .form_cont input[type="radio"]:checked+span:after,
  .tbl_form input[type="radio"]:checked+span:after {
    width: 12px;
    height: 12px;
    margin: -6px 0 0 0;
    background: #b42222;
    left: 4px;
    border-radius: 100%;
  }
  .form_cont .doui_bt,
  .tbl_form .doui_bt {
    text-align: center;
  }
  .form_cont .doui,
  .tbl_form .doui {
    margin: 30px auto;
    background: #fff;
    width: 100%;
    height: 200px;
    padding: 30px;
    border: 1px #ddd solid;
    overflow-y: scroll;
  }
  .form_detail_bt {
    padding: 50px 0;
    text-align: center;
    margin: 0 auto;
  }
  .form_detail_bt input[type="submit"] {
    cursor: pointer;
    width: 385px;
    display: block;
    border-radius: 6px;
    border: 0;
    background: #ffde00;
    color: #333333;
    font-weight: bold;
    font-size: 1.28em;
    text-align: center;
    line-height: 60px;
    text-decoration: none;
    margin: 0 auto;
    font-family: 'Oswald', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
    letter-spacing: .075em;
  }
  .form_detail_bt input[type="submit"]:hover {
    background: #b42222;
    color: #fff;
  }
  /* ---------- faq ---------- */
  .faq_cont {
    max-width: 800px;
  }
  .faq_cont .box_question {
    *zoom: 1;
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px #ddd solid;
  }
  .faq_cont .box_question:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .faq_cont .box_question .question_ico {
    float: left;
    width: 40px;
    line-height: 40px;
    font-size: 1.42em;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background: #b42222;
    border-radius: 4px;
    margin-right: 20px;
  }
  .faq_cont .box_question .question_txt {
    color: #b42222;
    width: 504px;
    float: left;
  }
  .faq_cont .box_question .question_img {
    float: right;
  }
  .faq_cont .box_answer {
    *zoom: 1;
    margin-bottom: 80px;
  }
  .faq_cont .box_answer:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .faq_cont .box_answer .answer_ico {
    float: left;
    width: 40px;
    line-height: 36px;
    font-size: 1.42em;
    font-weight: bold;
    text-align: center;
    color: #b42222;
    background: #fff;
    border: 2px #b42222 solid;
    border-radius: 4px;
    margin-right: 20px;
  }
  .faq_cont .box_answer .answer_txt {
    padding-left: 60px;
  }
  #column .container {
    background-image: url(../images/bg.png);
    background-repeat: repeat-y;
    background-size: 100%;
    padding: 50px 50px 50px 50px;
    width: 100%;
  }
  #column .container .inner-box {
    padding: 2% 4% 2% 4%;
    margin: 0 0 20px 0;
    border-radius: 8px;
    background: #fff;
    background-size: cover;
    box-shadow: 1px 5px 20px rgba(0, 0, 0, 0.3);
    border: 1px solid #fff;
    position: relative;
  }
  #column .topic-path {
    padding: 10px 50px;
  }
  #column .topic-path ul li a,
  #column .topic-path ul li span {
    color: #000;
    text-decoration: none;
    letter-spacing: 2px;
    font-size: 13px;
  }
  #column .topic-path ul li a:hover {
    color: #8f8f8f;
    text-decoration: underline;
  }
  #column .row2 {
    background-image: url(../images/bg.png);
    background-repeat: repeat-y;
    background-size: 100%;
    padding: 50px 50px 50px 50px;
    width: 100%;
  }
  #column .row2 ul {
    width: 100%;
  }
  #column .row2 li {
    width: 100%;
  }
  #column .row2 li a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 2% 4% 2% 4%;
    margin: 0 0 20px 0;
    border-radius: 8px;
    background: #fff;
    background-size: cover;
    box-shadow: 1px 5px 20px rgba(0, 0, 0, 0.3);
    border: 1px solid #fff;
    position: relative;
    z-index: 0;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    transition: all 1s;
    text-decoration: none;
    color: #333;
  }
  #column .row2 li a .img-hldr {
    width: 100px;
    height: 100px;
    padding: 63px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
  }
  #column .row2 li a .img-hldr img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    height: 100%;
    width: auto;
  }
  #column .row2 li a .txt {
    width: calc(100% - 150px);
    position: relative;
  }
  #column .row2 li a .txt .title {
    font-size: 1.7vw;
    line-height: 1.5em;
    font-weight: 600 !important;
    margin-bottom: 2.2vw;
    overflow-y: hidden;
    height: 5vw;
  }
  #column .row2 li a .txt .desc {
    font-size: 1.3vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  #column .row2 li a .txt span {
    font-size: 1.1vw;
    padding: 0 15px 0 0;
  }
  #column .row2 li a .txt hr {
    padding: 0px;
    border: 0px;
    width: 95px;
    border-top: 1px solid #6f6f6f;
    margin: 0 25px;
  }
  #column .row2 li a .txt .viewmore {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    right: 0;
    font-size: 0.95vw;
    letter-spacing: 2px;
    line-height: 1;
  }
  #column .row2 li a:hover {
    background: none;
    color: #fff;
  }
  #column .row2 li a:hover hr {
    border-top: 1px solid #fff;
  }
  #column .row2 li a:hover .viewmore span {
    overflow: hidden;
    width: 95px;
    height: 3px;
    margin-right: 20px;
  }
  #column .row2 li a:hover .viewmore span:before {
    content: "";
    display: block;
    left: 0;
    width: 100%;
    margin-top: 1.5px;
    height: 1px;
    background: #fff;
    background-size: 100%;
    -webkit-animation: lineAnime 1.5s ease-in-out infinite;
    animation: lineAnime 1.5s ease-in-out infinite;
  }
  /*
  archive
--------------------------------------------- */
  /* ---------- layout ---------- */
  .container {
    *zoom: 1;
    margin-bottom: 90px;
  }
  .container:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  /* ---------- article_box ---------- */
  .article_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
  }
  .article_box {
    max-width: 250px;
    text-align: left;
    margin: 0 2% 30px;
  }
  .article_box:hover .article_tit {
    color: #b42222;
  }
  .article_box .article_img {
    padding-bottom: 15px;
  }
  .article_box .article_img img {
    width: 100%;
  }
  .article_box a {
    color: #333333;
    text-decoration: none;
  }
  .article_box .article_tit {
    padding: 0 20px;
    line-height: 1.5;
    font-weight: bold;
  }
  .article_box .article_date {
    padding: 0 20px;
    color: #666;
  }
  .article_box .article_category {
    padding: 0 20px;
  }
  .article_box .article_category a {
    display: inline-block;
    text-decoration: none;
    background: #fff;
    border-radius: 4px;
    border: 1px #b42222 solid;
    font-size: 0.71em;
    font-weight: bold;
    padding: 0 16px;
    line-height: 1.6;
    color: #b42222;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .article_box .article_category a {
    line-height: 2;
  }
}

@media (min-width: 768px) {
  .article_cont .article_wrap {
    margin: 0 -2%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .article_cont .article_box {
    width: 29.333%;
    max-width: inherit;
    padding: 0 2%;
    margin: 0 0 30px;
    box-sizing: content-box;
  }
}

@media (min-width: 768px) and (max-width: 1079px) {
  .article_cont .article_box {
    width: 46%;
  }
}

@media (min-width: 768px) {
  /* ---------- page-nation ---------- */
  .page-nation {
    letter-spacing: normal;
    margin: 50px auto;
  }
  .page-nation ul {
    text-align: center;
  }
  .page-nation ul li {
    padding: 0 6px;
    display: inline-block;
  }
  .page-nation ul li a {
    display: block;
    text-align: center;
    width: 45px;
    line-height: 48px;
    border-radius: 4px;
    border: 1px #b42222 solid;
    background: #fff;
    color: #b42222;
    text-decoration: none;
  }
  .page-nation ul li.current a {
    color: #fff;
    background: #b42222;
  }
  /*
  sidebar
--------------------------------------------- */
  /*
  single
--------------------------------------------- */
  .single_cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .single_cont .catcheye .img-hldr {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
  }
  .single_cont .catcheye .img-hldr img {
    max-width: 9999px;
    height: 100%;
    width: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .single_cont .cont {
    padding-left: 50px;
  }
  .single_cont .cont .desc {
    font-size: 1.3vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .single_cont .cont .desc span {
    font-size: 1.1vw;
    padding: 0 15px 0 0;
  }
  .single_cont .cont .desc hr {
    padding: 0px;
    border: 0px;
    width: 95px;
    border-top: 1px solid #6f6f6f;
    margin: 0 25px;
  }
  .single_cont_date {
    font-size: 1.28em;
    padding: 30px 0;
    color: #b42222;
  }
  .single_cont_tit {
    color: #333;
    font-size: 1.8vw;
    line-height: 1.5em;
    font-weight: 600 !important;
    margin-bottom: 2.3vw;
    overflow-y: hidden;
    height: 5.5vw;
  }
  .single_cont_sub {
    *zoom: 1;
    margin-bottom: 70px;
  }
  .single_cont_sub:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .single_cont_tag {
    float: left;
    padding: 5px 0;
  }
  .single_cont_tag a {
    display: inline-block;
    font-size: 0.92em;
    line-height: 30px;
    padding: 0 15px;
    color: #fff;
    margin-right: 5px;
    background: #000;
    text-decoration: none;
  }
  .single_cont_sns {
    float: right;
  }
  .single_cont_sns ul li {
    display: inline-block;
    margin-left: 4px;
  }
  .single_cont_img {
    margin-bottom: 80px;
  }
  .single_cont_img img {
    max-width: 100%;
  }
  .single_cont_sns-bot {
    text-align: center;
  }
  .single_cont_sns-bot ul li {
    display: inline-block;
    margin-left: 4px;
  }
  .single_cont_auther {
    border: 1px #d9d9d9 solid;
    background: #fff;
    padding: 30px;
    margin-bottom: 30px;
    margin-top: 60px;
    border: 5px #d9d9d9 solid;
    display: table;
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .single_cont_auther {
    padding: 20px 16px;
    margin-bottom: 10px;
    border-radius: 8px;
  }
}

@media (min-width: 768px) {
  .single_cont_auther .auther_img {
    width: 80px;
    display: table-cell;
    vertical-align: middle;
  }
  .single_cont_auther .auther_img img {
    border-radius: 40px;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .single_cont_auther .auther_img {
    display: block;
    text-align: center;
    margin: 0 auto;
    padding-right: 30px;
    width: 100%;
  }
  .single_cont_auther .auther_img img {
    text-align: center;
    margin: 0 auto;
  }
}

@media (min-width: 768px) {
  .single_cont_auther .auther_cont {
    display: table-cell;
    vertical-align: middle;
    padding: 0 30px;
  }
  .single_cont_auther .auther_cont_name {
    font-size: 1.57em;
    padding-top: 8px;
    font-weight: bold;
    color: #b42222;
  }
  .single_cont_auther .auther_cont_name span {
    padding-left: 13px;
    font-size: 13px;
    color: #333333;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .single_cont_auther .auther_cont {
    display: block;
    text-align: center;
    padding: 10px 30px 0 0;
  }
  .single_cont_auther .auther_cont_name {
    padding: 0;
    line-height: 1.2;
  }
}

@media (min-width: 768px) {
  .single_cont_auther .auther_txt {
    width: 410px;
    display: table-cell;
    vertical-align: middle;
    padding-left: 30px;
    border-left: 1px #ddd solid;
  }
  .single_cont .single_page-nation {
    margin-top: 50px;
  }
  .single_cont .single_page-nation .prev,
  .single_cont .single_page-nation .next {
    display: inline-block;
    margin-right: 30px;
  }
  .single_cont .single_page-nation .prev a,
  .single_cont .single_page-nation .next a {
    border-radius: 0px !important;
  }
  .single_cont .single_page-nation .prev a {
    position: relative;
    display: inline-block;
    padding: 0 48px;
    font-size: 1.14em;
    letter-spacing: .075em;
    color: #b42222;
    background: #fff;
    border-radius: 4px;
    border: 1px #b42222 solid;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
  }
  .single_cont .single_page-nation .prev a:hover {
    text-decoration: none;
    background: #b42222;
    color: #fff;
  }
  .single_cont .single_page-nation .prev a i {
    font-size: 0.71em;
    position: absolute;
    left: 16px;
    top: 50%;
    margin-top: -6px;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .single_cont .single_page-nation .prev {
    width: 48%;
    float: left;
  }
  .single_cont .single_page-nation .prev a {
    width: 100%;
    padding: 0 20px;
    font-size: 0.92em;
    line-height: 45px;
  }
}

@media (min-width: 768px) {
  .single_cont .single_page-nation .next a {
    position: relative;
    display: inline-block;
    padding: 0 48px;
    font-size: 1.14em;
    letter-spacing: .075em;
    color: #b42222;
    background: #fff;
    border-radius: 4px;
    border: 1px #b42222 solid;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
  }
  .single_cont .single_page-nation .next a:hover {
    text-decoration: none;
    background: #b42222;
    color: #fff;
  }
  .single_cont .single_page-nation .next a i {
    font-size: 0.71em;
    position: absolute;
    right: 16px;
    top: 50%;
    margin-top: -6px;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .single_cont .single_page-nation .next {
    width: 48%;
    float: right;
  }
  .single_cont .single_page-nation .next a {
    width: 100%;
    padding: 0 20px;
    font-size: 0.92em;
    line-height: 45px;
  }
}

@media (min-width: 768px) {
  .single_cont .interview-lines {
    margin-bottom: 20px;
  }
  .single_cont .interview-lines dt {
    font-size: 1.71em;
    padding-bottom: 20px;
    line-height: 1.5;
    padding-left: 50px;
    text-indent: -50px;
  }
  .single_cont .interview-lines dt:before {
    display: inline-block;
    vertical-align: middle;
    content: "";
    width: 30px;
    height: 2px;
    background: #54a6ba;
    margin-right: 20px;
  }
  .single_cont_inner {
    margin-bottom: 50px;
    margin-top: 10px;
  }
  .single_cont_inner p {
    font-size: 1.14em;
    color: #333333;
    margin-bottom: 20px;
  }
  .backbtn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .backbtn a {
    font-size: 19px;
    font-weight: normal;
    width: 283px;
    height: 60px;
    background: #fff;
    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;
    border-radius: 5px;
    box-shadow: 1px 5px 20px rgba(0, 0, 0, 0.3);
    transition: all 1s;
  }

  /* loading */
  @-webkit-keyframes move {
    0% {
      -webkit-transform: translateY(-50px) translateX(0);
      transform: translateY(-50px) translateX(0);
    }
    25% {
      -webkit-transform: translateY(0px) translateX(0);
      transform: translateY(0px) translateX(0);
    }
    50% {
      -webkit-transform: translateY(0px) translateX(-50px);
      transform: translateY(0px) translateX(-50px);
    }
    75% {
      -webkit-transform: translateY(-50px) translateX(0);
      transform: translateY(-50px) translateX(0);
    }
  }
  @keyframes move {
    0% {
      -webkit-transform: translateY(-50px) translateX(0);
      transform: translateY(-50px) translateX(0);
    }
    25% {
      -webkit-transform: translateY(0px) translateX(0);
      transform: translateY(0px) translateX(0);
    }
    50% {
      -webkit-transform: translateY(0px) translateX(-50px);
      transform: translateY(0px) translateX(-50px);
    }
    75% {
      -webkit-transform: translateY(-50px) translateX(0);
      transform: translateY(-50px) translateX(0);
    }
  }
  @-webkit-keyframes lineAnime {
    0% {
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
    }
    100% {
      -webkit-transform: translateX(100%);
      transform: translateX(100%);
    }
  }
  @keyframes lineAnime {
    0% {
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
    }
    100% {
      -webkit-transform: translateX(100%);
      transform: translateX(100%);
    }
  }
  .main-stage {
    height: 100vh;
    width: 100%;
    overflow: hidden;
    background-image: url("../images/common/bg-dots.gif");
    background-size: 16px 32px;
    background-position: center center;
    background-attachment: fixed;
    z-index: -1;
  }
  .main-stage .inner-max {
    height: 100%;
    position: relative;
  }
  .inner-max.pull-top{
    padding: 50px;
  }
  .topholder {
    position: fixed;
    width: 65%;
    height: 100%;
    top: 0;
    right: 0;
  }
  .topholder .main-bgs li {
    background-size: cover;
    background-position: center top;
    position: relative;
    background-repeat: no-repeat;
    height: 100vh;
  }
  .topholder .main-bgs li img {
    max-width: 999999px;
    height: 110%;
    width: auto !important;
    visibility: hidden;
  }
  .content-window {
    position: relative;
    overflow: hidden;
  }
  .anim1,
  .anim2,
  .anim3 {
    transition: all 0.4s linear;
  }
  .draw {
    transition: color 0.25s;
    box-shadow: inset 0 0 0 5px transparent;
    padding: 50px 0px;
  }
  .draw:before,
  .draw:after {
    box-sizing: inherit;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
  }
  .draw:before,
  .draw:after {
    content: "";
    border: 5px solid transparent;
    width: 0 !important;
    height: 0 !important;
  }
  .draw:before {
    top: 0;
    left: 0;
  }
  .draw:after {
    bottom: 0;
    right: 0;
  }
  .draw.boxed:before,
  .draw.boxed:after {
    width: 100% !important;
    height: 100% !important;
  }
  .draw.boxed:before {
    border-top-color: #fff;
    border-right-color: #fff;
    transition: width 0.25s ease-out, height 0.25s ease-out 0.25s;
  }
  .draw.boxed:after {
    border-bottom-color: #fff;
    border-left-color: #fff;
    transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s;
  }
  .hero_wrap {
    font-family: 'Oswald', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
    z-index: 1;
    display: block;
    width: 45%;
    top: 50%;
    left: 20px;
    position: absolute;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    z-index: 98;
  }
  .hero_wrap .hero_copy {
    text-align: center;
    color: #fff;
    line-height: 1.25;
    margin-bottom: 24px;
    letter-spacing: 3px;
  }
  .hero_wrap .hero_copy::before,
  .hero_wrap .hero_copy::after {
    box-sizing: inherit;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
  }
  .hero_wrap .hero_copy .anim2,
  .hero_wrap .hero_copy .anim3 {
    font-size: 2vw;
    margin-bottom: 50px;
  }
  .bgr{
    font-size: 3vw !important;
    font-weight: 700;
    margin-bottom: 0px !important;
  }
  .hero_wrap .hero_txt {
    color: #fff;
    font-weight: bold;
    letter-spacing: .075em;
    margin-bottom: 1.2em;
  }
  .hero_wrap .hero_txt :last-child {
    margin-bottom: 0;
  }
  .hero_wrap .hero_btn a {
    position: relative;
    font-size: 1.14em;
    display: block;
    font-weight: bold;
    letter-spacing: .075em;
    color: #fff;
    background: #b42222;
    border: 1px solid #fff;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
  }
  .hero_wrap .hero_btn a .fa {
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -9px;
  }
  .hero_wrap .hero_btn a:hover {
    text-decoration: none;
    background: #2574ab;
  }
}

@media (min-width: 768px) and (max-width: 767px) {
  .hero_wrap .hero_btn a {
    font-size: 14px;
    line-height: 45px;
  }
  .hero_wrap .hero_btn a .fa {
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -7px;
  }
}

@media (min-width: 768px) {
  .newsfeed {
    width: 100%;
    padding: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .newsfeed .sec-title {
    display: inline-block;
    width: 10%;
    padding: 10px 0px;
  }
  .newsfeed .sec-title h3 {
    font-size: 14px;
    letter-spacing: 2px;
    font-weight: bold;
  }
  .newsfeed ul {
    width: 89%;
    display: inline-block;
  }
  .newsfeed ul li {
    padding: 10px 0px;
    display: inline-block;
    width: calc(100%/2.1);
  }
  .newsfeed ul li a {
    text-decoration: none;
  }
  .newsfeed ul li .date {
    border: 1px solid #000;
    padding: 3px 20px;
    line-height: 1;
    margin-right: 20px;
  }
  .sub{
    font-weight: 700;
    font-size: 16px;
  }
  /*
  index common
--------------------------------------------- */
  #index .s2 .boxin {
    background: #fff;
  }
  #index .s2 .sec-body ul.shop-list {
    max-width: 1000px;
    margin: 0 auto;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
    -ms-grid-column-align: center;
    justify-items: center;
  }
  #index .s2 .sec-body ul.shop-list li {
    margin-bottom: 30px;
    width: calc(100%/4.1);
  }
  #index .s2 .sec-body ul.shop-list li a {
    text-decoration: none;
  }
  #index .s2 .sec-body ul.shop-list li .img-hldr {
    height: 150px;
  }
  #index .s2 .sec-body ul.shop-list li img {
    max-height: 100%;
    width: auto;
    display: block;
    margin: 0 auto;
  }
  #index .s2 .sec-body ul.shop-list li .shop-name {
    text-align: center;
    font-size: 14px;
    color: #333333;
    font-weight: 700;
    outline-color: #111111;
  }
  #index .s2 .sec-body ul.shop-list li .shop-name.en {
    color: #999;
  }
  #index .s3 .boxin {
    background-image: url("../images/common/s3-bg.png");
  }
  #index .s3 .sec-head {
    width: 20%;
    text-align: left;
  }
  #index .s3 .inner-max {
    position: relative;
  }
  #index .s3 .sec-body {
    width: 80%;
  }
  #index .s3 .sec-body .topics {
    display: none;
  }
  #index .s3 .sec-body .topics.active {
    display: block;
  }
  #index .s3 .sec-body .topics li {
    padding: 20px 0px;
    border-bottom: 1px solid #ddd;
  }
  #index .s3 .sec-body .img-hldr {
    width: 150px;
    height: 150px;
    overflow: hidden;
  }
  #index .s3 .sec-body .img-hldr img {
    width: auto;
    max-width: 9999px;
    height: 100%;
  }
  #index .s3 .sec-body .text {
    width: calc(100% - 150px);
    padding-left: 20px;
    position: relative;
  }
  #index .s3 .sec-body .text p {
    margin-bottom: 0px;
  }
  #index .s3 .sec-body .text a {
    text-decoration: none;
  }
  #index .s3 .sec-body .text .title {
    color: #a61c1c;
    font-weight: 700;
  }
  #index .s3 .sec-body .text:after {
    font-size: 30px;
    content: '\f3d1';
    font-family: 'IonIcons';
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -15px;
    color: #b42222;
    transition: all 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  #index .s3 .sec-body .text:hover:after {
    right: 0px;
  }
  #index .s3 .sec-body .cats a {
    font-size: 10px;
    color: #999;
    border: 1px solid #999;
    display: inline-block;
    padding: 0px 5px;
    border-radius: 5px;
    font-weight: 700;
    margin-right: 5px;
  }
  #index .s3 .category {
    text-align: center;
  }
  #index .s3 .category li {
    display: inline-block;
    vertical-align: middle;
  }
  #index .s3 .category li a {
    font-size: 16px;
    display: block;
    text-decoration: none;
    line-height: 50px;
    color: #333333;
    padding: 0px 30px;
  }
  #index .s3 .category li a.active {
    color: #a61c1c;
    position: relative;
  }
  #index .s3 .category li a.active:after {
    content: "";
    width: 100%;
    bottom: 0px;
    left: 0px;
    position: absolute;
    height: 3px;
    background: #a61c1c;
  }
  #index .s3 .button {
    color: #fff !important;
    text-decoration: none !important;
    position: absolute;
    /*top: -25px;*/
    right: 0px;
  }
  #index .s4 .boxin {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }
  #index .s4 h3 {
    font-size: 30px;
    color: #fff;
  }
  #index .s4 h4 {
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 50px;
  }
  #index .s4 p {
    color: #fff;
    font-weight: normal;
  }

  .subpage .breadcrumbs{
    padding: 30px 0px;
  }

  .subpage .breadcrumbs ul li{
    display: inline-block;
  }

  .subpage .breadcrumbs ul li span{
  }

  .subpage .breadcrumbs ul li span:before{
    content: "\f3d1";
    font-family: 'IonIcons';
    position: relative;
    display: inline-block;
    margin: 0px 10px;
  }

  .subpage section{
    background: transparent;
  }

  .subpage .mv{
    background-size: cover;
    background-position: center;
    position: relative;
  }

  .subpage .mv:after{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top:0;
    left: 0;
    background: rgba(0, 0, 0, 0.4);
    display: block;
  }

  .subpage .mv .sec-head{
    color: #fff;
    text-align: left;
    z-index: 99;
  }

  .subpage .mv .sec-head h2{
    font-weight: 700;
  }

  .subpage .mv .sec-head h2.en{
    font-size: 25px;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: none !important;
  }

  .subpage .mv .sec-head:after{
    background: #fff;
    margin: 20px 0px;
  }

  .subpage .mv .sec-head{
    padding: 220px 0px;
  }

  .sec-contact .boxin {
    background-image: url("../images/common/contact.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }
  .sec-contact h3 {
    font-size: 18px;
    color: #fff;
    margin-bottom: 20px;
    font-weight: 700;
    text-align: center;
  }
  .sec-contact p {
    text-align: center;
    color: #fff;
    font-weight: normal;
  }

  .pull-top {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    min-height: 400px; 
    background: #fff;
    padding: 40px 30px;
    position: relative;
    top: -150px;
    margin-bottom: -150px;
  }

  .text-vertical {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    display: inline;
    white-space: nowrap; 
    font-family: "Yu Mincho","YuMincho";
  }

  .subpage section p{
    line-height: 1.5;
  }

  .subpage .cont{
    background-image: url(../images/common/s3-bg.png);
  }

  .cl-black{
    color: #000 !important;
  }

  .designer{
      font-family: "Yu Mincho","YuMincho";
      font-size: 24px;
      font-weight: 700;
      margin-bottom: 20px;
  }

  /*
  about
--------------------------------------------- */
  
  #about .s0{
    background-size: cover;
  }

  #about .s1{
    padding-bottom: 350px;
  }

  #about .s1 .flex{
   /* align-items:center;*/
  }

  #about .s1 .img-hldr{
    min-height: 600px;
    position: relative;
    overflow: hidden;
    background-image: url('../images/about/img1.jpg');
    background-size: cover;
  }

  #about .s1 .img-hldr,#about .s1 .txt{
    width: calc(100%/2);
    padding: 15px 20px;
  }

  #about .s1 .txt p{
    line-height: 1.5;
  }

  #about .s1 .txt .designer span{
    color: #a61c1c;
  }

  #about .s1 .text-vertical{
    margin: 0 auto;
    font-weight: 700;
    line-height: 180%;
    margin: 0 auto;
    display: block;
    font-size: 170%;
    z-index: 99;
    position: absolute;
    top:50%;
    left: 10px;
    transform: translateY(-50%);
    text-shadow:2px 2px 3px #ffffff;
  }

  #about .s2{
    padding-bottom: 50px;
  }

  #about .s2 .pull-top{
    top: -50px;
    margin-bottom: -50px;
    padding: 0px !important;
  }

  #about .s2 .flex:nth-child(odd){
    flex-direction: row-reverse;
  }

  #about .s2 .img-hldr,#about .s2 .txt{
    width: calc(100%/2);
  }

  #about .s2 .img-hldr{
    position: relative;
    overflow: hidden;
  }

  #about .s2 .img-hldr img{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 9;
    width: 100%;
  }

  #about .s2 .img-hldr .text-vertical{
    z-index: 99;
    color: #fff;
    font-weight: 700;
    line-height: 180%;
    margin: 0 auto;
    display: block;
    font-size: 170%;
  }

  #about .s2 .txt{
    padding: 55px 40px;
  }

  .centerized{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  #about .s3 .flex .img-hldr{
    width: calc(100%/3);
  }

  #about .s3 .flex .img-hldr img{
    width: 100%;
  }

  #about .s3{
    color: #fff;
    text-align: center;
  }

  #about .s3 .txt{
    width: 800px;
    margin: 0 auto;
  }

  #about .s3 .block{
    padding-top: 140px;
    padding-bottom: 100px;
    position: relative;
    background: center center no-repeat;
    background-image: url(http://via.placeholder.com/1600x596);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }

  #about .s3 h3{
    font-family: "Yu Mincho","YuMincho";
    font-weight: 700;
    line-height: 180%;
    font-size: 35px;
    margin-bottom: 30px;
  }

  /*Tour
  ----------------------------------------------*/
  #tour .mv{
    background-position: center bottom;
  }

  #tour .s1 .pull-top{
    padding: 50px !important;
  }

  #tour .s1 .flex{
    margin-bottom: 75px;
    border-radius: 5px;
    position: relative;
  }

  #tour .s1 .flex:after{
    content: "\f3d0";
    font-family: 'IonIcons';
    position: absolute;
    bottom: -75px;
    left: 50%;
    font-size: 100px;
    color: #b42222;
    transform:translateX(-50%);
    line-height: 1;
  }

  @keyframes arrowdown {
    0% {
      bottom: -85px;
      opacity: 1;
    }
    100% {
      bottom: -95px;
      opacity: 0;
    }
  }

  #tour .s1 .flex:before{
    content: "\f3d0";
    font-family: 'IonIcons';
    position: absolute;
    bottom: -80px;
    left: 50%;
    font-size: 80px;
    color: #b42222;
    transform:translateX(-50%);
    line-height: 1;
    animation: arrowdown 2s infinite;
  }

  #tour .ttl{
    text-align: center;
  }

  #tour .s1 .flex:nth-child(odd){
    flex-direction: row-reverse;
  }

  #tour .s1 .img-hldr{
    width: 70%;
  }

  #tour .s1 .txt{
    width: 30%;
  }

  #tour .s1 .img-hldr{
    position: relative;
    overflow: hidden;
  }

  #tour .s1 .img-hldr img{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 9;
    width: 100%;
  }

  #tour .s1 .img-hldr .text-vertical{
    z-index: 99;
    color: #fff;
    font-weight: 700;
    line-height: 180%;
    margin: 0 auto;
    display: block;
    font-size: 170%;
  }

  #tour .s1 .txt{
    padding: 55px 40px;
    min-height: 300px;
    background: #d8ecff;
  }

  .tit{
      background: #b42222;
      color: #fff;
      line-height: 60px;
      border-left: 5px solid #d83131;
      font-size: 18px;
      font-weight: 700;
      padding-left: 30px;
      margin-bottom: 30px;
  }

  #tour .s1 .flex.last:before,  #tour .s1 .flex.last:after{
    display: none;
  }

  #tour .phase2 .txt p, #tour .phase3 .txt p{
    /*font-size: 20px;*/
  }

  /*water
  ----------------------------------------------*/
  #water-bottle .mv{
    background-position: center top;
  }

  #water-bottle .s1 .pull-top{
    margin-bottom: 0px;
  }
  #water-bottle .s2{
    padding-bottom: 150px;
  }
  #water-bottle .s2 .pull-top {
    top: 150px;
    margin-bottom: 150px;
    padding: 0px !important;
  }
  #water-bottle .s2 .flex:nth-child(odd){
    flex-direction: row-reverse;
  }

  #water-bottle .s2 .img-hldr,#water-bottle .s2 .txt{
    width: calc(100%/2);
  }

  #water-bottle .s2 .img-hldr{
    position: relative;
    overflow: hidden;
  }

  #water-bottle .s2 .img-hldr img{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 9;
    width: auto;
    height: 100%;
  }

  #water-bottle .s2 .flex:last-child .img-hldr img{
    height: auto !important;
  }

  #water-bottle .s2 .txt .text-vertical{
    z-index: 99;
    font-weight: 700;
    line-height: 180%;
    margin: 0 auto;
    display: block;
    font-size: 170%;
    color: #fff !important;
    position: relative;
  }

  #water-bottle .s2 .txt{
    padding: 55px 40px;
    min-height: 300px;
    position: relative;
  }

  #water-bottle .txt:after{
    z-index: 9;
    content:"";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0px;
    top:0px;
    background-repeat: repeat;
  }

  #water-bottle .blgrad{
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#d0e4f7+0,0a77d5+0,539fe1+42,539fe1+42,73b1e7+59,87bcea+100 */
    background: #d0e4f7; /* Old browsers */
    background: -moz-linear-gradient(top, #d0e4f7 0%, #0a77d5 0%, #539fe1 42%, #539fe1 42%, #73b1e7 59%, #87bcea 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #d0e4f7 0%,#0a77d5 0%,#539fe1 42%,#539fe1 42%,#73b1e7 59%,#87bcea 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #d0e4f7 0%,#0a77d5 0%,#539fe1 42%,#539fe1 42%,#73b1e7 59%,#87bcea 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d0e4f7', endColorstr='#87bcea',GradientType=0 ); /* IE6-9 */

  }

  #water-bottle .blgrad:after{
    background-image:url('../images/water/patt3.png'); 
  }

  #water-bottle .ylgrad{
    position: relative;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#4a346d+1,ad1283+44,ad1283+44,eae470+100,de47ac+100 */
    background: #4a346d; /* Old browsers */
    background: -moz-linear-gradient(top, #4a346d 1%, #ad1283 44%, #ad1283 44%, #eae470 100%, #de47ac 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #4a346d 1%,#ad1283 44%,#ad1283 44%,#eae470 100%,#de47ac 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #4a346d 1%,#ad1283 44%,#ad1283 44%,#eae470 100%,#de47ac 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4a346d', endColorstr='#de47ac',GradientType=0 ); /* IE6-9 */

  }

  #water-bottle .ylgrad:after{
    background-image:url('../images/water/patt4.png'); 
  }

  #water-bottle .orgrad{
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f28d00+0,ff631c+50,ff161a+100,eae470+100 */
    background: #f28d00; /* Old browsers */
    background: -moz-linear-gradient(top, #f28d00 0%, #ff631c 50%, #ff161a 100%, #eae470 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #f28d00 0%,#ff631c 50%,#ff161a 100%,#eae470 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #f28d00 0%,#ff631c 50%,#ff161a 100%,#eae470 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f28d00', endColorstr='#eae470',GradientType=0 ); /* IE6-9 */
  }

  #water-bottle .orgrad:after{
    background-image:url('../images/water/patt2.png'); 
  }

  #water-bottle .s3{
    padding-bottom: 150px;
  }
  #water-bottle .s3 .pull-top {
    top: 150px;
    margin-bottom: 50px;
    padding: 0px;
    padding-bottom: 50px;
  }

  #water-bottle .s3 .sec-head,#water-bottle .s3 .conts2{
    padding: 50px;
  }

  #water-bottle .s3 .conts .flex .box{
    width: 50%;
    position: relative;
  }

  #water-bottle .s3 .conts .flex .box img{
    width: 100%;
  }

  #water-bottle .s3 .conts .flex .box .label{
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: block;
    text-align: center;
    line-height: 80px;
    margin: 30px;
    z-index: 99;
    position: absolute;
  }

  #water-bottle .s3 .conts .flex .box:first-child .label{
    background:#fff;
    top: 20px;
    left: 20px;
  }

  #water-bottle .s3 .conts .flex .box:last-child .label{
    background:#000;
    color: #fff;
    top: 20px;
    right: 20px;
  }

  #water-bottle .note{
    margin-top: 20px;
    text-align: center;
  }

  #water-bottle .s3 .pros .opening .tree{
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
  }

  #water-bottle .s3 .pros .opening .tree:after{
    content: "";
    position: absolute;
    width: 30%;
    height: 30%;
    background-size: contain;
    background-repeat: no-repeat;
    background-image:url('../images/water/tree.png'); 
    top:0px;
    left: 0px;
    z-index: 99;
  }

  #water-bottle .s3 .pros .opening .tree:before{
    content: "";
    position: absolute;
    width: 30%;
    height: 30%;
    background-size: contain;
    background-repeat: no-repeat;
    background-image:url('../images/water/tree.png'); 
    bottom:0px;
    right: 0px;
    transform: rotate(-180deg);
  }

  #water-bottle .pros{
    position: relative;
  }

  #water-bottle .pros .designer{
    color: #62a104;
    font-size: 40px;
    text-align: center;
  }

  #water-bottle .pros .big3{
    color: #ffa500;
    font-size: 70px;
    margin-bottom: 50px;
  }

  #water-bottle .pros .opening{
    max-width: 900px;
    margin-top: 0px;
    margin-bottom: 0px;
    position: relative;
    padding-bottom: 100px;
  }

  #water-bottle .pros .opening dl{
    position: relative;
    z-index: 2;
    counter-reset: count1;
  }

  #water-bottle .pros .opening dl dt{
    font-size: 20px;
    font-weight: 700;
    counter-increment: count1;
    position: relative;
    padding-left: 40px;
  }

  #water-bottle .pros .opening dl dt:before{

    position: absolute;
    display: block;
    content: counter(count1);
    left: 0;
    top:5px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    border-radius: 50%;
    background: #ffa500;
    color: #fff;
  }

  #water-bottle .pros .opening dl dd{
    margin-left: 40px;
    margin-bottom: 30px;
  }

  /*price
  ----------------------------------------------*/

  #price-and-area .s1, #price-and-area .s2{
    position: relative;
    z-index: 99;
  }

  #price-and-area .s1 .img-hldr{
    width: 50%;
    position: relative;
  }

  #price-and-area .s1 .img-hldr img{
    width: 100%;
    height: auto;
  }

  #price-and-area .s1 .flex{
    margin-bottom: 30px;
  }

  #price-and-area .s1 .txt{
    width: 50%;
    padding: 50px;
  }

  #price-and-area .s1 .txt p{
    border-bottom: 1px solid #ccc;
  }

  #price-and-area .area{
    margin-bottom: 50px;
  }

  #price-and-area .s2 .pull-top{
    top:0px;
    margin-bottom: 0px;
  }

  #price-and-area .s2 .tit{
    background: #000;
  }

  #price-and-area .s2 .flex .box{
    width: calc(100%/3.1);
   /* box-shadow: 2px 2px 3px #ccc;*/
    padding: 20px;
  }

  #price-and-area .s2 table{
    width: 100%;
  }

  #price-and-area .s2 table tr th, #price-and-area .s2 table tr td{
    display: block;
    border-bottom: 1px solid #ccc;
  }

  #price-and-area .s2 table tr th{
    color: #fff;
    padding: 5px;
    font-size: 20px;
  }

  #price-and-area .s2 table tr td{
    font-size: 16px;
    font-weight: 700;
  }

  #price-and-area .s2 table tr td span{
    font-size: 10px;
    display: inline-block;
  }

  #price-and-area .minimv{
    width: 100%;
    height: 200px;
    background-position: center;
    background-size: cover;
    overflow: hidden;
  }

  #price-and-area .flb .a3{
    width: calc(32% * 2);
  }

  #price-and-area .flb .a4{
    width: 32%;
  }

  #price-and-area .a3 .flex .box{
    width: calc(100%/2.1);
  }

  #price-and-area .a4 .flex .box{
    width: 100%;
  }

  #price-and-area .s2 .a1 th{
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#7d7e7d+0,0e0e0e+100;Black+3D */
    background: #7d7e7d; /* Old browsers */
    background: -moz-linear-gradient(top,  #7d7e7d 0%, #0e0e0e 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #7d7e7d 0%,#0e0e0e 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #7d7e7d 0%,#0e0e0e 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7d7e7d', endColorstr='#0e0e0e',GradientType=0 ); /* IE6-9 */
  }

  #price-and-area .s2 .a2 th{
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#a84b5f+0,8e122d+56,6d0019+100 */
    background: #a84b5f; /* Old browsers */
    background: -moz-linear-gradient(top,  #a84b5f 0%, #8e122d 56%, #6d0019 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #a84b5f 0%,#8e122d 56%,#6d0019 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #a84b5f 0%,#8e122d 56%,#6d0019 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a84b5f', endColorstr='#6d0019',GradientType=0 ); /* IE6-9 */
  }

  #price-and-area .s2 .a3 th{
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1e5799+0,207cca+41,2989d8+59,7db9e8+100 */
    background: #1e5799; /* Old browsers */
    background: -moz-linear-gradient(top,  #1e5799 0%, #207cca 41%, #2989d8 59%, #7db9e8 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #1e5799 0%,#207cca 41%,#2989d8 59%,#7db9e8 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #1e5799 0%,#207cca 41%,#2989d8 59%,#7db9e8 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 ); /* IE6-9 */
  }

  #price-and-area .s2 .a4 th{
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#c9de96+0,8ab66b+38,398235+100 */
    background: #c9de96; /* Old browsers */
    background: -moz-linear-gradient(top,  #c9de96 0%, #8ab66b 38%, #398235 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #c9de96 0%,#8ab66b 38%,#398235 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #c9de96 0%,#8ab66b 38%,#398235 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c9de96', endColorstr='#398235',GradientType=0 ); /* IE6-9 */
  }

  #price-and-area .s3{
    position: relative;
    color: #fff;
    text-align: center;
    top: -50px;
    z-index: 1;
  }

  #price-and-area .s3 .txt{
    width: 800px;
    margin: 0 auto;
  }

  #price-and-area .s3 .block{
    padding-top: 140px;
    padding-bottom: 100px;
    position: relative;
    background: center -100px no-repeat;
    background-image: url(../images/water/bg2.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }

  #price-and-area .s3 h3{
    z-index: 99;
    position: relative;
    font-family: "Yu Mincho","YuMincho";
    font-weight: 700;
    line-height: 180%;
    font-size: 35px;
    margin-bottom: 30px;
    color: #fff;
    text-shadow: 2px 2px 5px #20292c;
  }

  /*sample
  ----------------------------------------------*/

  #sample .s1 .flex{
    margin-top: 50px;
  }

  #sample .s1 .flex:nth-child(odd){
    flex-direction: row-reverse;
  }

  #sample .s1 .img-hldr, #sample .s1 .txt{
    width: 40%;
  }

  #sample .s1 .txt{
    width: 55%;
  }

  #sample .s1 .img-hldr img{
    width: 100%;
    height: auto;
    padding: 10px;
    box-shadow: 2px 2px 10px #ccc;
  }

  #sample .s1 .opening{
    margin-top: 0px;
  }

  #sample .s1 table{
    width: 100%;
  }

  #sample .s1 table tr th{
    width: 30%;
  }

  #sample .s1 table tr td{
    text-align: right;
  }

  #sample .s1 table tr:last-child{
    border-top: 1px solid #ccc;
  }

  #sample .s1 table tr:last-child td{
     font-weight: 700;
     color: #b42222;
  }

  #sample .s1 .box{
    border: 2px solid #958844;
    padding: 20px;
    background: #fbefb2;
    border-radius: 3px;
  }

  #sample .s1{
    padding-bottom: 350px;
  }

  #sample .s2{
    padding-bottom: 150px;
  }

  #sample .s2 .pull-top{
    top:-50px;
  }

  #sample .s2 .opening{
    max-width: 100%;
  }

  #sample .s2 .opening:after{
    background-size: inherit;
  }

  #sample .s2 .flex{
    margin-bottom: 50px;
  }

  #sample .s2 .flex .cost, #sample .s2 .flex .txt{
    width: calc(100%/2.1);
  }

  #sample .s2 table{
    width: 100%;
  }

  #sample .s2 table tr th{
    width: 30%;
  }

  #sample .s2 table tr td{
    text-align: right;
  }

  #sample .s2 table tr:last-child{
    border-top: 1px solid #ccc;
  }

  #sample .s2 table tr:last-child td{
     font-weight: 700;
     color: #b42222;
  }

  #sample .s2 .box{
    border: 2px solid #958844;
    padding: 20px;
    background: #fbefb2;
    border-radius: 3px;
  }

  #sample .s2 .note{
    background:#b42222;
    color: #fff;
    padding:10px;
  }



  /*
  company
  --------------------------------------------- */

  #company .s1 .inner-max{
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  #company .s1 .txt{
    padding: 55px 50px;
  }

  #company .s1 p{
    letter-spacing: 0.8px;
  }

  #company .s2 .txt{
    margin-bottom: 75px;
  }

  #company .s2 dl dt, #company .s2 dl dd{
    border-bottom: 3px solid #ddd;
    word-wrap: break-word;
    overflow: hidden;
    padding: 30px 0px;
  }

  #company .s2 dl dt{
    width: 25%;
    font-weight: 700;
    font-size: 16px;
  }

  #company .s2 dl dd{
    width: 73%;
  }

  #company .s3 dl dt, #company .s3 dl dd{
    border-bottom: 3px solid #ddd;
    word-wrap: break-word;
    overflow: hidden;
    padding: 30px 0px;
  }

  #company .s3 dl dt{
    width: 200px;
    font-weight: 700;
    font-size: 16px;
  }

  #company .s3 dl dd{
    width: calc(100% - 250px);
  }

  .arch .text .title{
    font-size: 16px;
    margin-bottom: 10px;
    display: block;
  }

  .date{
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
    font-weight: 200;
    font-size: 14px;
  }

  /*
  recruitment
  --------------------------------------------- */

  #recruitment .s1 .inner-max{
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  #recruitment .s1 .txt{
    padding: 55px 50px;
  }

  #recruitment .s1 p{
    letter-spacing: 0.8px;
  }

  #recruitment .s2 .txt{
    margin-bottom: 75px;
  }

  #recruitment .s2 dl dt, #recruitment .s2 dl dd{
    border-bottom: 3px solid #ddd;
    word-wrap: break-word;
    overflow: hidden;
    padding: 30px 0px;
  }

  #recruitment .s2 dl dt{
    width: 25%;
    font-weight: 700;
    font-size: 16px;
  }

  #recruitment .s2 dl dd{
    width: 73%;
  }

  #recruitment .s3 dl dt, #recruitment .s3 dl dd{
    border-bottom: 3px solid #ddd;
    word-wrap: break-word;
    overflow: hidden;
    padding: 30px 0px;
  }

  #recruitment .s3 dl dt{
    width: 200px;
    font-weight: 700;
    font-size: 16px;
  }

  #recruitment .s3 dl dd{
    width: calc(100% - 250px);
  }

  #recruitment .img-hldr{
    height: 300px;
    width: 100%;
    position: relative;
    overflow: hidden;
  }

  #recruitment .img-hldr img{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  /*
  archive
  --------------------------------------------- */

  #arch .side{
    width: 250px;
  }

  #arch .arch{
    width: calc(100% - 300px);
  }

  #arch .arch .topics li {
    padding: 20px 0px;
    border-bottom: 1px solid #ddd;
  }
  #arch .arch .img-hldr {
    width: 120px;
    height: 120px;
    overflow: hidden;
    border-radius: 3px;
  }
  #arch .arch .img-hldr img {
    width: auto;
    max-width: 9999px;
    height: 100%;
  }
  #arch .arch .text {
    width: calc(100% - 120px);
    padding-left: 20px;
    position: relative;
  }
  #arch .arch .text p {
    margin-bottom: 0px;
  }
  #arch .arch .text a {
    text-decoration: none;
  }
  #arch .arch .text .title {
    color: #a61c1c;
    font-weight: 700;
  }
  #arch .arch .text:after {
    font-size: 30px;
    content: '\f3d1';
    font-family: 'IonIcons';
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -15px;
    color: #b42222;
    transition: all 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  #arch .arch .text:hover:after {
    right: 0px;
  }
  #arch .arch .cats a {
    font-size: 10px;
    color: #999;
    border: 1px solid #999;
    display: inline-block;
    padding: 0px 5px;
    border-radius: 5px;
    font-weight: 700;
    margin-right: 5px;
  }

  /*
  information
  --------------------------------------------- */

  #information .side{
    width: 250px;
  }

  #information .arch{
    width: calc(100% - 300px);
  }

  #information .arch .topics li {
    padding: 20px 0px;
    border-bottom: 1px solid #ddd;
  }
  #information .arch .img-hldr {
    width: 120px;
    height: 120px;
    overflow: hidden;
    border-radius: 3px;
  }
  #information .arch .img-hldr img {
    width: auto;
    max-width: 9999px;
    height: 100%;
  }
  #information .arch .text {
    width: calc(100% - 120px);
    padding-left: 20px;
    position: relative;
  }
  #information .arch .text p {
    margin-bottom: 0px;
  }
  #information .arch .text a {
    text-decoration: none;
  }
  #information .arch .text .title {
    color: #a61c1c;
    font-weight: 700;
  }
  #information .arch .text:after {
    font-size: 30px;
    content: '\f3d1';
    font-family: 'IonIcons';
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -15px;
    color: #b42222;
    transition: all 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  #information .arch .text:hover:after {
    right: 0px;
  }
  #information .arch .cats a {
    font-size: 10px;
    color: #999;
    border: 1px solid #999;
    display: inline-block;
    padding: 0px 5px;
    border-radius: 5px;
    font-weight: 700;
    margin-right: 5px;
  }
  .pc-on{
    width: 100%;
  }
  /*
  single
  --------------------------------------------- */

  #single .side{
    width: 250px;
  }

  #single .arch{
    padding: 0px !important;
    width: calc(100% - 300px);
  }

  #single .arch .topics li {
    padding: 20px 0px;
    border-bottom: 1px solid #ddd;
  }
  #single .arch .text {
    width: calc(100% - 120px);
    padding-left: 20px;
    position: relative;
  }
  #single .arch .text p {
    margin-bottom: 0px;
  }
  #single .arch .text a {
    text-decoration: none;
  }
  #single .arch .text .title {
    color: #a61c1c;
    font-weight: 700;
  }
  #single .arch .text:after {
    font-size: 30px;
    content: '\f3d1';
    font-family: 'IonIcons';
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -15px;
    color: #b42222;
    transition: all 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  #single .arch .text:hover:after {
    right: 0px;
  }
  #single .arch .cats a {
    font-size: 10px;
    color: #999;
    border: 1px solid #999;
    display: inline-block;
    padding: 0px 5px;
    border-radius: 5px;
    font-weight: 700;
    margin-right: 5px;
    text-decoration: none;
  }
  #single .arch .meta{
    padding: 40px 30px;
    border-bottom: 1px dashed #999;
  }
  #single .arch .title{
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
  }
  #single .arch .date{
    font-size: 14px;
    font-weight: normal;
  }
  #single .arch .content{
    padding: 40px 30px;
  }

  /*
  recruit
  --------------------------------------------- */
  #recruit .s1 .pull-top{
    padding: 0px !important;
  }

  #recruit .btn-grp li{
    width: 50%;
  }

  #recruit .btn-grp li a{
    display: block;
    color: #b42222;
    background: #fff;
    font-weight: 700;
    text-align: center;
    line-height: 70px;
    vertical-align: middle;
    font-size: 16px;
    text-decoration: none;
  }

  #recruit .btn-grp li a.active{
    background: #b42222;
    color: #fff;
  }

  #recruit .btn-grp li a:hover{
    background: #d83131;
    color: #FFF;
  }

  #recruit .mv-hldr{
    height: 400px;
    width: 100%;
    overflow: hidden;
    display: block;
    position: relative;
    padding: 100px;
  }

  #recruit .mv-hldr img{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
  }

  #recruit .mv-hldr .txt{
    z-index: 99;
    width: 50%;
    color: #fff;
    position: absolute;
    top:50%;
    transform: translateY(-50%);
  }

  #recruit .mv-hldr .designer{
    font-size: 20px;
    margin-bottom: 30px;
    font-weight: 700;
  }

  #recruit .mv-hldr .name{
    font-size: 16px;
  }

  #recruit .more-inner{
    width: 80%;
    margin: 0 auto;
  }

  #recruit .tit{
    background: #b42222;
    color: #fff;
    line-height: 60px;
    border-left: 5px solid #d83131;
    font-size: 18px;
    font-weight: 700;
    padding-left: 30px;
    margin-bottom: 30px;
  }

  #recruit .tit2{
    color: #b42222;
    border: 1px solid #b42222;
    line-height: 60px;
    border-left: 5px solid #b42222;
    font-size: 18px;
    font-weight: 700;
    padding-left: 30px;
    margin-bottom: 30px;
  }

  #recruit .subtit{
    font-size: 16px;
    font-weight: 700;
  }

  #recruit .staff li{
    width:calc(100%/3.05);
  }

  #recruit .staff li a{
    padding: 10px;
    text-decoration: none;
    color: rgb(51, 51, 51);
    border: 1px solid rgb(51, 51, 51);
    border-bottom-width: 5px;
  }

  #recruit .staff li a.active{
    border: 1px solid rgb(180, 34, 34);
    border-bottom-width: 5px;
  }

  #recruit .staff li .img-hldr{
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    width: 80px;
    height: 80px;
  }

  #recruit .staff li .img-hldr img{
    position: absolute;
  }

  #recruit .staff li .txt{
    width: calc(100% - 80px);
    padding-left: 20px;
  }

  #recruit .staff li .txt p{
    font-size: 13px;
    margin-bottom: 5px;
  }

  #recruit .staff li .txt .name{
    font-size: 18px;
  }

  #recruit .staff-box{
    display: none;
  }

  #recruit .staff-box.active{
    display: block;
  }

  #recruit .staff-cont .cont1 .img-hldr{
    position: relative;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    overflow: hidden;
  }

  #recruit .staff-cont .cont1{
    margin: 50px 0px;
  }

  #recruit .staff-cont .cont1 .txt{
    width: calc(100% - 250px);
    padding-left: 50px;
  }

  #recruit .staff-cont .cont1 .txt h3{
    font-size: 22px;
    margin-bottom: 30px;
  }

  #recruit .staff-cont .cont1 .txt p{
    margin-bottom: 5px;
  }

  #recruit .staff-cont .cont3 .flex{
    padding: 20px;
  }

  #recruit .staff-cont .cont3 .img-hldr{
    position: relative;
    width: 250px;
    height: 250px;
    overflow: hidden;
  }

  #recruit .staff-cont .cont3{
    margin: 50px 0px;
  }

  #recruit .staff-cont .cont3 .txt{
    width: calc(100% - 250px);
    padding-left: 50px;
  }

  #recruit .staff2 li{
    width:calc(100%/3.05);
  }

  #recruit .staff2 li a{
    align-items:center;
    padding: 10px;
    text-decoration: none;
    color: rgb(51, 51, 51);
    border: 1px solid rgb(204, 204, 204);
  }

  #recruit .staff2 li a.active{
    border: 1px solid rgb(180, 34, 34);
  }

  #recruit .staff2 li .img-hldr{
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    width: 60px;
    height: 60px;
  }

  #recruit .staff2 li .img-hldr img{
    position: absolute;
  }

  #recruit .staff2 li .txt{
    width: calc(100% - 60px);
    padding-left: 20px;
  }

  #recruit .staff2 li .txt p{
    margin-bottom: 5px;
  }

  #recruit .staff2 li .txt .name{
    font-size: 16px;
  }

  .row .q{
    color:#b42222;
    font-weight: 700;
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 40px;
  }

  .row .q:before{
    display: inline-block;
    vertical-align: middle;
    width: 40px;
    height: 2px;
    background: #b42222;
    content:"";
    position: relative;
    margin-right: 20px;
  }

  .row .a{
    margin-bottom: 60px;
  }

  /*
  career
  --------------------------------------------- */

  #career .mv{
    background-position: center 20%;
  }

  #career .s1 .pull-top{
    padding: 0px !important;
  }

  #career .btn-grp li{
    width: 50%;
  }

  #career .btn-grp li a{
    display: block;
    color: #b42222;
    background: #fff;
    font-weight: 700;
    text-align: center;
    line-height: 70px;
    vertical-align: middle;
    font-size: 16px;
    text-decoration: none;
  }

  #career .btn-grp li a.active{
    background: #b42222;
    color: #fff;
  }

  #career .btn-grp li a:hover{
    background: #d83131;
    color: #FFF;
  }

  #career .mv-hldr{
    height: 400px;
    width: 100%;
    overflow: hidden;
    display: block;
    position: relative;
    padding: 100px;
  }

  #career .mv-hldr img{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
  }

  #career .mv-hldr .txt{
    z-index: 99;
    width: 50%;
    color: #fff;
    position: absolute;
    top:50%;
    transform: translateY(-50%);
  }

  #career .mv-hldr .designer{
    font-size: 20px;
    margin-bottom: 30px;
    font-weight: 700;
  }

  #career .mv-hldr .name{
    font-size: 16px;
  }

  #career .more-inner{
    width: 80%;
    margin: 0 auto;
  }

  #career .tit{
    background: #b42222;
    color: #fff;
    line-height: 60px;
    border-left: 5px solid #d83131;
    font-size: 18px;
    font-weight: 700;
    padding-left: 30px;
    margin-bottom: 30px;
  }

  #career .tit2{
    color: #b42222;
    border: 1px solid #b42222;
    line-height: 60px;
    border-left: 5px solid #b42222;
    font-size: 18px;
    font-weight: 700;
    padding-left: 30px;
    margin-bottom: 30px;
  }

  #career .subtit{
    font-size: 16px;
    font-weight: 700;
  }

  #career .staff li{
    width:calc(100%/3.05);
  }

  #career .staff li a{
    padding: 10px;
    text-decoration: none;
    color: rgb(51, 51, 51);
    border: 1px solid rgb(51, 51, 51);
    border-bottom-width: 5px;
  }

  #career .staff li a.active{
    border: 1px solid rgb(180, 34, 34);
    border-bottom-width: 5px;
  }

  #career .staff li .img-hldr{
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    width: 80px;
    height: 80px;
  }

  #career .staff li .img-hldr img{
    position: absolute;
  }

  #career .staff li .txt{
    width: calc(100% - 80px);
    padding-left: 20px;
  }

  #career .staff li .txt p{
    font-size: 13px;
    margin-bottom: 5px;
  }

  #career .staff li .txt .name{
    font-size: 18px;
  }

  #career .staff-box{
    display: none;
  }

  #career .staff-box.active{
    display: block;
  }

  #career .staff-cont .cont1 .img-hldr{
    position: relative;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    overflow: hidden;
  }

  #career .staff-cont .cont1{
    margin: 50px 0px;
  }

  #career .staff-cont .cont1 .txt{
    width: calc(100% - 250px);
    padding-left: 50px;
  }

  #career .staff-cont .cont1 .txt h3{
    font-size: 22px;
    margin-bottom: 30px;
  }

  #career .staff-cont .cont1 .txt p{
    margin-bottom: 5px;
  }

  #career .staff-cont .cont3 .flex{
    padding: 20px;
  }

  #career .staff-cont .cont3 .img-hldr{
    position: relative;
    width: 250px;
    height: 250px;
    overflow: hidden;
  }

  #career .staff-cont .cont3{
    margin: 50px 0px;
  }

  #career .staff-cont .cont3 .txt{
    width: calc(100% - 250px);
    padding-left: 50px;
  }

  #career .staff2 li{
    width:calc(100%/3.05);
  }

  #career .staff2 li a{
    align-items:center;
    padding: 10px;
    text-decoration: none;
    color: rgb(51, 51, 51);
    border: 1px solid rgb(204, 204, 204);
  }

  #career .staff2 li a.active{
    border: 1px solid rgb(180, 34, 34);
  }

  #career .staff2 li .img-hldr{
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    width: 60px;
    height: 60px;
  }

  #career .staff2 li .img-hldr img{
    position: absolute;
  }

  #career .staff2 li .txt{
    width: calc(100% - 60px);
    padding-left: 20px;
  }

  #career .staff2 li .txt p{
    margin-bottom: 5px;
  }

  #career .staff2 li .txt .name{
    font-size: 16px;
  }


  /*--------Contact-----------*/

  #contact .s1 .pull-top{
    padding: 50px !important;
  }

  #contact .s1 .pull-top .tit{
      background: #b42222;
      color: #fff;
      line-height: 60px;
      border-left: 5px solid #d83131;
      font-size: 18px;
      font-weight: 700;
      padding-left: 30px;
      margin-bottom: 30px;
  }

  #contact table, #reorder table{
    width: 100%;
    table-layout: fixed;
  }

  #contact table tr, #reorder table tr{
    border-bottom: 1px solid #ddd;
    position: relative;
    width: 100%;
    height: auto;
    border-collapse: collapse;
  }

  #contact table th, #reorder table th{
    font-weight: 700;
    width: 350px;
    vertical-align: top;
  }

  #contact table th, #contact table td, #reorder table th, #reorder table td{
    padding: 10px;
  }

  input[type="text"],input[type="email"]{
    line-height: 35px;
    font-size: 16px;
    box-shadow: none;
    padding: 3px;
    -webkit-appearance: none;
    border: 1px solid #787878;
    margin: 0px 10px;
    background: #f1f1f1;
  }

  input[type="text"]:focus,input[type="email"]:focus{
    background: #dcfcd7;
  }

  .phone1 input[type="text"], .phone2 input[type="text"],.phone3 input[type="text"]{
    width: 80px;
    margin: 0px 10px;
  }

  .dphone1 input[type="text"], .dphone2 input[type="text"],.dphone3 input[type="text"]{
    width: 80px;
    margin: 0px 10px;
  }

 input[type="submit"]{
    background: #b42222;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 20px 0px;
    display: block;
    margin:20px auto;
    max-width: 500px;
    width: 100%;
    margin-bottom: 30px;
    text-align: center;
    -webkit-appearance: none;
    border: 0px;
    border-radius: 2px;
  }

  input[type="submit"]:hover{
    background: #ff6a6a;
    cursor: pointer;
  }

  div.wpcf7-validation-errors, div.wpcf7-acceptance-missing{
    background: yellow;
  }

  div.wpcf7-mail-sent-ok{
    background: green;
  }

  .wpcf7-list-item{
    display: block !important;
  }

  .no-border{
    border-bottom: 0px !important;
  }

  textarea{
    width: 100%;
    font-size: 16px;
    line-height: 20px;
  }

  .policy{
    resize: none;
    height: 200px;
    overflow-y:scroll;
    width: 700px;
    margin:50px auto;
    border: 1px solid #ccc;
    padding: 20px;
    margin-bottom: 20px;
  }

  .policy h3{
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 30px;
  }

  .policy ol{
    padding-left: 30px;
    list-style: decimal;
    list-style-position: outside;
  }

  .policy ol p{
    margin-bottom: 0px;
  }

  .policy ol li,.policy ul li, #reorder form ul li{
    display: list-item;
    padding-left: 10px; 
  }

  .policy ol li{
    margin-bottom: 30px;
  }

  .policy ul, #reorder form ul{
    padding-left: 30px;
    list-style: disc;
  }

  #reorder .cont ul{
    margin: 20px 0px;
  }

  .p_confirm{
    text-align: center;
  }

  .bottles input[type="text"]{
    width: calc(100%/6);
  }

  form .note{
    font-size: 12px;
  }

   body form input[type="checkbox"], body form input[type="radio"], body .contact input[type="checkbox"], body .contact input[type="radio"] {
       display: none;
  }
   body form input[type="checkbox"] + span, body form input[type="radio"] + span, body .contact input[type="checkbox"] + span, body .contact input[type="radio"] + span {
       margin-right: 20px;
       margin-bottom: 1em;
       padding-left: 35px;
       display: inline-block;
       position: relative;
       z-index: 1;
       cursor: pointer;
  }
   body form input[type="checkbox"] + span:before, body form input[type="radio"] + span:before, body .contact input[type="checkbox"] + span:before, body .contact input[type="radio"] + span:before {
       content: "";
       width: 20px;
       height: 20px;
       margin-top: -10px;
       border: #d7d7d7 1px solid;
       background: #fff;
       display: block;
       position: absolute;
       z-index: 1;
       top: 50%;
       left: 0;
       box-sizing: border-box;
  }
   body form input[type="checkbox"] + span:after, body form input[type="radio"] + span:after, body .contact input[type="checkbox"] + span:after, body .contact input[type="radio"] + span:after {
       content: "";
       display: block;
       position: absolute;
       top: 50%;
       z-index: 1;
       box-sizing: border-box;
  }
   body form input[type="radio"] + span:before, body .contact input[type="radio"] + span:before {
       border-radius: 100%;
  }
   body form input[type="checkbox"]:checked + span:after, body .contact input[type="checkbox"]:checked + span:after {
       content: "\2713";
       font-size: 2.1rem;
       color: red;
       top: -.25em;
       left: -.1em;
       speak: none;
       font-style: normal;
       font-weight: normal;
       font-variant: normal;
       text-transform: none;
       line-height: 1;
       -webkit-font-smoothing: antialiased;
       -moz-osx-font-smoothing: grayscale;
  }
   body form input[type="radio"]:checked + span:after, body .contact input[type="radio"]:checked + span:after {
       width: 12px;
       height: 12px;
       margin: -6px 0 0 0;
       background: red;
       left: 4px;
       border-radius: 100%;
  }
  .req{
    display: inline-block;
    padding: 0px 5px;
    color: #fff;
    background: red;
    position: relative;
    margin-right: 10px;
  }

  div.wpcf7-mail-sent-ok{
    background: #a8e8a8;
    border: 2px solid #a8e8a8 !important;
  }

  /*short term*/

  #short-term .flex .txt{
    width: 70%;
  }

  #short-term .flex .img-hldr{
    width: 30%;
  }

  #short-term .plan-tit{
    background: #00bcd4;
    padding: 0px 10px;
    color: #fff;
    font-size: 28px;
    display: inline-block;
    margin-bottom: 0px !important;
  }

  #short-term .plan-txt{
   /* background-image:url('../images/contact/Picture2.png');
    background-repeat: repeat;*/
    background:#d2e9fb;
    padding: 20px;
    margin: 0 auto;
    width: 80%;
  }

  #short-term .center{
    text-align: center;
  }

  #short-term .s1 table{
    table-layout: fixed;
    width: 100%;
    /*max-width: 700px;*/
  }

  #short-term .leftm{
    margin-left: 20px;
  }

  #short-term .s1 table tr td{
    font-size: 16px;
    font-weight: 700;
  }

  #short-term .s1 table tr td:nth-child(1){
    width: 40%;
  }

   #short-term .s1 table tr td:nth-child(2){
    width: 60%;
  }

  #short-term form table tr td{
    padding: 10px;
  }

  #short-term form table tr th{
    width: 25%;
  }

  #short-term .cols{
    display: inline;
  }

  #short-term .cols:nth-child(even){
    margin-left: 30px;
  }

  /*#short-term .cols{
    width: calc(100%/2);
  }*/
  #short-term .smb-bx{
    width: 50px;
  }

}

@media (max-width: 767px) {
  @-webkit-keyframes ball-scale-ripple {
    0% {
      -webkit-transform: scale(0.1);
      transform: scale(0.1);
      opacity: 1;
    }
    70% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0.7;
    }
    100% {
      opacity: 0.0;
    }
  }
  @keyframes ball-scale-ripple {
    0% {
      -webkit-transform: scale(0.1);
      transform: scale(0.1);
      opacity: 1;
    }
    70% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0.7;
    }
    100% {
      opacity: 0.0;
    }
  }
  /*
  layout
--------------------------------------------- */
  body {
    line-height: 1.7;
    font-size: 14px;
    height: 100%;
    font-family: 'Oswald', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
    position: relative;
    font-weight: 500;
    -webkit-font-kerning: normal;
    font-kerning: normal;
    box-sizing: border-box;
    position: relative;
    overflow-x: hidden;
    height: 100vh;
    overflow-y: auto;
    color:rgb(51, 51, 51);
  }
  body* {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    margin: 0;
    padding: 0;
  }
  html {
    height: 100%;
  }
  p {
   /* color: #fff;*/
    line-height: 1.25;
    margin-bottom: 20px;
    font-size: 12px;
  }
  .sp_only {
    display: block;
  }
  .pc_only {
    display: none !important;
  }
  .wrapper {
    max-width: 100%;
    margin: 0 auto;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
    transition: all 0.5s ease-in-out;
  }

  .opening{
    position: relative;
    max-width: 600px;
    margin: 30px auto;
    padding: 20px 30px;
    background: bisque;
  }
  .opening.designer{
    font-size: 16px !important;
  }
  .opening:before{
    content:"";
    width: 30px;
    height: 70px;
    background: #958844;
    position: absolute;
    left: -15px;
    top:50%;
    z-index: 99;
    transform:translateY(-50%);
  }
  .opening span{
    z-index: 99;
    position: relative;
  }
  .opening:after{
    content:"";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0px;
    top:0px;
    background-size: cover;
    background-repeat: repeat;
    background-image:url('../images/water/patt1.png'); 
  }
  .inner-max {
    padding: 0px;
    padding-left: 0px !important;
    padding-right: 0px !important;
    box-sizing: border-box;
    max-width: 90%;
    margin: 0 auto;
  }
  .inner {
    padding: 0 20px;
    box-sizing: border-box;
    max-width: 100%;
    margin: 0 auto;
  }
  .inner-min {
    margin: 0 auto;
  }
  .top-wrap {
    padding: 25px 24px;
  }
  .padtop {
    padding-top: 25px;
  }
  .padbtm {
    padding-bottom: 25px;
  }
  .pad-vertical {
    padding-top: 25px;
    padding-bottom: 25px;
  }
  .padside {
    padding-left: 25px;
    padding-right: 25px;
  }
  .divider-top {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    overflow: hidden;
  }
  .divider-btm {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    overflow: hidden;
  }
  .cntr {
    text-align: center;
  }
  .cursive {
    font-family: 'adage-font';
  }
  .button {
    background: #a61c1c;
    color: #fff;
    padding: 15px 50px;
    border-radius: 3px;
    font-size: 16px;
    font-weight: normal;
    letter-spacing: 2px;
    display: inline-block;
    margin: 20px auto;
    text-decoration: none;
    position: relative;
  }
  /* bgs */
  .black-bg {
    background: #000;
  }
  .grey-bg {
    background: #f3f3f3;
  }
  /* typhography */
  .bold {
    font-weight: bold;
  }
  .italic {
    text-decoration: italic;
  }
  .loading-page {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    background: #000;
    z-index: 99999;
    transition: all 0.5 ease-in-out;
  }
  .loading-page .holder {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .loading-page .holder h3 img {
    margin: 0 auto;
  }
  .loading-page .holder .counter {
    text-align: center;
  }
  /* themes */
  .normal .h1 {
    color: yellow;
    font-size: 30px;
    margin-bottom: 30px;
    line-height: 1;
  }
  .normal .h2 {
    color: yellow;
    font-size: 20px;
    margin-bottom: 30px;
    line-height: 1;
  }
  .normal .p {
    color: #fff;
    line-height: 1.25;
    margin-bottom: 20px;
  }
  main{
    padding-top: 50px;
  }
  /*
  header
--------------------------------------------- */
  .viewall {
    padding: 1% 4% 1% 4%;
    margin: 0 0 20px 0;
    border-radius: 8px;
    background: #fff;
    background-size: cover;
    box-shadow: 1px 5px 20px rgba(0, 0, 0, 0.3);
    border: 1px solid #fff;
    position: relative;
    width: 100%;
    text-align: center;
    z-index: 0;
    overflow: hidden;
    display: block;
    transition: all 1s;
    text-decoration: none;
    color: #333;
    font-weight: 500 !important;
    font-size: 1.6vw;
  }
  .viewall:hover {
    background: none;
    color: #fff;
  }
  .hvr-underline-from-left:before {
    background: yellow !important;
    height: 2px !important;
  }
  .headline {
    height: 100vh;
  }
  .logo-hldr {
    display: inline-block;
  }
  .sp_only .logo-hldr{
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translate(-50%,0px);
  }
  .sp_only .menu-box{
    position: absolute;
    top: 0px;
    right: 0px;
    transition: all 0.5s ease-in-out;
  }
  .sns a{
    display: inline-block;
    color: #fff;
    font-size: 20px;
    line-height: 50px;
  }
  .sns a span{
     margin: 0px 10px;
  }
  .sns a:nth-child(2){
    /*border-left: 1px solid #fff;*/
    font-size: 23px;
  }
  .sns a:nth-child(2):before{
    width: 1px;
    background: #fff;
    height: 25px;
    content: "";
    display: inline-block;
    vertical-align: middle;
  }
  .logo-hldr img {
    height: 48px;
    width: auto;
  }
  .header {
    width: 100%;
    margin: 0 auto;
    position: fixed;
    top: 0px;
    left: 0;
    z-index: 9999;
    transition: all 0.4s linear;
    background-color: rgba(1,1,1,0.9);
    color: #000;
    height: 50px;
  }
  .header ul {
    padding: 0px;
  }
  .header .sp_only {
    height: 50px;
  }
  .header .flex {
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 50px;
  }
  .header .flex li {
    width: calc(100%/2.1);
  }
  .header .flex li a {
    display: block;
  }
  .header .flex li a.logo-hldr {
    margin-left: 20px;
  }
  .header .flex li a img {
    display: block;
  }
  .header .flex li.menu-box {
    text-align: right;
  }
  .header .flex li.menu-box a {
    display: inline-block;
  }
  .header ul.menubar {
    display: none;
    position: absolute;
    top: 50px;
    left: 0px;
    width: 100%;
    z-index: 9999;
    background: #fff;
    margin: 0 auto;
  }
  .header ul.menubar li {
    width: 100%;
    display: block;
    border-bottom: 1px solid grey;
    line-height: 40px;
    padding: 0px 30px;
  }
  .header ul.menubar li a {
    display: block;
    font-size: 13px;
    letter-spacing: 3px;
    font-weight: 200;
    text-align: left;
    line-height: 40px;
    text-decoration: none;
    color: #333333 !important;
  }
  .header ul.menubar li a:hover {
    color: #b42222;
  }
  .header ul.menubar li a img {
    display: block;
    width: auto;
    height: 50px;
  }
  .header ul.menubar li:last-child a {
    border-right: none;
  }
  .header .header_logo {
    display: inline-block;
    vertical-align: middle;
    width: 15%;
    padding: 30px 0px 30px 50px;
  }
  .header .header_logo a {
    text-align: left;
    text-decoration: none;
  }
  .header .header_logo img {
    max-width: 100%;
    text-align: left;
    transition: all 0.4s linear;
  }
  .header.bg-w {
    top: 0;
    background-color: rgba(0, 0, 0, 0.45);
    color: #000;
  }
  .header.bg-w .header_logo,
  .header.bg-w .header_nav,
  .header.bg-w .header_btn {
    padding: 15px 24px;
  }
  .header.bg-w ul li a {
    line-height: 40px;
  }
  .header.bg-w ul li img {
    display: block;
    height: 50px;
    width: auto;
  }
  .counter div {
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    height: 50px;
    width: 50px;
    border-radius: 100%;
    border: 2px solid #fff;
    -webkit-animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
    animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
  }
  body.subpage .header .header_logo,
  body.subpage .header .header_btn {
    padding: 15px 0px;
  }
  body.subpage .header .header_btn {
    margin-right: 0px;
  }
  body.menu-on .header {
    box-shadow: none;
    border-bottom: 0px;
  }
  body.menu-on .header .header_logo {
    opacity: 0;
    visibility: hidden;
  }
  body.menu-on .header .header_btn .cbtn {
    opacity: 0;
    visibility: hidden;
  }
  .menu-on .header,
  .menu-on .header.bg-w {
    background: #000;
  }
  /* boxes */
  .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .flex .size-2 {
    width: calc(100%/2);
  }
  .flex .size-3 {
    width: calc(100%/3);
  }
  .clearfix {
    *zoom: 1;
  }
  .clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .btn-hldr {
    margin-top: 80px;
    text-align: center;
  }
  .contact-btn {
    display: inline-block;
    margin: 0 auto;
    font-size: 14px;
    padding: 20px 30px;
    color: #fff !important;
    text-decoration: none !important;
    background: #df2674;
    background: linear-gradient(to right, #df2674 0%, #df2674 100%);
  }
  /* footer section */
  footer {
    background-size: cover;
  }
  footer .logo-hldr {
    margin-bottom: 30px;
  }
  footer .logo-hldr img {
    display: block;
    margin: 0 auto;
  }
  footer .flex .normal {
    width: 100%;
  }
  footer .title {
    color: #fff !important;
    text-align: center;
    letter-spacing: 3px;
    margin: 0px;
    margin-bottom: 20px !important;
  }
  footer .sns ul {
    text-align: center;
  }
  footer .sns ul li {
    display: inline-block;
    padding: 10px;
  }
  footer .sns ul li a {
    font-size: 30px;
  }
  footer .sns ul li a:hover {
    color: yellow;
    opacity: 1;
  }
  footer .map {
    text-align: center;
  }
  footer .map p,
  footer .map a {
    color: yellow;
    text-decoration: none;
  }
  footer .map a:hover {
    opacity: 0.7;
  }
  footer .map svg {
    margin-bottom: 10px;
    color: yellow;
    font-size: 40px;
  }
  footer .subscription td {
    padding: 10px 0px;
  }
  footer .subscription input[type="email"] {
    width: 100%;
    background-color: #2e2e2e;
    color: #ffff00;
    border: 1px none;
    border-radius: 8px;
    font-size: 16px;
    height: 45px;
    line-height: 45px;
    font-family: 'Oswald', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
    font-weight: 700;
  }
  footer .subscription input[type="submit"] {
    background-color: #ffff00;
    color: #000000;
    border: 1px none #eeeeee;
    border-radius: 8px;
    font-size: 14px;
    height: 45px;
    min-width: 115px;
    font-family: 'Oswald', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
    font-weight: 700;
    cursor: pointer;
  }
  footer .subscription input[type="submit"]:hover {
    opacity: 0.7;
  }
  footer .copyright {
    background: transparent;
    color: #fff;
    text-align: center;
  }
  .menu {
    width: 30px;
    height: 50px;
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    font-size: 0;
    text-indent: -9999px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border-radius: none;
    border: none;
    cursor: pointer;
    transition: background 0.3s;
    text-align: center;
    margin-right: 20px;
  }
  .menu:focus {
    outline: none;
  }
  .menu span {
    display: inline-block;
    position: absolute;
    top: 25px;
    left: 5px;
    right: 5px;
    height: 1px;
    background: #fff;
    width: 80%;
    border-radius: 1px;
  }
  .menu span::before,
  .menu span::after {
    position: absolute;
    border-radius: 1px;
    display: block;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    content: "";
  }
  .menu span::before {
    top: -8px;
    width: 100%;
  }
  .menu span::after {
    bottom: -8px;
    width: 80%;
  }
  .menu--htx span {
    transition: background 0s 0.3s;
  }
  .menu--htx span::before,
  .menu--htx span::after {
    transition-duration: 0.3s, 0.3s;
  }
  .menu--htx span::before {
    transition-property: top, -webkit-transform;
    transition-property: top, transform;
    transition-property: top, transform, -webkit-transform;
  }
  .menu--htx span::after {
    transition-property: bottom, -webkit-transform;
    transition-property: bottom, transform;
    transition-property: bottom, transform, -webkit-transform;
  }
  .menu--htx.is-active {
    background-color: transparent;
  }
  .menu--htx.is-active span {
    background: none;
  }
  .menu--htx.is-active span::before {
    width: 100%;
    top: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .menu--htx.is-active span::after {
    width: 100%;
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .menu--htx.is-active span::before,
  .header .header_btn .menuhldr .menu--htx.is-active span::after {
    transition-delay: 0s, 0.3s;
  }
  .menu--htx.is-active span::before,
  .menu--htx.is-active span::after {
    background: #fff;
  }
  .header {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .header .navi {
    top: 0px;
    right: 0px;
    z-index: 99;
  }
  .header .navi .menu span::before,
  .header .navi .menu span::after,
  .header .navi .menu span {
    background-color: #000;
  }
  .header .navi .menu--htx.is-active span {
    background: none;
  }
  .header .navi ul li {
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    margin: 0px 5px;
  }
  .header .navi ul li a {
    font-size: 1.14em;
    text-decoration: none;
    color: #000;
    padding: 8px 10px;
  }
  .header .navi ul li a.cbtn {
    border: 1px solid #000;
    line-height: 26px;
    border-radius: 20px;
    padding: 8px 20px;
    font-size: 12px;
    letter-spacing: 2px;
  }
  .header .navi ul li a.cbtn:hover {
    border: 1px solid #b42222;
    background: #b42222;
    color: #fff;
  }
  .header .navi ul li a.lang {
    border-radius: 50%;
    border: 1px solid transparent;
  }
  .header .navi ul li a.act,
  .header .navi ul li a.lang:hover {
    border-radius: 50%;
    border: 1px solid #000;
  }
  .footer-section3 {
    background: #fff;
    padding: 30px 0;
  }
  .footer-section3 .items {
    padding: 28px 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .footer-section3 .items .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border: 1px #ddd solid;
    border-radius: 5px;
    width: 50%;
    margin: 0px 6px;
    background: #fff;
    text-decoration: none;
    height: 114px;
  }
  .footer-section3 .items .item .img-holder {
    width: 50%;
    background-size: cover;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    transition: .4s;
  }
  .footer-section3 .items .item .text {
    width: 50%;
    line-height: 114px;
    text-align: center;
    border-bottom-right-radius: 5px;
    border-top-right-radius: 5px;
    color: #000;
    transition: .4s;
    font-size: 1.28em;
  }
  .footer-section3 .items .item .text i {
    color: #b42222;
  }
  .footer-section3 .items .item:hover .img-holder {
    opacity: 0.75;
  }
  .footer-section3 .items .item:hover .text {
    color: #fff;
    text-decoration: none;
    background: #2574ab;
    box-shadow: 1px 1px 2px #983600;
  }
  /*
  footer
--------------------------------------------- */
  .footer {
    background-color: #111111;
    color: #fff;
    width: 100%;
  }
  .footer .pad-vertical .flex{
    display: none;
  }
  .footer .pad-vertical .logo-hldr{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }
  .footer .inner-max {
    width: 100%;
    padding: 36px 10px;
    position: relative;
    display: block !important;
    padding-right: 0px !important;
    padding-left: 0px !important;
  }
  .footer ul li a {
    text-decoration: none;
    color: #fff;
    font-size: 2.2vw;
  }
  .footer ul li a:hover {
    color: #3e3a39;
  }
  svg {
    display: block;
  }
  .table {
    width: 100%;
    margin-bottom: 30px;
    table-layout: fixed;
    border: 1px solid rgb(238, 238, 238);
    border-bottom: 0px;
    font-size: 12px;
  }
  .table tr {
    border-bottom: 1px solid rgb(238, 238, 238);
  }
  .table tr:nth-child(odd){
    background: rgb(249, 249, 249);
  }
  .table tr th{
    font-weight: 700;
    width: 100%;
    display: block;
    border-bottom: 1px solid rgb(238, 238, 238);
  }
  .table tr th, .table tr td {
    padding: 12px;
    display: block;
  }
  .copyright {
    width: 100%;
    background: #fff;
    overflow: hidden;
  }
  .copyright .inner-max {
    width: 100%;
    padding: 0px 20px;
    box-sizing: border-box;
  }
  .copyright .inner-max .copyright_txt {
    font-weight: bold;
    float: left;
    line-height: 82px;
    vertical-align: middle;
  }
  .copyright .inner-max .link {
    float: right;
  }
  .copyright .inner-max .link .login {
    display: table-cell;
    vertical-align: middle;
  }
  .copyright .inner-max .link .login a {
    color: #b42222;
    text-decoration: none;
  }
  .copyright .inner-max .link .login a:hover {
    text-decoration: underline;
  }
  .copyright .inner-max .link .btn_sns {
    display: table-cell;
  }
  .copyright .inner-max .link .btn_sns li {
    padding: 22px 0 22px 10px;
    display: table-cell;
  }
  /*
  page
--------------------------------------------- */
  .topic-path ul li {
    display: inline-block;
  }
  .topic-path ul li:after {
    content: '/';
    margin: 0px 10px;
  }
  .topic-path ul li:last-child:after {
    content: '';
  }
  .fixed-bottom {
    width: 100%;
    max-width: 100%;
    position: fixed;
    bottom: 0;
    padding: 0;
    z-index: 99999;
    background: rgba(255, 255, 255, 0.7) !important;
  }
  .fixed-bottom .box_frame-bg {
    background: none;
    border: none;
    margin-bottom: 0;
  }
  body.no-scroll {
    overflow: hidden;
  }
  .modal_window {
    position: fixed;
    background: rgba(0, 0, 0, 0.7) !important;
    z-index: 100;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    overflow: auto;
    padding: 110px 0 0;
  }
  .modal_window_cont {
    width: 100%;
    text-align: center;
    height: calc(100% - 110px);
    display: table;
    margin: 0 auto 110px;
    vertical-align: middle;
    box-sizing: content-box;
  }
  .modal_window_cont_wrap {
    display: table-cell;
    vertical-align: middle;
  }
  .modal_window_cont_inner {
    border: 3px #b42222 solid;
    background-color: #fff;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
    padding: 40px;
    border-radius: 8px;
    width: 86%;
    max-width: 800px;
    margin: 0 auto;
  }
  .flex-direction-nav a {
    height: auto !important;
  }
  .flex-direction-nav .flex-next {
    right: 0px !important;
  }
  .flex-direction-nav .flex-prev {
    left: 0px !important;
  }
  .slick-prev,
  .slick-next {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #fff !important;
    font-size: 30px !important;
    text-decoration: none !important;
    height: 80px !important;
    width: 80px !important;
    line-height: 80px !important;
    text-align: center;
    opacity: 0.6;
  }
  .slick-prev:hover,
  .slick-next:hover {
    opacity: 1;
  }
  .slick-prev {
    left: -200px !important;
  }
  .slick-next {
    right: -200px !important;
  }
  .slick-slide p {
    margin-bottom: 0px;
  }
  .slick-prev:before,
  .slick-next:before {
    border-radius: 50%;
    border: 1px solid #fff !important;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 80px;
    height: 80px;
    content: "" !important;
    left: 0;
    opacity: 0.6;
  }
  .slick-prev:before:hover,
  .slick-next:before:hover {
    opacity: 1;
  }
  /* Dots */
  .slick-dotted {
    position: relative;
  }
  .slick-dotted.slick-slider {
    margin-bottom: 30px;
  }
  .slick-dots {
    position: absolute;
    bottom: -25px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
  }
  .slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0px;
    padding: 0;
    cursor: pointer;
  }
  .slick-dots li button {
    font-size: 0px;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
  }
  .slick-dots li button:hover,
  .slick-dots li button:focus {
    outline: none;
  }
  .slick-dots li button:hover:before,
  .slick-dots li button:focus:before {
    opacity: 1;
    color: #b42222;
  }
  .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #b42222 !important;
  }
  .slick-dots li button:before {
    font-family: 'slick';
    font-size: 40px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    opacity: .25;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .slick-dots li.slick-active button:before {
    opacity: .75;
    color: black;
  }
  body .sideMenu {
    display: none;
  }
  .sideMenu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #fff;
    z-index: 99;
    opacity: 0.97;
    text-align: center;
  }
  .sideMenu .inside {
    width: 100%;
    height: 100%;
    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;
  }
  .sideMenu ul li a {
    color: #333333;
    text-decoration: none;
    font-size: 3.42em;
  }
  .sideMenu ul:hover a {
    opacity: 0.2;
  }
  .sideMenu ul:hover a:hover {
    opacity: 1;
  }
  body section .pagination {
    text-align: center;
    padding: 30px 0;
    display: block;
  }
  body section .pagination a:hover,
  body section .pagination span {
    color: #fff;
    background: #000000;
  }
  body section .pagination a,
  body section .pagination span {
    padding: 15px 20px;
    margin: 10px;
    display: inline-block;
    vertical-align: top;
    zoom: 1;
    border-radius: 5px;
    border: 1px solid #cccccc;
    font-size: 14px;
  }
  body section .pagination a {
    color: #000000;
    background-color: #fff;
  }
  body section .pagination .screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
  }
  .dots {
    background: #ebebeb !important;
    color: #000 !important;
  }
  .s7 a.arch-down {
    display: block;
    text-align: center;
    color: #fff;
    background: #222222;
    font-size: 3vw;
    padding: 50px 0px;
    text-decoration: none;
  }
  .s7 a.arch-down:after {
    content: "﹀";
    display: block;
    font-size: 20px;
  }
  .s7 a.arch-down.active:after {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
  }
  .s7 .archive-list {
    padding: 70px 10%;
    display: none;
  }
  .s7 .archive-list ul li {
    width: calc(100%/4.1);
    margin-bottom: 10px;
  }
  .s7 .archive-list ul li a {
    overflow: hidden;
    display: block;
    border-radius: 10px;
  }
  .s8 a.arch-down2 {
    display: block;
    text-align: center;
    color: #333333;
    background: #fff;
    font-size: 3vw;
    padding: 50px 0px;
    text-decoration: none;
  }
  .s8 a.arch-down2:after {
    content: "﹀";
    display: block;
    font-size: 20px;
  }
  .s8 a.arch-down2.active:after {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
  }
  .s8 .archive-list2 {
    display: none;
    background-color: #fff;
    color: #fff;
  }
  .s8 .archive-list2 ul {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
  }
  .s8 .archive-list2 ul li {
    width: calc(100%/6);
    border: 0px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  .s8 .archive-list2 ul li:nth-child(6n) {
    border-right: 0px;
  }
  .s8 .archive-list2 ul li a {
    font-size: 20px;
    font-weight: normal;
    letter-spacing: 2px;
    display: block;
    height: 70px;
    line-height: 70px;
    color: #fff;
    text-align: center;
    background: #000;
    transition: all 1s;
    text-decoration: none;
  }
  .s8 .archive-list2 ul li a:hover {
    color: #333333;
    background: #fff;
  }
  .pagination {
    width: 100%;
    text-align: center;
  }
  .pagination .nav {
    display: block;
    text-align: center;
  }
  .nav-links .page-numbers {
    display: inline-block;
    font-size: 1.5em;
    padding: 20px 27px;
    background: #fff;
    color: #333333;
    text-decoration: none;
    border-radius: 3px;
    box-shadow: 1px 5px 20px rgba(0, 0, 0, 0.3);
    line-height: 1;
  }
  .screen-reader-text {
    display: none;
  }
  .nav-links a.page-numbers:hover {
    background: #000;
    color: #fff;
  }
  .nav-links .current {
    background: #000;
    color: #fff;
  }
  .flip-box {
    background-color: transparent;
    width: calc(100%);
    height: 260px;
    border: 1px solid #f1f1f1;
    -webkit-perspective: 1000px;
    perspective: 1000px;
    border: 0px;
    margin-bottom: 20px;
  }
  .flip-box-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    transition: transform 0.8s, -webkit-transform 0.8s;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
  }
  .flip-box:hover .flip-box-inner {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }
  .flip-box-front,
  .flip-box-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .flip-box-front p,
  .flip-box-back p {
    display: block;
    color: #000;
    margin: 0 auto;
    text-align: center;
  }
  .flip-box-front p svg,
  .flip-box-back p svg {
    font-size: 70px;
    display: block;
    margin: 0 auto;
    margin-bottom: 30px;
  }
  .flip-box-front {
    background-color: yellow;
  }
  .flip-box-back {
    background-color: grey;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }
  .flip-box-back p {
    display: block;
    color: #fff;
  }
  .headline {
    position: relative;
  }
  .headline .bg {
    background-size: cover;
    z-index: -1;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .headline div.cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    background: #000;
    z-index: 1;
  }
  .headline h1 {
    z-index: 99;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
  }
  .headline h1 span {
    display: block;
    font-weight: 700;
    color: #fff;
  }
  .headline h1 span.sml {
    font-size: 20px;
  }
  .headline h1 span.big {
    font-size: 52px;
  }
  
  /*
  parts
--------------------------------------------- */
  .key {
    position: relative;
    height: 150px;
    background: #d9d9d9;
    margin-bottom: 40px;
    background: url(../images/common/bg-line-bl.png) repeat;
    background-size: 5px 5px;
    z-index: 1;
  }
  .key .key_cont {
    z-index: 999;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .key .key_cont .key_tit {
    font-size: 1.42em;
    font-weight: bold;
    color: #fff;
    letter-spacing: 3px;
  }
  .key .key_cont .key_tit-en {
    font-size: 0.92em;
    color: #fff;
    font-weight: bold;
    letter-spacing: 3px;
  }
  .key:after {
    content: "";
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0.7;
  }
  /* ---------- title ---------- */
  .tit_page {
    padding-bottom: 30px;
    text-align: center;
    font-size: 1.42em;
    font-weight: bold;
  }
  .tit_page span {
    display: block;
    font-weight: normal;
    font-size: 10px;
    color: #333333;
    letter-spacing: 1;
  }
  .hero_white {
    color: #000;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
    margin-bottom: 30px;
  }
  .tit_large_cont {
    position: relative;
    text-align: center;
    margin-bottom: 20px;
    overflow: hidden;
  }
  .tit_large_cont:after {
    width: 100%;
    content: "";
    border-top: 1px #ddd solid;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    z-index: 1;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .tit_large_cont {
    margin-bottom: 10px;
  }
}

@media (max-width: 767px) {
  .tit_large_cont .tit_large {
    display: inline-block;
    text-align: center;
    padding: 20px 30px;
    background: #f3f3f3;
    position: relative;
    z-index: 10;
    font-size: 1.28em;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .tit_large_cont .tit_large {
    padding: 10px 4%;
  }
}

@media (max-width: 767px) {
  .tit_medium,
  .widget-title {
    font-weight: bold;
    font-size: 1.07em;
    background: url(../images/common/bg-line.png) repeat;
    background-size: 5px 5px;
    padding: 10px;
    margin-bottom: 10px;
  }
  .tit_small {
    font-weight: bold;
    font-size: 1.07em;
    padding: 20px 0;
  }
  .tit_min {
    font-weight: bold;
    padding: 0;
  }
  .tit_box {
    font-weight: bold;
    font-size: 1.07em;
    color: #fff;
    background: url(../images/common/bg-line-bl.png) repeat;
    background-size: 5px 5px;
    padding: 10px;
    margin-bottom: 10px;
    letter-spacing: 3px;
  }
  .tit_line {
    width: 100%;
    position: relative;
    color: #b42222;
    font-size: 1.07em;
    font-weight: bold;
    padding-left: 26px;
    margin-bottom: 25px;
  }
  .tit_line:before {
    content: "";
    width: 20px;
    height: 1.5px;
    background: #b42222;
    position: absolute;
    left: 0;
    top: 12px;
  }
  /* ---------- text ---------- */
  .txt_normal {
    padding-bottom: 30px;
  }
  .txt_caption {
    font-size: 0.85em;
    color: #666;
    margin-bottom: 30px;
  }
  .txt_sub {
    margin-bottom: 30px;
    width: 100%;
  }
  img {
    max-width: 100%;
  }
  /* checkered */
  .checkered .box {
    border-bottom: 1px solid #ebebeb;
    padding: 20px 0px;
  }
  .checkered .box .flex {
    display: block;
  }
  .checkered .box .flex .img-hldr {
    width: 100%;
  }
  .checkered .box .flex .desc {
    padding: 0px 10px;
    width: 100%;
  }
  /* list type */
  .type1.flex {
    width: 100%;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
  }
  .type1.flex li.item {
    width: calc(100%/2);
    padding: 10px;
    position: relative;
  }
  .type1.flex li.item a {
    display: block;
    width: 100%;
    background: url(../images/common/bg-line.png) repeat;
    background-size: 5px 5px;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    border: 1px solid #fff;
  }
  .type1.flex li.item a img {
    max-width: 85%;
    max-height: 180px;
    margin: 0px auto;
  }
  .type1.flex li.item a .title {
    display: inline-block;
    background: #000;
    color: #fff;
    line-height: 1;
    padding: 5px 10px;
    text-align: center;
    margin: 10px 0px;
  }
  .type1.flex li.item a .desc {
    display: block;
    text-align: left;
    color: #333333;
    font-size: 0.85em;
  }
  .type1.flex li.item a .cats {
    margin-bottom: 10px;
  }
  .type1.flex li.item a .cats ul {
    text-align: left;
  }
  .type1.flex li.item a .cats ul li {
    background: #fff;
    color: #333333;
    border: 1px solid #ccc;
    padding: 2px 5px;
    display: inline-block;
    font-size: 10px;
    box-sizing: border-box;
    margin-right: 5px;
    display: inline-block;
    margin-right: 5px;
  }
  .type1.flex li.item a .tags {
    margin-bottom: 10px;
  }
  .type1.flex li.item a .tags ul {
    text-align: left;
  }
  .type1.flex li.item a .tags ul li {
    background: #434343;
    color: #fff;
    padding: 2px 5px;
    display: inline-block;
    font-size: 10px;
    box-sizing: border-box;
  }
  .type1.flex li.item a:hover {
    background: #fff;
    border: 1px solid #ebebeb;
  }
  .type2.flex {
    width: 100%;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
  }
  .type2.flex li.item {
    width: calc(100%/2);
    position: relative;
    border-left: 1px solid #ebebeb;
    border-bottom: 1px solid #ebebeb;
  }
  .type2.flex li.item:first-child,
  .type2.flex li.item:nth-child(2n+1) {
    border-left: 0px;
  }
  .type2.flex li.item a {
    display: block;
    width: 100%;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    border: 1px solid #fff;
  }
  .type2.flex li.item a .title {
    display: inline-block;
    color: #333333;
    border: #333333 solid 1px;
    box-sizing: border-box;
    background-image: linear-gradient(to right, transparent 50%, black 50%);
    background-position: 0 0;
    background-size: 202% auto;
    transition: .3s;
    margin: 10px 0px;
    padding: 5px 10px;
    line-height: 1;
  }
  .type2.flex li.item a .desc {
    display: block;
    text-align: left;
    color: #333333;
    font-size: 0.85em;
  }
  .type2.flex li.item a .cats {
    margin-bottom: 10px;
  }
  .type2.flex li.item a .cats ul {
    text-align: left;
  }
  .type2.flex li.item a .cats ul li {
    background: #fff;
    color: #333333;
    border: 1px solid #ccc;
    padding: 2px 5px;
    display: inline-block;
    font-size: 10px;
    box-sizing: border-box;
    margin-right: 5px;
    display: inline-block;
    margin-right: 5px;
  }
  .type2.flex li.item a .tags {
    margin-bottom: 10px;
  }
  .type2.flex li.item a .tags ul {
    text-align: left;
  }
  .type2.flex li.item a .tags ul li {
    background: #434343;
    color: #fff;
    padding: 2px 5px;
    display: inline-block;
    font-size: 10px;
    box-sizing: border-box;
  }
  .type2.flex li.item a .img-hldr {
    width: 100%;
    height: 100px;
    overflow: hidden;
    position: relative;
  }
  .type2.flex li.item a .img-hldr img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
  }
  .type2.flex li.item a:hover .title {
    background-position: -99% 0;
    color: #ffffff;
  }
  .type2.flex li.item.coming-soon {
    background: url(../images/common/bg-line.png) repeat;
    background-size: 5px 5px;
    position: relative;
  }
  .type2.flex li.item.coming-soon p {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-weight: bold;
    font-size: 1.14em;
  }
  /* ---------- box ---------- */
  .box_frame,
  .box_frame-bold,
  .box_frame-bg {
    border: 1px #d9d9d9 solid;
    background: #fff;
    padding: 30px;
    margin-bottom: 30px;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .box_frame,
  .box_frame-bold,
  .box_frame-bg {
    padding: 20px 16px;
    margin-bottom: 10px;
    border-radius: 8px;
  }
}

@media (max-width: 767px) {
  .box_frame-bold,
  .box_frame-bold-bold,
  .box_frame-bg-bold {
    border: 5px #d9d9d9 solid;
  }
  .box_frame-bg,
  .box_frame-bold-bg,
  .box_frame-bg-bg {
    background: #d9d9d9;
  }
  /* ---------- btn ---------- */
  .btn {
    display: inline-block !important;
    text-align: center;
    color: #333333 !important;
    border: #333333 solid 1px;
    text-decoration: none !important;
    box-sizing: border-box;
    background-image: linear-gradient(to right, transparent 50%, black 50%);
    background-position: 0 0;
    background-size: 201% auto;
    transition: .3s;
    margin: 20px 0px;
    padding: 10px 20px;
    line-height: 1;
    letter-spacing: 3px;
    font-weight: bold;
  }
  .btn:hover {
    background-position: -99% 0;
    color: #ffffff !important;
  }
  .btn.more {
    width: 120px;
    text-align: center;
  }
  .btn-blk {
    display: inline-block;
    text-align: center;
    color: #fff !important;
    text-decoration: none !important;
    box-sizing: border-box;
    transition: .3s;
    margin: 20px 0px;
    padding: 10px 20px;
    line-height: 1;
    letter-spacing: 3px;
  }
  .btn-blk.blue {
    background: #b42222;
  }
  .btn-blk.green {
    background: #4daa42;
  }
  .btn_min {
    text-align: center;
    margin-bottom: 20px;
  }
  .btn_min a {
    position: relative;
    display: inline-block;
    padding: 0 50px;
    font-weight: bold;
    letter-spacing: .075em;
    color: #fff;
    background: #b42222;
    box-shadow: 1px 1px 2px #2574ab;
    border-radius: 4px;
    line-height: 35px;
    text-align: center;
    text-decoration: none;
  }
  .btn_min a:hover {
    text-decoration: none;
    background: #2574ab;
    box-shadow: 1px 1px 2px #983600;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .btn_min a {
    min-width: 150px;
    line-height: 45px;
  }
}

@media (max-width: 767px) {
  .btn_wh_cont {
    *zoom: 1;
    margin-bottom: 20px;
  }
  .btn_wh_cont:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .btn_wh a {
    position: relative;
    display: inline-block;
    padding: 0 48px;
    font-size: 1.14em;
    letter-spacing: .075em;
    color: #b42222;
    background: #fff;
    border-radius: 4px;
    border: 1px #b42222 solid;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
  }
  .btn_wh a:hover {
    text-decoration: none;
    background: #b42222;
    color: #fff;
  }
  .btn_wh a i {
    font-size: 0.71em;
    position: absolute;
    right: 16px;
    top: 50%;
    margin-top: -6px;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .btn_wh {
    width: 48%;
    float: right;
  }
  .btn_wh a {
    width: 100%;
    padding: 0 20px;
    font-size: 0.92em;
    line-height: 45px;
  }
}

@media (max-width: 767px) {
  .btn_wh-r a {
    position: relative;
    display: inline-block;
    padding: 0 48px;
    font-size: 1.14em;
    letter-spacing: .075em;
    color: #b42222;
    background: #fff;
    border-radius: 4px;
    border: 1px #b42222 solid;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
  }
  .btn_wh-r a:hover {
    text-decoration: none;
    background: #b42222;
    color: #fff;
  }
  .btn_wh-r a i {
    font-size: 0.71em;
    position: absolute;
    left: 16px;
    top: 50%;
    margin-top: -6px;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .btn_wh-r {
    width: 48%;
    float: left;
  }
  .btn_wh-r a {
    width: 100%;
    padding: 0 20px;
    font-size: 0.92em;
    line-height: 45px;
  }
}

@media (max-width: 767px) {
  /* ---------- link ---------- */
  .cont_link {
    padding-bottom: 40px;
  }
  .cont_link a {
    display: block;
    padding-bottom: 10px;
  }
  /* ---------- list ---------- */
  .list_circle {
    padding-bottom: 20px;
  }
  .list_circle li {
    position: relative;
    padding-left: 20px;
  }
  .list_circle li:before {
    position: absolute;
    content: "〇";
    font-weight: bold;
    color: #b42222;
    left: 0;
  }
  .list_dot {
    padding-bottom: 20px;
  }
  .list_dot li {
    position: relative;
    padding-left: 20px;
  }
  .list_dot li:before {
    position: absolute;
    content: "・";
    font-weight: bold;
    color: #333333;
    left: 0;
  }
  .list_border {
    padding-bottom: 20px;
  }
  .list_border li {
    padding: 10px 0;
    border-bottom: 1px #ddd solid;
  }
  .list_number {
    padding-bottom: 20px;
  }
  .list_number li {
    position: relative;
    padding-left: 45px;
    line-height: 30px;
    padding-bottom: 10px;
  }
  .list_number li:nth-child(1):before {
    position: absolute;
    content: url(../images/common/ico-1.png);
    left: 0;
  }
  .list_number li:nth-child(2):before {
    position: absolute;
    content: url(../images/common/ico-2.png);
    left: 0;
  }
  .list_number li:nth-child(3):before {
    position: absolute;
    content: url(../images/common/ico-3.png);
    left: 0;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .list_number li {
    padding-left: 32px;
    line-height: 22px;
    padding-bottom: 10px;
  }
  .list_number li:nth-child(1):before {
    content: "";
    background: url(../images/common/ico-1.png) no-repeat;
    background-size: cover;
    width: 22px;
    height: 22px;
  }
  .list_number li:nth-child(2):before {
    content: "";
    background: url(../images/common/ico-2.png) no-repeat;
    background-size: cover;
    width: 22px;
    height: 22px;
  }
  .list_number li:nth-child(3):before {
    content: "";
    background: url(../images/common/ico-3.png) no-repeat;
    background-size: cover;
    width: 22px;
    height: 22px;
  }
}

@media (max-width: 767px) {
  .timeline li {
    padding: 10px 0;
    border-bottom: 1px #ddd solid;
  }
  .timeline li {
    margin-bottom: 20px;
    border-bottom: 0px;
  }
  .timeline li:last-child .date:after {
    display: none;
  }
  .timeline .date {
    padding: 10px 5px;
    border: 2px solid #000;
    line-height: 1;
    margin-right: 20px;
    background: #fff;
    font-weight: bold;
    position: relative;
    z-index: 2;
  }
  .timeline .date:after {
    content: "";
    display: block;
    width: 2px;
    height: 30px;
    background: #000;
    position: absolute;
    left: 50%;
    top: 100%;
    z-index: 1;
  }
  /* ---------- culum ---------- */
  .culum_line {
    display: none;
  }
  .culum {
    display: none;
  }
  /* ---------- table ---------- */
  .tbl_normal {
    margin-bottom: 40px;
    width: 100%;
  }
  .tbl_normal th,
  .tbl_normal td {
    padding: 20px 16px;
    border: 1px #ddd solid;
  }
  .tbl_normal th {
    text-align: center;
    width: 230px;
    background: #f3f3f3;
  }
  .tbl_normal td {
    background: #fff;
  }
  .tbl_normal .tit {
    background: #f3f3f3;
    padding: 10px 16px;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .tbl_normal th,
  .tbl_normal td {
    text-align: left;
    padding: 8px 16px;
    width: 100%;
    display: block;
  }
  .tbl_normal .tit {
    padding: 8px 16px;
  }
}

@media (max-width: 767px) {
  .tbl_line {
    margin-bottom: 40px;
    width: 100%;
  }
  .tbl_line th,
  .tbl_line td {
    padding: 20px 16px;
  }
  .tbl_line th {
    text-align: center;
    width: 230px;
    border-bottom: 2px #b42222 solid;
  }
  .tbl_line td {
    border-bottom: 2px #ddd solid;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .tbl_line th,
  .tbl_line td {
    text-align: left;
    padding: 8px 16px;
    width: 100%;
    display: block;
  }
  .tbl_line td {
    border-bottom: 1px #ddd solid;
  }
}

@media (max-width: 767px) {
  /* ---------- form ---------- */
  .form_cont table {
    width: 100%;
  }
  .form_cont th,
  .form_cont td {
    border: 1px #ddd solid;
  }
  .form_cont th {
    width: 230px;
    padding: 20px 16px;
    background: #d9d9d9;
  }
  .form_cont td {
    background: #fff;
    padding: 10px;
  }
  .form_cont .tit {
    background: #f6f0e1;
    padding: 10px 16px;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .form_cont th,
  .form_cont td {
    text-align: left;
    padding: 8px 4%;
    width: 100%;
    display: block;
    border-right: none;
    border-left: none;
  }
  .form_cont th {
    padding-bottom: 0;
    font-weight: bold;
    border-bottom: none;
  }
  .form_cont td {
    background: #d9d9d9;
    border-top: none;
  }
  .form_cont .tit {
    padding: 8px 4%;
  }
}

@media (max-width: 767px) {
  .form_cont .detail_left,
  .form_cont .detail_left2 {
    width: 100%;
    padding: 10px 4% 0;
    height: inherit;
    border-bottom: none;
  }
  .form_cont .error_coution {
    color: #cd1212;
    font-size: 0.92em;
  }
  .form_cont .ex {
    color: #666;
    font-size: 0.92em;
  }
  .form_cont .req {
    display: inline-block;
    float: right;
    padding: 3px 14px;
    font-size: 0.71em;
    color: #fff;
    background: #cd1212;
    border-radius: 6px;
  }
  .form_cont .sei,
  .form_cont .mei {
    display: block;
  }
  .form_cont .sei {
    margin-bottom: 10px;
  }
  .form_cont input[type="text"],
  .form_cont textarea {
    width: 100%;
    border: 1px #ddd solid;
    border-radius: 4px;
    font-family: 'Oswald', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
    padding: 10px 16px;
  }
  .form_cont input[type="text"].m_r10,
  .form_cont textarea.m_r10 {
    width: 90%;
    margin-left: 10px;
  }
  .form_cont input[type="checkbox"],
  .form_cont input[type="radio"] {
    display: none;
  }
  .form_cont input[type="checkbox"]+span,
  .form_cont input[type="radio"]+span {
    margin-right: 20px;
    margin-bottom: .6em;
    padding-left: 35px;
    display: inline-block;
    position: relative;
    z-index: 1;
    cursor: pointer;
  }
  .form_cont input[type="checkbox"]+span:before,
  .form_cont input[type="radio"]+span:before {
    content: "";
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border: #d7d7d7 1px solid;
    background: #fff;
    display: block;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 0;
    box-sizing: border-box;
  }
  .form_cont input[type="checkbox"]+span:after,
  .form_cont input[type="radio"]+span:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    z-index: 1;
    box-sizing: border-box;
  }
  .form_cont input[type="radio"]+span:before {
    border-radius: 100%;
  }
  .form_cont input[type="checkbox"]:checked+span:after {
    content: "\2713";
    font-size: 2.1rem;
    color: #b42222;
    top: -.25em;
    left: -.1em;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .form_cont input[type="radio"]:checked+span:after {
    width: 12px;
    height: 12px;
    margin: -6px 0 0 0;
    background: #b42222;
    left: 4px;
    border-radius: 100%;
  }
  .form_cont .doui_bt {
    text-align: center;
  }
  .form_cont .doui {
    margin: 20px auto;
    background: #fff;
    width: 100%;
    height: 200px;
    padding: 10px 4%;
    font-size: 0.85em;
    border: 1px #ddd solid;
    overflow-y: scroll;
  }
  .form_detail_bt {
    padding: 10px 0 30px;
    text-align: center;
    margin: 0 auto;
  }
  .form_detail_bt input[type="submit"] {
    cursor: pointer;
    width: 100%;
    display: block;
    border-radius: 6px;
    border: 0;
    background: #ffde00;
    color: #333333;
    font-weight: bold;
    text-align: center;
    line-height: 45px;
    text-decoration: none;
    margin: 0 auto;
    font-family: 'Oswald', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
    letter-spacing: .075em;
  }
  .form_detail_bt input[type="submit"]:hover {
    background: #b42222;
    color: #fff;
  }
  /* ---------- faq ---------- */
  .faq_cont {
    max-width: 100%;
  }
  .faq_cont .box_question {
    *zoom: 1;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px #ddd solid;
  }
  .faq_cont .box_question:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .faq_cont .box_question .question_ico {
    float: left;
    width: 30px;
    line-height: 30px;
    font-size: 1.07em;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background: #b42222;
    border-radius: 4px;
    margin-right: 18px;
  }
  .faq_cont .box_question .question_txt {
    color: #b42222;
    width: 82%;
    float: left;
  }
  .faq_cont .box_question .question_img {
    display: none;
  }
  .faq_cont .box_answer {
    *zoom: 1;
    margin-bottom: 30px;
  }
  .faq_cont .box_answer:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .faq_cont .box_answer .answer_ico {
    float: left;
    width: 30px;
    line-height: 26px;
    font-size: 1.07em;
    font-weight: bold;
    text-align: center;
    color: #b42222;
    background: #fff;
    border: 2px #b42222 solid;
    border-radius: 4px;
    margin-right: 18px;
  }
  .faq_cont .box_answer .answer_txt {
    padding-left: 48px;
  }
  /*
  archive
--------------------------------------------- */
  /* ---------- layout ---------- */
  .container {
    *zoom: 1;
    margin-bottom: 40px;
  }
  .container:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .container .article_cont {
    width: 100%;
    margin-right: 5%;
  }
  .container .article_sidebar {
    width: 92%;
    margin: 0 auto;
  }
  .container .article_sidebar .archive_tit {
    font-weight: bold;
    text-align: center;
    padding: 16px 0;
  }
  .container .article_sidebar .column-cat ul li {
    border-bottom: 1px solid #ebebeb;
  }
  .container .article_sidebar .column-cat ul li a {
    display: block;
    padding: 10px;
    text-decoration: none;
  }
  .container .article_sidebar .column-cat ul li a:hover {
    background: #000;
    color: #fff;
  }
  #archive .container .inner-max,
  #single .container .inner-max {
    width: 100%;
  }
  .single_bot .inner-max {
    width: 100%;
  }
  /* ---------- article_box ---------- */
  .article_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .article_box {
    max-width: 50%;
    text-align: left;
    margin: 0 0 15px;
  }
  .article_box:hover .article_tit {
    color: #b42222;
  }
  .article_box .article_img {
    padding-bottom: 10px;
  }
  .article_box .article_img img {
    width: 100%;
  }
  .article_box a {
    color: #333333;
    text-decoration: none;
  }
  .article_box .article_tit {
    padding: 0 14px;
    line-height: 1.5;
    font-weight: bold;
  }
  .article_box .article_date {
    font-size: 0.85em;
    padding: 0 14px 8px;
    color: #666;
  }
  .article_box .article_category {
    text-align: center;
    padding: 0 8px;
  }
  .article_box .article_category a {
    display: inline-block;
    text-decoration: none;
    background: #fff;
    border-radius: 4px;
    border: 1px #b42222 solid;
    font-size: 0.71em;
    font-weight: bold;
    padding: 0 16px;
    line-height: 1.6;
    color: #b42222;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .article_box .article_category a {
    line-height: 2;
  }
}

@media (max-width: 767px) {
  /* ---------- page-nation ---------- */
  .page-nation {
    letter-spacing: normal;
    margin: 50px auto;
  }
  .page-nation ul {
    text-align: center;
  }
  .page-nation ul li {
    padding: 0;
    display: inline-block;
  }
  .page-nation ul li a {
    display: block;
    text-align: center;
    width: 45px;
    line-height: 48px;
    border: 1px #b42222 solid;
    background: #fff;
    color: #b42222;
    text-decoration: none;
  }
  .page-nation ul li.current a {
    color: #fff;
    background: #b42222;
  }
  .page-nation ul li:nth-child(5) {
    display: none;
  }
  /*
  sidebar
--------------------------------------------- */
  .side{
    padding: 30px 0px;
  }
  .tit_medium,
  .widget-title {
    font-weight: bold;
    color: #fff;
    background: #b42222;
    padding: 10px 20px;
    border-bottom: 1px solid transparent;
    border-top-right-radius: 2px;
    border-top-left-radius: 2px;
  }
  .widget{
    display: block;
    margin-bottom: 22px;
    background-color: #fff !important;
    border: 1px solid transparent;
    border-radius: 3px;
    -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.05);
    box-shadow: 0 1px 1px rgba(0,0,0,0.05);
    color: #666;
    border-color: #eee;
  }
  .widget select{
    border: 0px;
    display: block;
    width: 100%;
    padding: 10px;
  }
  .widget ul li{
    padding: 5px 15px 5px 30px;
    position: relative;
  }
  .widget ul li a{
    text-decoration: none;
    font-weight: 200;
  }
  .widget ul li:before{
    content: '\f3d1';
    font-family: 'IonIcons';
    position: absolute;
    left: 10px;
    top: 5px;
    color: #ccc;
  }
  .widget .post-date{
    display: block;
    font-weight: 200;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
  }
  .tit_small {
    font-weight: bold;
    font-size: 1.28em;
    padding: 20px 0;
  }
  .tit_min {
    font-weight: bold;
    font-size: 1.14em;
    padding: 10px 0;
  }
  .tit_box {
    font-weight: bold;
    font-size: 1.42em;
    color: #fff;
    background: url(../images/common/bg-line-bl.png) repeat;
    background-size: 5px 5px;
    padding: 10px;
    margin-bottom: 20px;
    letter-spacing: 3px;
  }
  .tit_line {
    width: 800px;
    position: relative;
    color: #b42222;
    font-size: 1.28em;
    font-weight: bold;
    padding-left: 58px;
    margin-bottom: 40px;
  }
  .tit_line:before {
    content: "";
    width: 40px;
    height: 3px;
    background: #b42222;
    position: absolute;
    left: 0;
    top: 12px;
  }

  .button2 {
      color: #fff !important;
      padding: 10px 30px;
      border-radius: 30px;
      border: 1px solid rgba(255,255,255,0.7);
      background: rgba(0,0,0,0.25);
      font-size: 14px;
      display: inline-block;
      text-decoration: none !important;
      position: relative;
      border: 1px solid #fff;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .side_archive .side_archive_article .side_archive_category a {
    line-height: 2;
  }
}

@media (max-width: 767px) {
  .side_archive .side_archive_article:last-child {
    border-bottom: none;
  }
  .side_archive .side_archive_article img {
    max-height: 90px;
    width: auto;
    max-width: 140px;
    display: block;
    margin: 0 auto;
  }
  /*
  single
--------------------------------------------- */
  .single_cont {
    width: 90%;
    margin: 0 auto;
    border-top: 1px #ddd solid;
  }
  .single_cont_date {
    font-size: 0.71em;
    padding: 10px 0;
    color: #b42222;
  }
  .single_cont_tit {
    font-size: 1.28em;
    font-weight: bold;
    padding-bottom: 10px;
  }
  .single_cont_sub {
    *zoom: 1;
    margin-bottom: 30px;
  }
  .single_cont_sub:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .single_cont_tag {
    padding: 5px 0;
    margin-bottom: 10px;
  }
  .single_cont_tag a {
    display: inline-block;
    font-size: 0.71em;
    line-height: 30px;
    border-radius: 0px;
    padding: 0 8px;
    color: #fff;
    margin-right: 4px;
    background: #000;
    text-decoration: none;
  }
  .single_cont_sns ul li {
    display: inline-block;
    margin-left: 4px;
  }
  .single_cont_img {
    margin-bottom: 20px;
  }
  .single_cont_img img {
    max-width: 100%;
  }
  .single_cont_inner {
    padding-bottom: 30px;
  }
  .single_cont_sns-bot {
    text-align: center;
  }
  .single_cont_sns-bot ul li {
    display: inline-block;
    margin-left: 4px;
  }
  .single_cont_auther {
    border: 1px #d9d9d9 solid;
    background: #fff;
    padding: 30px;
    margin-bottom: 30px;
    margin-top: 60px;
    border: 5px #d9d9d9 solid;
    display: block;
    width: 100%;
    border-radius: 0px !important;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .single_cont_auther {
    padding: 20px 16px;
    margin-bottom: 10px;
    border-radius: 8px;
  }
}

@media (max-width: 767px) {
  .single_cont_auther .auther_img {
    width: 80px;
    display: block;
    vertical-align: middle;
    text-align: center;
    margin: -60px auto 0;
  }
  .single_cont_auther .auther_img img {
    text-align: center;
    margin: 0 auto;
    border-radius: 40px;
  }
  .single_cont_auther .auther_cont {
    padding-top: 10px;
    display: block;
    vertical-align: middle;
    text-align: center;
  }
  .single_cont_auther .auther_cont_name {
    font-size: 1.14em;
    padding: 8px 0;
    font-weight: bold;
    color: #b42222;
  }
  .single_cont_auther .auther_cont_name span {
    display: block;
    font-size: 12px;
    color: #333333;
  }
  .single_cont_auther .auther_txt {
    width: 100%;
    display: block;
    vertical-align: middle;
    font-size: 0.92em;
  }
  .single_cont .single_page-nation {
    *zoom: 1;
    margin: 30px auto;
  }
  .single_cont .single_page-nation:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  .single_cont .single_page-nation .prev,
  .single_cont .single_page-nation .next {
    display: inline-block;
  }
  .single_cont .single_page-nation .prev a,
  .single_cont .single_page-nation .next a {
    border-radius: 0px !important;
  }
  .single_cont .single_page-nation .prev a {
    position: relative;
    display: inline-block;
    padding: 0 48px;
    font-size: 1.14em;
    letter-spacing: .075em;
    color: #b42222;
    background: #fff;
    border-radius: 4px;
    border: 1px #b42222 solid;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
  }
  .single_cont .single_page-nation .prev a:hover {
    text-decoration: none;
    background: #b42222;
    color: #fff;
  }
  .single_cont .single_page-nation .prev a i {
    font-size: 0.71em;
    position: absolute;
    left: 16px;
    top: 50%;
    margin-top: -6px;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .single_cont .single_page-nation .prev {
    width: 48%;
    float: left;
  }
  .single_cont .single_page-nation .prev a {
    width: 100%;
    padding: 0 20px;
    font-size: 0.92em;
    line-height: 45px;
  }
}

@media (max-width: 767px) {
  .single_cont .single_page-nation .next a {
    position: relative;
    display: inline-block;
    padding: 0 48px;
    font-size: 1.14em;
    letter-spacing: .075em;
    color: #b42222;
    background: #fff;
    border-radius: 4px;
    border: 1px #b42222 solid;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
  }
  .single_cont .single_page-nation .next a:hover {
    text-decoration: none;
    background: #b42222;
    color: #fff;
  }
  .single_cont .single_page-nation .next a i {
    font-size: 0.71em;
    position: absolute;
    right: 16px;
    top: 50%;
    margin-top: -6px;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .single_cont .single_page-nation .next {
    width: 48%;
    float: right;
  }
  .single_cont .single_page-nation .next a {
    width: 100%;
    padding: 0 20px;
    font-size: 0.92em;
    line-height: 45px;
  }
}

@media (max-width: 767px) {
  .single_cont .interview-lines {
    margin-bottom: 20px;
  }
  .single_cont .interview-lines dt {
    font-size: 1.71em;
    padding-bottom: 20px;
    line-height: 1.5;
    padding-left: 50px;
    text-indent: -50px;
  }
  .single_cont .interview-lines dt:before {
    display: inline-block;
    vertical-align: middle;
    content: "";
    width: 30px;
    height: 2px;
    background: #54a6ba;
    margin-right: 20px;
  }
  /*
  single_bottom
--------------------------------------------- */
  .tit_relation_cont {
    position: relative;
    text-align: center;
    margin-bottom: 20px;
    overflow: hidden;
  }
  .tit_relation_cont:after {
    width: 100%;
    content: "";
    border-top: 1px #ddd solid;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    z-index: 1;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .tit_relation_cont {
    margin-bottom: 10px;
  }
}

@media (max-width: 767px) {
  .tit_relation_cont .tit_relation {
    display: inline-block;
    text-align: center;
    padding: 20px 30px;
    background: #f3f3f3;
    position: relative;
    z-index: 10;
    font-size: 1.28em;
    font-weight: bold;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .tit_relation_cont .tit_relation {
    padding: 10px 4%;
  }
}

@media (max-width: 767px) {
  .relation_article {
    max-width: 1200px;
    margin: 0 auto 80px;
    text-align: center;
  }
  .single-template .svg a {
    display: block;
    width: 100%;
  }
  .single-template .s2 .svg a {
    font-size: 1em;
  }
  .single-template .s2 .svg a:hover {
    background-image: linear-gradient(to right, transparent 50%, #4ba8e8 50%);
  }
  .single-template .item {
    background: #fff;
    font-size: 14px;
    padding: 10px;
  }
  .single-template .item .primaryDesc .imgHolder {
    float: none;
    background-size: cover;
    background-position: center center;
  }
  .single-template .item .primaryDesc .imgHolder .gallery {
    border: 1px solid #ccc;
  }
  .single-template .item .primaryDesc .imgHolder .gallery .main-img {
    margin: 10px auto;
    display: block;
    height: 208px;
    width: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 10px;
  }
  .single-template .item .primaryDesc .imgHolder .gallery .small-img {
    width: calc(100%/4.6);
    height: 50px;
    float: left;
    padding: 0px;
    margin: 5px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
    border: 1px solid #cccccc;
  }
  .single-template .item .primaryDesc .desc .title {
    color: #33a1ed;
    font-size: 16px;
    margin: 10px 0px;
  }
  .single-template .item .primaryDesc .desc p {
    font-size: 14px;
  }
  .single-template .item .primaryDesc .desc h4 {
    font-size: 18px;
    border-bottom: 3px solid #33a1ed;
    position: relative;
  }
  .single-template .item .primaryDesc .desc h4:after {
    content: " ";
    position: absolute;
    left: 0;
    bottom: -3px;
    height: 3px;
    background: #16496d;
    width: 30%;
  }
  .single-template .item .primaryDesc .desc table {
    width: 100%;
    margin-bottom: 20px;
  }
  .single-template .item .primaryDesc .desc table tr {
    border-bottom: 1px solid #ccc;
  }
  .single-template .item .primaryDesc .desc table tr td:first-child {
    background: #ebebeb;
    width: 40%;
  }
  .single-template .item .primaryDesc .desc table tr td {
    padding: 5px;
    background: #f7f7f7;
  }
  .single-template .item .cats {
    margin-bottom: 10px;
  }
  .single-template .item .cats ul li {
    border: 1px solid #ccc;
    padding: 2px 5px;
    display: inline-block;
    font: 12px;
    box-sizing: border-box;
  }
  .single-template .item .tags {
    margin-bottom: 10px;
  }
  .single-template .item .tags ul li {
    background: #434343;
    color: #fff;
    padding: 2px 5px;
    display: inline-block;
    font-size: 10px;
    box-sizing: border-box;
  }
  .single-template .item .svg .button {
    width: 100%;
    margin: 10px auto;
    text-align: center;
  }
  .single-template .item .svg .button svg {
    position: relative;
    margin: 0 auto;
    width: 100%;
  }
  .single-template .item .svg .button rect {
    width: 100%;
  }
  .single-template .item .svg .button span {
    width: 100%;
    box-sizing: border-box;
  }
  .single-template .scrollDown {
    text-align: center;
  }
  .single-template .scrollDown a {
    display: inline-block;
    margin: 0 auto;
  }
  .single-template .scrollDown a img {
    display: block;
  }
  .single-template .detailForm dl {
    color: #fff;
    margin-bottom: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .single-template .detailForm dl dt {
    width: 100%;
    vertical-align: middle;
    background: #ebebeb;
    display: block;
    padding: 5px;
    padding-top: 10px;
    color: #333333;
  }
  .single-template .detailForm dl dt span {
    background: red;
    color: #fff;
    font-size: 12px;
    padding: 3px;
    float: right;
    clear: both;
  }
  .single-template .detailForm dl dd {
    width: 100%;
    vertical-align: middle;
    display: block;
    box-sizing: border-box;
    color: #000;
  }
  .single-template .detailForm dl dd input[type="text"],
  .single-template .detailForm dl dd input[type="email"],
  .single-template .detailForm dl dd textarea {
    padding: 10px;
    border: solid 1px #ebebeb;
    transition: border 0.3s;
    display: block;
    margin: 0;
    width: 100%;
    font-family: sans-serif;
    font-size: 14px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border-radius: none;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
  }
  .single-template .detailForm dl dd textarea {
    height: 200px;
  }
  .single-template .detailForm dl:first-child dd {
    border: 1px solid #ebebeb;
    background: #fff;
  }
  .single-template .detailForm .holder {
    text-align: center;
  }
  .single-template .detailForm .holder .svg .button {
    margin: 10px auto;
    text-align: center;
  }
  .single-template .detailForm .holder .svg .button svg {
    position: relative;
    margin: 0 auto;
    width: 100%;
  }
  .single-template .detailForm .holder .svg .button rect {
    width: 100%;
    stroke: #000;
  }
  .single-template .detailForm .holder .svg .button span {
    color: #000;
    width: 100%;
    box-sizing: border-box;
  }
  .single-template .detailForm .holder .svg .button span:hover {
    background: #000;
    color: #fff;
  }
  .single-template .s2 {
    background: #f7f7f7;
  }
  /* loading */
  @-webkit-keyframes move {
    0% {
      -webkit-transform: translateY(-50px) translateX(0);
      transform: translateY(-50px) translateX(0);
    }
    25% {
      -webkit-transform: translateY(0px) translateX(0);
      transform: translateY(0px) translateX(0);
    }
    50% {
      -webkit-transform: translateY(0px) translateX(-50px);
      transform: translateY(0px) translateX(-50px);
    }
    75% {
      -webkit-transform: translateY(-50px) translateX(0);
      transform: translateY(-50px) translateX(0);
    }
  }
  @keyframes move {
    0% {
      -webkit-transform: translateY(-50px) translateX(0);
      transform: translateY(-50px) translateX(0);
    }
    25% {
      -webkit-transform: translateY(0px) translateX(0);
      transform: translateY(0px) translateX(0);
    }
    50% {
      -webkit-transform: translateY(0px) translateX(-50px);
      transform: translateY(0px) translateX(-50px);
    }
    75% {
      -webkit-transform: translateY(-50px) translateX(0);
      transform: translateY(-50px) translateX(0);
    }
  }
  @-webkit-keyframes lineAnime {
    0% {
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
    }
    100% {
      -webkit-transform: translateX(100%);
      transform: translateX(100%);
    }
  }
  @keyframes lineAnime {
    0% {
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
    }
    100% {
      -webkit-transform: translateX(100%);
      transform: translateX(100%);
    }
  }
  .main-stage {
    height: 70vh;
    width: 100%;
    overflow: hidden;
    background-image: url("../images/common/bg-dots.gif");
    background-size: 16px 32px;
    background-position: center center;
    background-attachment: fixed;
    z-index: -1;
    position: relative;
  }
  .main-stage .inner-max {
    height: 100%;
  }
  .topholder {
    width: 100%;
    height: 100%;
  }
  .topholder .main-bgs li {
    background-size: cover;
    background-position: center top;
    position: relative;
    background-repeat: no-repeat;
    height: 100vh;
  }
  .topholder .main-bgs li img {
    max-width: 999999px;
    height: 110%;
    width: auto !important;
    visibility: hidden;
  }
  .content-window {
    position: relative;
    overflow: hidden;
  }
  .anim1,
  .anim2,
  .anim3 {
    transition: all 0.4s linear;
  }
  .draw {
    transition: color 0.25s;
    box-shadow: inset 0 0 0 5px transparent;
    padding: 50px;
  }
  .draw:before,
  .draw:after {
    box-sizing: inherit;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
  }
  .draw:before,
  .draw:after {
    content: "";
    border: 5px solid transparent;
    width: 0 !important;
    height: 0 !important;
  }
  .draw:before {
    top: 0;
    left: 0;
  }
  .draw:after {
    bottom: 0;
    right: 0;
  }
  .draw.boxed:before,
  .draw.boxed:after {
    width: 100% !important;
    height: 100% !important;
  }
  .draw.boxed:before {
    border-top-color: #fff;
    border-right-color: #fff;
    transition: width 0.25s ease-out, height 0.25s ease-out 0.25s;
  }
  .draw.boxed:after {
    border-bottom-color: #fff;
    border-left-color: #fff;
    transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s;
  }
  .hero_wrap {
    font-family: 'Oswald', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
    z-index: 1;
    display: inline-block;
    top: 50%;
    left: 50%;
    position: absolute;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 80%;
  }
  .hero_wrap .hero_copy {
    text-align: center;
    color: #fff;
    line-height: 1.25;
    margin-bottom: 24px;
    letter-spacing: 3px;
    position: relative;
    opacity: 1;
  }
  .hero_wrap .hero_copy::before,
  .hero_wrap .hero_copy::after {
    box-sizing: inherit;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
  }
  .hero_wrap .hero_copy .anim2,
  .hero_wrap .hero_copy .anim3 {
    font-size: 20px;
    margin-bottom: 50px;
  }
  .bgr{
    font-size: 30px !important;
    font-weight: 700;
    margin-bottom: 0px !important;
  }
  .hero_wrap .hero_txt {
    color: #fff;
    font-weight: bold;
    letter-spacing: .075em;
    margin-bottom: 1.2em;
  }
  .hero_wrap .hero_txt :last-child {
    margin-bottom: 0;
  }
  .hero_wrap .hero_btn a {
    position: relative;
    font-size: 1.14em;
    display: block;
    font-weight: bold;
    letter-spacing: .075em;
    color: #fff;
    background: #b42222;
    border: 1px solid #fff;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
  }
  .hero_wrap .hero_btn a .fa {
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -9px;
  }
  .hero_wrap .hero_btn a:hover {
    text-decoration: none;
    background: #2574ab;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .hero_wrap .hero_btn a {
    font-size: 14px;
    line-height: 45px;
  }
  .hero_wrap .hero_btn a .fa {
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -7px;
  }
}

@media (max-width: 767px) {
  .newsfeed {
    width: 100%;
    padding: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .newsfeed .sec-title {
    display: inline-block;
    width: 10%;
    padding: 10px 0px;
  }
  .newsfeed .sec-title h3 {
    font-size: 14px;
    letter-spacing: 2px;
    font-weight: bold;
  }
  .newsfeed ul {
    width: 89%;
    display: inline-block;
  }
  .newsfeed ul li {
    padding: 10px 0px;
    display: inline-block;
    width: calc(100%/2.1);
  }
  .newsfeed ul li a {
    text-decoration: none;
  }
  .newsfeed ul li .date {
    border: 1px solid #000;
    padding: 3px 20px;
    line-height: 1;
    margin-right: 20px;
  }

  header .inner-max {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .hvr-underline-from-left:before {
    background: #a61c1c !important;
    height: 2px !important;
    left: 0px !important;
  }
  .sec-head {
    text-align: center;
  }
  .sec-head h2 {
    font-size: 17px;
    font-weight: 700;
  }
  .sec-head h2.en {
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 2px;
    text-transform: uppercase;
  }
  .sec-head:after {
    content: "";
    height: 2px;
    width: 40px;
    background: #a61c1c;
    margin: 20px auto;
    display: block;
  }
  .sec-head.left {
    text-align: left;
  }
  .sec-head.left:after {
    content: "";
    height: 1px;
    width: 100px;
    background: #a61c1c;
    margin: 20px 0px;
    display: block;
  }
  .subtle {
    background-image: url("../images/common/s3-bg.png");
  }
  .headline {
    height: 90vh;
  }
 
   /*
  index common
--------------------------------------------- */
  #index .s2 .boxin {
    background: #fff;
  }
  #index .s2 .sec-body ul.shop-list {
    margin: 0 auto;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
    -ms-grid-column-align: center;
    justify-items: center;
  }
  #index .s2 .sec-body ul.shop-list li {
    margin-bottom: 30px;
    width: calc(100%/4.1);
  }
  #index .s2 .sec-body ul.shop-list li a {
    text-decoration: none;
  }
  #index .s2 .sec-body ul.shop-list li .img-hldr {
    height: 150px;
  }
  #index .s2 .sec-body ul.shop-list li img {
    max-height: 100%;
    width: auto;
    display: block;
    margin: 0 auto;
  }
  #index .s2 .sec-body ul.shop-list li .shop-name {
    text-align: center;
    font-size: 14px;
    color: #333333;
    font-weight: 700;
    outline-color: #111111;
  }
  #index .s2 .sec-body ul.shop-list li .shop-name.en {
    color: #999;
  }
  #index .s3 .boxin {
    background-image: url("../images/common/s3-bg.png");
  }
  #index .s3 .sec-head {
    text-align: left;
    width: 100%;
  }
  #index .s3 .inner-max {
    position: relative;
  }
  #index .s3 .sec-body {
    width: 100%;
  }
  #index .s3 .sec-body .topics {
    display: none;
  }
  #index .s3 .sec-body .topics.active {
    display: block;
  }
  #index .s3 .sec-body .topics li {
    padding: 20px 0px;
    border-bottom: 1px solid #ddd;
  }
  #index .s3 .sec-body .img-hldr {
    width: 60px;
    height: 60px;
    overflow: hidden;
  }
  #index .s3 .sec-body .img-hldr img {
    width: auto;
    max-width: 9999px;
    height: 100%;
  }
  #index .s3 .sec-body .text {
    width: calc(100% - 60px);
    padding-left: 20px;
    position: relative;
  }
  #index .s3 .sec-body .text p {
    margin-bottom: 0px;
  }
  #index .s3 .sec-body .text a {
    text-decoration: none;
  }
  #index .s3 .sec-body .text .title {
    color: #a61c1c;
    font-weight: 700;
  }
  #index .s3 .sec-body .text:after {
    font-size: 30px;
    content: '\f3d1';
    font-family: 'IonIcons';
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -15px;
    color: #b42222;
    transition: all 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  #index .s3 .sec-body .text:hover:after {
    right: 0px;
  }
  #index .s3 .sec-body .cats a {
    font-size: 10px;
    color: #999;
    border: 1px solid #999;
    display: inline-block;
    padding: 0px 5px;
    border-radius: 5px;
    font-weight: 700;
    margin-right: 5px;
  }
  #index .s3 .category {
    text-align: center;
  }
  #index .s3 .category li {
    display: inline-block;
    vertical-align: middle;
  }
  #index .s3 .category li a {
    font-size: 14px;
    display: block;
    text-decoration: none;
    line-height: 50px;
    color: #333333;
    padding: 0px 20px;
  }
  #index .s3 .category li a.active {
    color: #a61c1c;
    position: relative;
  }
  #index .s3 .category li a.active:after {
    content: "";
    width: 100%;
    bottom: 0px;
    left: 0px;
    position: absolute;
    height: 3px;
    background: #a61c1c;
  }
  #index .s3 .button {
    color: #fff !important;
    text-decoration: none !important;
  }
  #index .s4 .boxin {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }
  #index .s4 h3 {
    font-size: 22px;
    color: #fff;
    line-height: 1.25;
  }
  #index .s4 h4 {
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 50px;
  }
  #index .s4 p {
    color: #fff;
    font-weight: normal;
  }

  .subpage .breadcrumbs{
    padding: 30px 0px;
  }

  .subpage .breadcrumbs ul li{
    display: inline-block;
  }

  .subpage .breadcrumbs ul li span{
  }

  .subpage .breadcrumbs ul li span:before{
    content: "\f3d1";
    font-family: 'IonIcons';
    position: relative;
    display: inline-block;
    margin: 0px 10px;
  }

  .subpage section{
    background: transparent;
  }

  .subpage .mv{
    background-size: cover;
    background-position: center;
    position: relative;
  }

  .subpage .mv:after{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top:0;
    left: 0;
    background: rgba(0, 0, 0, 0.4);
    display: block;
  }


  .subpage .mv .sec-head{
    color: #fff;
    text-align: left;
    z-index: 99;
    position: relative;
  }

  .subpage .mv .sec-head h2{
    font-weight: 700;
  }

  .subpage .mv .sec-head h2.en{
    font-size: 14px;
    text-transform: uppercase;
  }

  .subpage .mv .sec-head:after{
    background: #fff;
    margin: 20px 0px;
  }

  .subpage .mv .sec-head{
    padding: 120px 0px;
  }

  .sec-contact .boxin {
    background-image: url(../images/common/contact.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }
  .sec-contact h3 {
    font-size: 18px;
    color: #fff;
    margin-bottom: 20px;
    font-weight: 700;
    text-align: center;
  }
  .sec-contact p {
    text-align: center;
    color: #fff;
    font-weight: normal;
  }

  .pull-top {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
   /* min-height: 400px; */
    background: #fff;
    padding: 20px;
    position: relative;
    top: -50px;
    /*margin-bottom: -100px;*/
  }

  .text-vertical {
   /* -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;*/
    display: inline-block;
    /*white-space: nowrap; */
    font-family: "Yu Mincho", "YuMincho";
  }

  .subpage section p{
    line-height: 1.5;
  }

  .subpage .cont{
    background-image: url(../images/common/s3-bg.png);
  }

  .cl-black{
    color: #000 !important;
  }

  .designer{
      font-family: "Yu Mincho", "YuMincho";
      font-size: 18px;
      font-weight: 700;
      margin-bottom: 20px;
  }

  /*
  about
--------------------------------------------- */
  
  #about .s0{
    background-size: cover;
  }

  #about .s1{
    position: relative;
    padding-bottom: 200px;
  }

  #about .s1 .pull-top{
    padding-top: 0px;
  }

  #about .s1 .flex{
    display: block;
  }

  #about .s1 .img-hldr{
    padding: 0px !important;
    height: 0px;
  }

  #about .s1 .img-hldr,#about .s1 .txt{
    width: calc(100%);
    padding: 15px 20px;
  }

  #about .s1 .txt img{
    width: 100%;
    height: auto;
    margin-bottom: 20px;
  }

  #about .s1 .txt .designer span {
    color: #a61c1c; 
  }

  #about .s1 .txt p{
    line-height: 1.5;
  }

  #about .s1 .txt .designer{
    font-size: 14px;
  }

  #about .s1 .text-vertical{
    margin: 0 auto;
    font-weight: 700;
    line-height: 180%;
    margin: 0 auto;
    display: block;
    font-size: 135%;
    margin-bottom: 30px;
    text-align: center;
  }

  #about .s1 .text-vertical.sp_only{
    margin-bottom: 15px;
  }

  #about .s2{
    padding-bottom: 50px;
  }

  #about .s2 .designer{
    font-size: 18px;
  }

  #about .s2 .pull-top{
    top: -50px;
    margin-bottom: -50px;
    padding: 0px !important;
  }

  #about .s2 .img-hldr,#about .s2 .flex{
    display: block;
  }

  #about .s2 .img-hldr,#about .s2 .txt{
    width: calc(100%);
  }

  #about .s2 .img-hldr{
    position: relative;
    overflow: hidden;
    height: 200px;
  }

  #bg1 {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 300px;
    width: 100%;
    background: center center no-repeat;
    background-image: url(../images/about/img4.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }
  #bg2{
    position: absolute;
    left: 0;
    bottom:-250px;
    height: 300px;
    width: 100%;
    background: center;
     background-image: url(../images/water/bg2.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }
  #bg3{
    position: absolute;
    left: 0;
    bottom:-350px;
    height: 300px;
    width: 100%;
    background: center;
     background-image: url(../images/water/bg3.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }

  #about .s2 .img-hldr img{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 9;
  }

  #about .s2 .text-vertical{
    margin: 0 auto;
    font-weight: 700;
    line-height: 180%;
    margin: 0 auto;
    display: block;
    font-size: 135%;
    margin-bottom: 50px;
    text-align: center;
  }

  #about .s2 .txt{
    padding: 25px 20px;
  }

  .centerized{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  #about .s3 .flex .img-hldr{
    width: 100%;
  }

  #about .s3 .flex .img-hldr img{
    width: 100%;
  }

  #about .s3{
    color: #fff;
    text-align: center;
  }

  #about .s3 .txt{
    width: 100%;
    margin: 0 auto;
    text-align: left;
    padding: 0px 20px;
  }

  #about .s3 .block{
    padding-top: 140px;
    padding-bottom: 100px;
    position: relative;
    background: center center no-repeat;
    background-image: url(http://via.placeholder.com/1600x596);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }

  #about .s3 h3{
    font-family: "Yu Mincho","YuMincho";
    font-weight: 700;
    line-height: 180%;
    font-size: 135%;
    margin-bottom: 30px;
  }

  /*Tour
  ----------------------------------------------*/
  
  #tour .s1 .pull-top{
    padding: 15px 20px !important;
  }

  #tour .s1 .flex{
    margin-bottom: 75px;
    border-radius: 5px;
    position: relative;
  }

  #tour .s1 .flex:after{
    content: "\f3d0";
    font-family: 'IonIcons';
    position: absolute;
    bottom: -55px;
    left: 50%;
    font-size: 70px;
    color: #b42222;
    transform:translateX(-50%);
    line-height: 1;
  }

  @keyframes arrowdown {
    0% {
      bottom: -55px;
      opacity: 1;
    }
    100% {
      bottom: -75px;
      opacity: 0;
    }
  }

  #tour .s1 .flex:before{
    content: "\f3d0";
    font-family: 'IonIcons';
    position: absolute;
    bottom: -40px;
    left: 50%;
    font-size: 40px;
    color: #b42222;
    transform:translateX(-50%);
    line-height: 1;
    animation: arrowdown 2s infinite;
  }

  #tour .ttl{
    text-align: center;
  }

  #tour .s1 .flex:nth-child(odd){
    flex-direction: row-reverse;
  }

  #tour .s1 .img-hldr{
    width: 100%;
  }

  #tour .s1 .txt{
    width: 100%;
  }

  #tour .s1 .img-hldr{
    width: 100%;
    height: 200px;
    position: relative;
    overflow: hidden;
  }

  #tour .s1 .img-hldr img{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 9;
    width: 100%;
  }

  #tour .s1 .img-hldr .text-vertical{
    z-index: 99;
    color: #fff;
    font-weight: 700;
    line-height: 180%;
    margin: 0 auto;
    display: block;
    font-size: 170%;
  }

  #tour .s1 .txt{
    padding: 15px;
    background: #d8ecff;
  }

  .tit{
      background: #b42222;
      color: #fff;
      line-height: 40px;
      border-left: 5px solid #d83131;
      font-size: 16px;
      font-weight: 700;
      padding-left: 15px;
      margin-bottom: 30px;
  }

  #tour .s1 .flex.last:before,  #tour .s1 .flex.last:after{
    display: none;
  }

  /*water
  ----------------------------------------------*/
  #water-bottle .s1 .pull-top{
    margin-bottom: 0px;
    padding: 15px 20px !important;
  }
  #water-bottle .s2{
    position: relative;
  }
  #water-bottle .s2 .pull-top {
    top: 100px;
    margin-bottom: 150px;
    padding: 0px !important;
  }

  #water-bottle .s2 .flex{
    margin-bottom: 20px;
  }

  #water-bottle .s2 .img-hldr,#water-bottle .s2 .txt{
    width: 100%;
  }

  #water-bottle .s2 .img-hldr{
    position: relative;
    overflow: hidden;
    height: 200px;
  }

  #water-bottle .s2 .img-hldr img{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 9;
    width: auto;
    margin: 20px auto;
  }

  #water-bottle .s2 .txt .text-vertical{
    z-index: 99;
    font-weight: 700;
    line-height: 180%;
    margin: 0 auto;
    display: block;
    font-size: 170%;
    color: #fff !important;
    position: relative;
    font-size: 18px;
  }

  #water-bottle .s2 .txt{
    padding: 30px;
    position: relative;
  }

  #water-bottle .txt:after{
    z-index: 9;
    content:"";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0px;
    top:0px;
    background-repeat: repeat;
  }

  #water-bottle .blgrad{
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#d0e4f7+0,0a77d5+0,539fe1+42,539fe1+42,73b1e7+59,87bcea+100 */
    background: #d0e4f7; /* Old browsers */
    background: -moz-linear-gradient(top, #d0e4f7 0%, #0a77d5 0%, #539fe1 42%, #539fe1 42%, #73b1e7 59%, #87bcea 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #d0e4f7 0%,#0a77d5 0%,#539fe1 42%,#539fe1 42%,#73b1e7 59%,#87bcea 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #d0e4f7 0%,#0a77d5 0%,#539fe1 42%,#539fe1 42%,#73b1e7 59%,#87bcea 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d0e4f7', endColorstr='#87bcea',GradientType=0 ); /* IE6-9 */

  }

  #water-bottle .blgrad:after{
    background-image:url('../images/water/patt3.png'); 
  }

  #water-bottle .ylgrad{
    position: relative;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#4a346d+1,ad1283+44,ad1283+44,eae470+100,de47ac+100 */
    background: #4a346d; /* Old browsers */
    background: -moz-linear-gradient(top, #4a346d 1%, #ad1283 44%, #ad1283 44%, #eae470 100%, #de47ac 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #4a346d 1%,#ad1283 44%,#ad1283 44%,#eae470 100%,#de47ac 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #4a346d 1%,#ad1283 44%,#ad1283 44%,#eae470 100%,#de47ac 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4a346d', endColorstr='#de47ac',GradientType=0 ); /* IE6-9 */

  }

  #water-bottle .ylgrad:after{
    background-image:url('../images/water/patt4.png'); 
  }

  #water-bottle .orgrad{
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f28d00+0,ff631c+50,ff161a+100,eae470+100 */
    background: #f28d00; /* Old browsers */
    background: -moz-linear-gradient(top, #f28d00 0%, #ff631c 50%, #ff161a 100%, #eae470 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #f28d00 0%,#ff631c 50%,#ff161a 100%,#eae470 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #f28d00 0%,#ff631c 50%,#ff161a 100%,#eae470 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f28d00', endColorstr='#eae470',GradientType=0 ); /* IE6-9 */
  }

  #water-bottle .orgrad:after{
    background-image:url('../images/water/patt2.png'); 
  }

  #water-bottle .s3{
    padding-bottom: 150px;
  }
  #water-bottle .s3 .pull-top {
    top: 150px;
    margin-bottom: 150px;
    padding: 0px !important;
  }

  #water-bottle .s3 .sec-head,#water-bottle .s3 .conts2{
    padding: 20px;
  }

  #water-bottle .s3 .conts .flex .box{
    width: 50%;
    position: relative;
  }

  #water-bottle .s3 .conts .flex .box .label{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: block;
    text-align: center;
    line-height: 40px;
    position: absolute;
    z-index: 9;
  }

  #water-bottle .s3 .conts .flex .box:first-child .label{
    background:#fff;
    top:20px;
    left: 20px;
  }

  #water-bottle .s3 .conts .flex .box:last-child .label{
    background:#000;
    color: #fff;
    top:20px;
    right: 20px;
  }

  #water-bottle .note{
    margin-top: 20px;
    text-align: center;
  }

  #water-bottle .s3 .pros .opening .tree{
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
  }

  #water-bottle .s3 .pros .opening .tree:after{
    content: "";
    position: absolute;
    width: 30%;
    height: 30%;
    background-size: contain;
    background-repeat: no-repeat;
    background-image:url('../images/water/tree.png'); 
    top:0px;
    left: 0px;
    z-index: 99;
  }

  #water-bottle .s3 .pros .opening .tree:before{
    content: "";
    position: absolute;
    width: 30%;
    height: 30%;
    background-size: contain;
    background-repeat: no-repeat;
    background-image:url('../images/water/tree.png'); 
    bottom:0px;
    right: 0px;
    transform: rotate(-180deg);
  }

  #water-bottle .pros{
    position: relative;
  }

  #water-bottle .pros .designer{
    color: #62a104;
    font-size: 16px;
    text-align: center;
  }

  #water-bottle .pros .big3{
    color: #ffa500;
    font-size: 30px;
    margin-bottom: 50px;
  }

  #water-bottle .pros .opening{
    max-width: 90%;
    margin-top: 0px;
    margin-bottom: 0px;
    position: relative;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 100px;
  }

  #water-bottle .pros .opening dl{
    position: relative;
    z-index: 2;
    counter-reset: count1;
  }

  #water-bottle .pros .opening dl dt{
    font-size: 14px;
    font-weight: 700;
    counter-increment: count1;
    position: relative;
    padding-left: 30px;
  }

  #water-bottle .pros .opening dl dt:before{

    position: absolute;
    display: block;
    content: counter(count1);
    left: 0;
    top:3px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    border-radius: 50%;
    background: #ffa500;
    color: #fff;
  }

  #water-bottle .pros .opening dl dd{
    margin-left: 30px;
    font-size: 12px;
    margin-bottom: 30px;
  }

  /*price
  ----------------------------------------------*/

  #price-and-area .s1, #price-and-area .s2{
    position: relative;
    z-index: 99;
  }

  #price-and-area .s1 .pull-top{
    padding: 15px 20px !important;
  }

  #price-and-area .s1 .img-hldr{
    width: 100%;
    position: relative;
  }

  #price-and-area .s1 .img-hldr img{
    width: 100%;
    height: auto;
  }

  #price-and-area .s1 .flex{
    margin-bottom: 30px;
  }

  #price-and-area .s1 .txt{
    width: 100%;
    padding: 20px;
  }

  #price-and-area .s1 .txt p{
    border-bottom: 1px solid #ccc;
  }

  #price-and-area .area{
    margin-bottom: 50px;
  }

  #price-and-area .s2 .pull-top{
    top:-50px;
    margin-bottom: 0px;
  }

  #price-and-area .s2 .tit{
    background: #000;
  }

  #price-and-area .s2 .flex .box{
    width: calc(100%/2.1);
   /* box-shadow: 2px 2px 3px #ccc;*/
    padding: 20px;
  }

  #price-and-area .s2 table{
    width: 100%;
  }

  #price-and-area .s2 table tr th, #price-and-area .s2 table tr td{
    display: block;
    border-bottom: 1px solid #ccc;
  }

  #price-and-area .s2 table tr th{
    color: #fff;
    padding: 5px;
    font-size: 16px;
  }

  #price-and-area .s2 .tit{
    margin-bottom: 0px;
  }

  #price-and-area .s2 table tr td{
    font-size: 16px;
    font-weight: 700;
  }

  #price-and-area .s2 table tr td span{
    font-size: 10px;
    display: inline-block;
  }

  #price-and-area .minimv{
    width: 100%;
    height: 200px;
    background-position: center;
    background-size: cover;
    overflow: hidden;
  }

  #price-and-area .flb .a3{
    width: 100%;
  }

  #price-and-area .flb .a4{
    width: 100%;
  }

  #price-and-area .a3 .flex .box{
    width: calc(100%/2.1);
  }

  #price-and-area .a4 .flex .box{
   width: calc(100%/2.1);
  }

  #price-and-area .s2 .a1 th{
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#7d7e7d+0,0e0e0e+100;Black+3D */
    background: #7d7e7d; /* Old browsers */
    background: -moz-linear-gradient(top,  #7d7e7d 0%, #0e0e0e 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #7d7e7d 0%,#0e0e0e 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #7d7e7d 0%,#0e0e0e 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7d7e7d', endColorstr='#0e0e0e',GradientType=0 ); /* IE6-9 */
  }

  #price-and-area .s2 .a2 th{
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#a84b5f+0,8e122d+56,6d0019+100 */
    background: #a84b5f; /* Old browsers */
    background: -moz-linear-gradient(top,  #a84b5f 0%, #8e122d 56%, #6d0019 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #a84b5f 0%,#8e122d 56%,#6d0019 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #a84b5f 0%,#8e122d 56%,#6d0019 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a84b5f', endColorstr='#6d0019',GradientType=0 ); /* IE6-9 */
  }

  #price-and-area .s2 .a3 th{
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1e5799+0,207cca+41,2989d8+59,7db9e8+100 */
    background: #1e5799; /* Old browsers */
    background: -moz-linear-gradient(top,  #1e5799 0%, #207cca 41%, #2989d8 59%, #7db9e8 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #1e5799 0%,#207cca 41%,#2989d8 59%,#7db9e8 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #1e5799 0%,#207cca 41%,#2989d8 59%,#7db9e8 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 ); /* IE6-9 */
  }

  #price-and-area .s2 .a4 th{
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#c9de96+0,8ab66b+38,398235+100 */
    background: #c9de96; /* Old browsers */
    background: -moz-linear-gradient(top,  #c9de96 0%, #8ab66b 38%, #398235 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #c9de96 0%,#8ab66b 38%,#398235 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #c9de96 0%,#8ab66b 38%,#398235 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c9de96', endColorstr='#398235',GradientType=0 ); /* IE6-9 */
  }

  #price-and-area .s3{
    position: relative;
    color: #fff;
    text-align: center;
    top: -100px;
    z-index: 1;
  }

  #price-and-area .s3 .txt{
    width: 100%;
    margin: 0 auto;
  }

  #price-and-area .s3 .block{
    padding-top: 75px;
    padding-bottom: 75px;
    position: relative;
    background: center top no-repeat;
    background-image: url(../images/water/bg2.jpg);
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }

  #price-and-area .s3 h3{
    z-index: 99;
    position: relative;
    font-family: "Yu Mincho","YuMincho";
    font-weight: 700;
    line-height: 180%;
    font-size: 18px;
    margin-bottom: 30px;
    color: #fff;
    text-shadow: 2px 2px 5px #20292c;
  }

  /*sample
  ----------------------------------------------*/

  #sample .s1 .pull-top{
    padding: 15px 20px !important;
  }

  #sample .s1 .flex{
    margin-top: 50px;
  }

  #sample .s1 .flex:nth-child(odd){
    flex-direction: row-reverse;
  }

  #sample .s1 .img-hldr, #sample .s1 .txt{
    width: 100%;
  }

  #sample .s1{
    position: relative;
  }

  #sample .s1 .img-hldr{
    margin-bottom: 20px;
  }

  #sample .s1 .txt{
    width: 100%;
  }

  #sample .s1 .img-hldr img{
    width: 100%;
    height: auto;
    padding: 10px;
    box-shadow: 2px 2px 10px #ccc;
  }

  #sample .s1 .opening{
    margin-top: 0px;
  }

  #sample .s1 table{
    width: 100%;
  }

  #sample .s1 table tr th{
    width: 50%;
  }

  #sample .s1 table tr td{
    text-align: right;
  }

  #sample .s1 table tr:last-child{
    border-top: 1px solid #ccc;
  }

  #sample .s1 table tr:last-child td{
     font-weight: 700;
     color: #b42222;
  }

  #sample .s1 .box{
    border: 2px solid #958844;
    padding: 20px;
    background: #fbefb2;
    border-radius: 3px;
  }

  #sample .s1{
    padding-bottom: 200px;
  }

  #sample .s2{
    padding-bottom: 150px;
  }

  #sample .s2 .pull-top{
    top:-50px;
    padding: 15px 20px !important;
  }

  #sample .s2 .opening{
    max-width: 100%;
  }

  #sample .s2 .opening:after{
    background-size: inherit;
  }

  #sample .s2 .flex{
    margin-bottom: 50px;
  }

  #sample .s2 .flex .cost, #sample .s2 .flex .txt{
    width: 100%;
  }

  #sample .s2 .cost{
    margin-bottom: 20px;
  }

  #sample .s2 table{
    width: 100%;
  }

  #sample .s2 table tr th{
    width: 50%;
  }

  #sample .s2 table tr td{
    text-align: right;
  }

  #sample .s2 table tr:last-child{
    border-top: 1px solid #ccc;
  }

  #sample .s2 table tr:last-child td{
     font-weight: 700;
     color: #b42222;
  }

  #sample .s2 .box{
    border: 2px solid #958844;
    padding: 20px;
    background: #fbefb2;
    border-radius: 3px;
  }

  #sample .s2 .note{
    background:#b42222;
    color: #fff;
    padding:10px;
  }

  /*
  company
  --------------------------------------------- */

  #company .s1 .inner-max{
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  #company .s1 .txt{
    padding: 23px 25px;
  }

  #company .s1 p{
    letter-spacing: 0.8px;
  }

  #company .s2 dl dt, #company .s2 dl dd{
    border-bottom: 1px solid #ddd;
    word-wrap: break-word;
    overflow: hidden;
    padding: 5px 0px;
  }

  #company .s2 dl dt{
    width: 100%;
    font-weight: 700;
    font-size: 14px;
  }

  #company .s2 dl dd{
    width: 100%;
  }

  #company .s3 dl dt, #company .s3 dl dd{
    border-bottom: 1px solid #ddd;
    word-wrap: break-word;
    overflow: hidden;
    padding: 5px 0px;
  }

  #company .s3 dl dt{
    width: 100%;
    font-weight: 700;
    font-size: 14px;
  }

  #company .s3 dl dd{
    width: 100%;
  }

  .arch .text .title{
    font-size: 14px;
    margin-bottom: 10px;
    display: block;
  }

  .date{
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic, メイリオ, Meiryo, sans-serif;
    font-weight: 200;
    font-size: 14px;
  }

  /*
  recruitment
  --------------------------------------------- */

  #recruitment .s1 .inner-max{
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  #recruitment .s1 .txt{
    padding: 23px 25px;
  }

  #recruitment .s1 p{
    letter-spacing: 0.8px;
  }

  #recruitment .s2 dl dt, #recruitment .s2 dl dd{
    border-bottom: 1px solid #ddd;
    word-wrap: break-word;
    overflow: hidden;
    padding: 5px 0px;
  }

  #recruitment .s2 dl dt{
    width: 100%;
    font-weight: 700;
    font-size: 14px;
  }

  #recruitment .s2 dl dd{
    width: 100%;
  }

  #recruitment .s3 dl dt, #recruitment .s3 dl dd{
    border-bottom: 1px solid #ddd;
    word-wrap: break-word;
    overflow: hidden;
    padding: 5px 0px;
  }

  #recruitment .s3 dl dt{
    width: 100%;
    font-weight: 700;
    font-size: 14px;
  }

  #recruitment .s3 dl dd{
    width: 100%;
  }

  #recruitment .img-hldr{
    height: 300px;
    width: 100%;
    position: relative;
    overflow: hidden;
  }

  #recruitment .img-hldr img{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  /*
  archive
  --------------------------------------------- */

  #arch .side{
    width: 100%;
  }

  #arch .arch{
    width: 100%;
  }

  #arch .arch .topics li {
    padding: 20px 0px;
    border-bottom: 1px solid #ddd;
  }
  #arch .arch .img-hldr {
    width: 60px;
    height: 60px;
    overflow: hidden;
    border-radius: 3px;
  }
  #arch .arch .img-hldr img {
    width: auto;
    max-width: 9999px;
    height: 100%;
  }
  #arch .arch .text {
    width: calc(100% - 60px);
    padding-left: 20px;
    position: relative;
  }
  #arch .arch .text p {
    margin-bottom: 0px;
  }
  #arch .arch .text a {
    text-decoration: none;
  }
  #arch .arch .text .title {
    color: #a61c1c;
    font-weight: 700;
  }
  #arch .arch .text:after {
    font-size: 30px;
    content: '\f3d1';
    font-family: 'IonIcons';
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -15px;
    color: #b42222;
    transition: all 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  #arch .arch .text:hover:after {
    right: 0px;
  }
  #arch .arch .cats a {
    font-size: 10px;
    color: #999;
    border: 1px solid #999;
    display: inline-block;
    padding: 0px 5px;
    border-radius: 5px;
    font-weight: 700;
    margin-right: 5px;
  }

  /*
  information
  --------------------------------------------- */

  #information .side{
    width: 250px;
  }

  #information .arch{
    width: calc(100% - 300px);
  }

  #information .arch .topics li {
    padding: 20px 0px;
    border-bottom: 1px solid #ddd;
  }
  #information .arch .img-hldr {
    width: 120px;
    height: 120px;
    overflow: hidden;
    border-radius: 3px;
  }
  #information .arch .img-hldr img {
    width: auto;
    max-width: 9999px;
    height: 100%;
  }
  #information .arch .text {
    width: calc(100% - 120px);
    padding-left: 20px;
    position: relative;
  }
  #information .arch .text p {
    margin-bottom: 0px;
  }
  #information .arch .text a {
    text-decoration: none;
  }
  #information .arch .text .title {
    color: #a61c1c;
    font-weight: 700;
  }
  #information .arch .text:after {
    font-size: 30px;
    content: '\f3d1';
    font-family: 'IonIcons';
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -15px;
    color: #b42222;
    transition: all 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  #information .arch .text:hover:after {
    right: 0px;
  }
  #information .arch .cats a {
    font-size: 10px;
    color: #999;
    border: 1px solid #999;
    display: inline-block;
    padding: 0px 5px;
    border-radius: 5px;
    font-weight: 700;
    margin-right: 5px;
  }

  /*
  single
  --------------------------------------------- */

  #single .side{
    width: 100%;
  }
  #single .arch{
    padding: 0px !important;
    width: 100%;
    margin-bottom: -30px !important;
  }
  #single .arch .topics li {
    padding: 20px 0px;
    border-bottom: 1px solid #ddd;
  }
  #single .arch .text {
    width: calc(100% - 120px);
    padding-left: 20px;
    position: relative;
  }
  #single .arch .text p {
    margin-bottom: 0px;
  }
  #single .arch .text a {
    text-decoration: none;
  }
  #single .arch .text .title {
    color: #a61c1c;
    font-weight: 700;
  }
  #single .arch .text:after {
    font-size: 30px;
    content: '\f3d1';
    font-family: 'IonIcons';
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -15px;
    color: #b42222;
    transition: all 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  #single .arch .text:hover:after {
    right: 0px;
  }
  #single .arch .cats a {
    font-size: 10px;
    color: #999;
    border: 1px solid #999;
    display: inline-block;
    padding: 0px 5px;
    border-radius: 3px;
    font-weight: 700;
    margin-right: 5px;
    text-decoration: none !important;
    line-height: 1.5;
  }
  #single .arch .meta{
    padding: 20px;
    border-bottom: 1px dashed #999;
  }
  #single .arch .title{
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
  }
  #single .arch .date{
    font-size: 14px;
    font-weight: normal;
    margin-bottom: 5px;
  }
  #single .arch .content{
    padding: 20px;
  }

  /*
  recruit
  --------------------------------------------- */
  #recruit .s1 .pull-top{
    padding: 0px !important;
  }

  #recruit .btn-grp li{
    width: 50%;
  }

  #recruit .btn-grp li a{
    display: block;
    color: #b42222;
    background: #fff;
    font-weight: 700;
    text-align: center;
    line-height: 70px;
    vertical-align: middle;
    font-size: 16px;
    text-decoration: none;
  }

  #recruit .btn-grp li a.active{
    background: #b42222;
    color: #fff;
  }

  #recruit .btn-grp li a:hover{
    background: #d83131;
    color: #FFF;
  }

  #recruit .mv-hldr{
    height: 400px;
    width: 100%;
    overflow: hidden;
    display: block;
    position: relative;
  }

  #recruit .mv-hldr img{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
  }

  #recruit .mv-hldr .txt{
    z-index: 99;
    width: 90%;
    color: #fff;
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  #recruit .mv-hldr .designer{
    font-size: 20px;
    margin-bottom: 30px;
    font-weight: 700;
  }

  #recruit .mv-hldr .name{
    font-size: 16px;
  }

  #recruit .more-inner{
    width: 90%;
    margin: 0 auto;
  }

  /*#recruit .tit{
    background: #b42222;
    color: #fff;
    line-height: 60px;
    border-left: 5px solid #d83131;
    font-size: 18px;
    font-weight: 700;
    padding-left: 30px;
    margin-bottom: 30px;
  }
*/
  #recruit .tit2{
    color: #b42222;
    border: 1px solid #b42222;
    line-height: 60px;
    border-left: 5px solid #b42222;
    font-size: 18px;
    font-weight: 700;
    padding-left: 30px;
    margin-bottom: 30px;
  }

  #recruit .subtit{
    font-size: 16px;
    font-weight: 700;
  }

  #recruit .staff li{
    width:calc(100%);
  }

  #recruit .staff li a{
    padding: 10px;
    text-decoration: none;
    color: rgb(51, 51, 51);
    border: 1px solid rgb(51, 51, 51);
    border-bottom-width: 5px;
    margin-bottom: 10px !important;
  }

  #recruit .staff li a.active{
    border: 1px solid rgb(180, 34, 34);
    border-bottom-width: 5px;
  }

  #recruit .staff li .img-hldr{
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    width: 80px;
    height: 80px;
  }

  #recruit .staff li .img-hldr img{
    position: absolute;
  }

  #recruit .staff li .txt{
    width: calc(100% - 80px);
    padding-left: 20px;
  }

  #recruit .staff li .txt p{
    font-size: 13px;
    margin-bottom: 5px;
  }

  #recruit .staff li .txt .name{
    font-size: 18px;
  }

  #recruit .staff-box{
    display: none;
  }

  #recruit .staff-box.active{
    display: block;
  }

  #recruit .staff-cont .cont1 .flex{
    display: block !important;
  }

  #recruit .staff-cont .cont1 .img-hldr{
    position: relative;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
    margin-bottom: 10px;
  }

  #recruit .staff-cont .cont1{
    margin: 50px 0px;
  }

  #recruit .staff-cont .cont1 .txt{
    width: calc(100%);
  }

  #recruit .staff-cont .cont1 .txt h3{
    font-size: 16px;
    margin-bottom: 30px;
  }

  #recruit .staff-cont .cont1 .txt p{
    margin-bottom: 5px;
  }

  #recruit .staff-cont .cont3 .img-hldr{
    position: relative;
    width: 100px;
    height: 100px;
    overflow: hidden;
  }

  #recruit .staff-cont .cont3{
    margin: 50px 0px;
  }

  #recruit .staff-cont .cont3 .txt{
    width: calc(100% - 100px);
    padding-left: 30px;
  }

  #recruit .staff2 li{
    width:calc(100%);
  }

  #recruit .staff2 li a{
    align-items:center;
    padding: 10px;
    text-decoration: none;
    color: rgb(51, 51, 51);
    border: 1px solid rgb(204, 204, 204);
  }

  #recruit .staff2 li a.active{
    border: 1px solid rgb(180, 34, 34);
  }

  #recruit .staff2 li .img-hldr{
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    width: 60px;
    height: 60px;
  }

  #recruit .staff2 li .img-hldr img{
    position: absolute;
  }

  #recruit .staff2 li .txt{
    width: calc(100% - 60px);
    padding-left: 20px;
  }

  #recruit .staff2 li .txt p{
    margin-bottom: 5px;
  }

  #recruit .staff2 li .txt .name{
    font-size: 16px;
  }

  .row .q{
    color:#b42222;
    font-weight: 700;
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 40px;
  }

  .row .q:before{
    display: inline-block;
    vertical-align: middle;
    width: 40px;
    height: 2px;
    background: #b42222;
    content:"";
    position: relative;
    margin-right: 20px;
  }

  .row .a{
    margin-bottom: 60px;
  }

  /*
  career
  --------------------------------------------- */


  #career .s1 .pull-top{
    padding: 0px !important;
  }

  #career .btn-grp li{
    width: 50%;
  }

  #career .btn-grp li a{
    display: block;
    color: #b42222;
    background: #fff;
    font-weight: 700;
    text-align: center;
    line-height: 70px;
    vertical-align: middle;
    font-size: 16px;
    text-decoration: none;
  }

  #career .btn-grp li a.active{
    background: #b42222;
    color: #fff;
  }

  #career .btn-grp li a:hover{
    background: #d83131;
    color: #FFF;
  }

  #career .mv-hldr{
    height: 400px;
    width: 100%;
    overflow: hidden;
    display: block;
    position: relative;
  }

  #career .mv-hldr img{
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
  }

  #career .mv-hldr .txt{
    z-index: 99;
    width: 90%;
    color: #fff;
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  #career .mv-hldr .designer{
    font-size: 20px;
    margin-bottom: 30px;
    font-weight: 700;
  }

  #career .mv-hldr .name{
    font-size: 16px;
  }

  #career .more-inner{
    width: 90%;
    margin: 0 auto;
  }

  /*#career .tit{
    background: #b42222;
    color: #fff;
    line-height: 60px;
    border-left: 5px solid #d83131;
    font-size: 18px;
    font-weight: 700;
    padding-left: 30px;
    margin-bottom: 30px;
  }
*/
  #career .tit2{
    color: #b42222;
    border: 1px solid #b42222;
    line-height: 60px;
    border-left: 5px solid #b42222;
    font-size: 18px;
    font-weight: 700;
    padding-left: 30px;
    margin-bottom: 30px;
  }

  #career .subtit{
    font-size: 16px;
    font-weight: 700;
  }

  #career .staff li{
    width:calc(100%);
  }

  #career .staff li a{
    padding: 10px;
    text-decoration: none;
    color: rgb(51, 51, 51);
    border: 1px solid rgb(51, 51, 51);
    border-bottom-width: 5px;
    margin-bottom: 10px !important;
  }

  #career .staff li a.active{
    border: 1px solid rgb(180, 34, 34);
    border-bottom-width: 5px;
  }

  #career .staff li .img-hldr{
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    width: 80px;
    height: 80px;
  }

  #career .staff li .img-hldr img{
    position: absolute;
  }

  #career .staff li .txt{
    width: calc(100% - 80px);
    padding-left: 20px;
  }

  #career .staff li .txt p{
    font-size: 13px;
    margin-bottom: 5px;
  }

  #career .staff li .txt .name{
    font-size: 18px;
  }

  #career .staff-box{
    display: none;
  }

  #career .staff-box.active{
    display: block;
  }

  #career .staff-cont .cont1 .flex{
    display: block !important;
  }

  #career .staff-cont .cont1 .img-hldr{
    position: relative;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
    margin-bottom: 10px;
  }

  #career .staff-cont .cont1{
    margin: 50px 0px;
  }

  #career .staff-cont .cont1 .txt{
    width: calc(100%);
  }

  #career .staff-cont .cont1 .txt h3{
    font-size: 16px;
    margin-bottom: 30px;
  }

  #career .staff-cont .cont1 .txt p{
    margin-bottom: 5px;
  }

  #career .staff-cont .cont3 .img-hldr{
    position: relative;
    width: 100px;
    height: 100px;
    overflow: hidden;
  }

  #career .staff-cont .cont3{
    margin: 50px 0px;
  }

  #career .staff-cont .cont3 .txt{
    width: calc(100% - 100px);
    padding-left: 30px;
  }

  #career .staff2 li{
    width:calc(100%);
  }

  #career .staff2 li a{
    align-items:center;
    padding: 10px;
    text-decoration: none;
    color: rgb(51, 51, 51);
    border: 1px solid rgb(204, 204, 204);
  }

  #career .staff2 li a.active{
    border: 1px solid rgb(180, 34, 34);
  }

  #career .staff2 li .img-hldr{
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    width: 60px;
    height: 60px;
  }

  #career .staff2 li .img-hldr img{
    position: absolute;
  }

  #career .staff2 li .txt{
    width: calc(100% - 60px);
    padding-left: 20px;
  }

  #career .staff2 li .txt p{
    margin-bottom: 5px;
  }

  #career .staff2 li .txt .name{
    font-size: 16px;
  }


  /* section blog */
  .sec-blog .sec-head {
    margin-bottom: 50px;
  }
  .sec-blog .button {
    color: #fff !important;
    text-decoration: none !important;
    position: absolute;
    right: 20px;
    padding: 5px 10px;
    letter-spacing: 2px;
  }
  .sec-blog .inner-max {
    margin: 0 auto;
    display: block;
    position: relative;
  }
  .sec-blog .flex {
    flex-flow: row wrap;
    justify-content: space-between;
  }
  .sec-blog .flex > li, .sec-blog .flex .slick-slide {
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 3px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    width: calc(100%);
    overflow: hidden;
    border-color: #eee;
  }
  .sec-blog .flex li a {
    display: block;
  }
  .sec-blog .flex li .img-hldr {
    overflow: hidden;
    background-size: cover;
    padding-top: 60%;
  }
  .sec-blog .flex li .panel {
    padding: 20px;
    background: #fff;
  }
  .sec-blog .flex li .title {
    text-decoration: none;
    color: #a61c1c !important;
    font-weight: 700;
    margin-bottom: 10px;
  }
  .sec-blog .flex li .date {
    display: block;
    color: #333333;
    margin-bottom: 10px;
  }
  .sec-blog .flex li .cats a {
    text-decoration: none;
    font-size: 10px;
    color: #999;
    border: 1px solid #999;
    display: inline-block;
    padding: 0px 5px;
    border-radius: 5px;
    font-weight: 700;
    margin-right: 5px;
  }
  .sec-blog .flex li .cats a:hover {
    background: #999;
    color: #fff;
  }
  .blogsp .slick-dots{
    margin-top: 20px;
  }
  .blogsp .slick-dots li button:before{
    font-size: 14px !important;
    line-height: 14px;
  }
  .blogsp .slick-dots li.slick-active button:before{
    color:#a61c1c !important;
    opacity: 1;
  }
  .menubar-aside{
    position: fixed;
    top:0;
    right: -250px;
    width: 250px;
    background: #000;
    height: 100%;
    transition:all 0.5s ease-in-out;
    padding: 20px;
    padding-top: 50px;
  }
  .menu-on .menubar-aside{
    right: 0px;
  }
  .menu-on .menu-box{
    transform: translateX(250px);
  }
  .menubar-aside li{
    direction: block;
    margin-bottom: 10px;
  }
  .menubar-aside li ul{
    padding-left: 20px;
  }
  .menubar-aside li a{
    color: #fff;
    font-size: 14px;
    padding: 3px;
    text-decoration: none !important;
  }
  .menubar-aside li a:before{
    font-size: 14px;
    content: '\f3d1';
    font-family: 'IonIcons';
    margin-right: 10px;
    color: #fff;
  }
  .menu-on .wrapper{
    transform: translateX(-250px);
    position: fixed;
  }
  /*.cell.is-empty {
    height: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
    box-shadow: none !important;
    border: 0px !important;
  }*/
  .sec-conts {
    position: relative;
  }
  .sec-conts .flex2 .banner-hldr {
    width: calc(100%);
    text-decoration: none;
  }
  .sec-conts .flex3 .banner-hldr {
    width: calc(100%/3);
  }
  .sec-conts .flex2 .banner:after{
    position: absolute;
    z-index: 2;
    background: rgba(0, 0, 0, 0.4);
    width: 100%;
    height: 100%;
    left: 0px;
    top:0px;
    content:"";
  }
  .sec-conts .banner-hldr {
    position: relative;
    width: 50%;
    overflow: hidden;
    text-align: center;
  }
  .sec-conts .banner {
    width: 100%;
    padding-bottom: 60%;
    /* 16:9 */
    position: relative;
  }
  .sec-conts .banner .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all 400ms cubic-bezier(0.19, 1, 0.22, 1);
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  .sec-conts .banner:hover .bg {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .sec-conts .banner .inside {
    color: #fff;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    padding: 10% 30px;
    text-decoration: none;
  }
  .sec-conts .banner .inside .title {
    font-size: 16px;
    font-weight: 700;
    position: relative;
  }
  .sec-conts .banner .inside .title:after {
    display: block;
    margin: 20px auto 10px auto;
    width: 40px;
    height: 1px;
    background: #fff;
    content: "";
  }
  .sec-conts .banner .inside .desc {
    font-size: 13px;
  }
  .btn-6 {
    padding: 50px;
    position: absolute;
    width: calc(100% - 50px);
    height: calc(100% - 50px);
    top: 25px;
    left: 25px;
    z-index: 99;
  }
  .btn-6::before,
  .btn-6::after {
    content: "";
    width: 0;
    height: 5px;
    position: absolute;
    transition: all 0.2s linear;
    background: #fff;
  }
  .btn-6 span::before,
  .btn-6 span::after {
    content: "";
    width: 5px;
    height: 0;
    position: absolute;
    transition: all 0.2s linear;
    background: #fff;
  }
  .banner-hldr:hover .btn-6::before,
  .banner-hldr:hover .btn-6::after {
    width: 100%;
  }
  .banner-hldr:hover .btn-6 span::before,
  .banner-hldr:hover .btn-6 span::after {
    height: 100%;
  }
  .btn-6::before {
    left: 0%;
    top: 0;
    transition-duration: 0.4s;
  }
  .banner-hldr:hover .btn-6::before {
    left: 0;
  }
  .btn-6::after {
    right: 0%;
    bottom: 0;
    transition-duration: 0.4s;
  }
  .banner-hldr:hover .btn-6::after {
    right: 0;
  }
  .btn-6 span::before {
    left: 0;
    bottom: 0%;
    transition-duration: 0.4s;
  }
  .banner-hldr:hover .btn-6 span::before {
    bottom: 0;
  }
  .btn-6 span::after {
    right: 0;
    top: 0%;
    transition-duration: 0.4s;
  }
  .banner-hldr:hover .btn-6 span::after {
    top: 0;
  }

  .cl-black p {
      color: #000 !important;
  }
  .sub {
      font-weight: 700;
      font-size: 16px;
  }

  /*short term*/

  #short-term .flex .txt{
    width: 70%;
  }

  #short-term .flex .img-hldr{
    width: 30%;
  }

  #short-term .plan-tit{
    background: #00bcd4;
    padding: 0px 10px;
    color: #fff;
    font-size: 22px;
    display: inline-block;
    margin-bottom: 0px !important;
  }

  #short-term .plan-txt{
   /* background-image:url('../images/contact/Picture2.png');
    background-repeat: repeat;*/
    background:#d2e9fb;
    padding: 20px;
    margin: 0 auto;
    width: 100%;
  }

  #short-term .center{
    text-align: center;
  }

  #short-term .s1 table{
    table-layout: fixed;
    width: 100%;
  }
  #short-term .s1 table tr td{
    font-size: 11px;
    font-weight: 700;
  }
  #short-term .s1 table tr td:nth-child(1){
    width: 50%;
  }
  #short-term .s1 table tr td:nth-child(2){
    width: 50%;
  }
  #short-term form table tr td{
    width: 100% !important;
    display: block;
    padding: 5px;
  }

  #short-term form table tr th{
    width: 100%;
    display: block;
    padding: 5px;
  }

  #short-term .cols{
    display: block;
  }

  #short-term .cols input[type="text"]:last-child{
    margin-right: 10px;
  }

  /*#short-term .cols{
    width: calc(100%/2);
  }*/
  #short-term .smb-bx{
    width: calc(100%/5);
  }

 /*--------Contact-----------*/

  #short-term form table{
    border-bottom: 1px solid #ddd;
    position: relative;
    width: 100%;
    height: auto;
    border-collapse: collapse;
  }

  #short-term .s1 .pull-top, #contact .s1 .pull-top, #reorder .s1 .pull-top{
    padding: 15px 20px !important;
  }

  /*#contact .s1 .pull-top .tit{
      background: #b42222;
      color: #fff;
      line-height: 60px;
      border-left: 5px solid #d83131;
      font-size: 18px;
      font-weight: 700;
      padding-left: 30px;
      margin-bottom: 30px;
  }*/

  #short-term .thb{
    min-width: 60px;
    display: inline-block;
  }
  #short-term .ths{
    min-width: 30px;
    display: inline-block;
  }

  #contact table, #reorder table{
    width: 100%;
  }

  #short-term table tr, #contact table tr, #reorder table tr{
    border-bottom: 1px solid #ddd;
    position: relative;
    width: 100%;
    height: auto;
    border-collapse: collapse;
  }

  #contact table th, #reorder table th{
    font-weight: 700;
    width:100%;
    vertical-align: top;
  }

  #contact table th, #contact table td, #reorder table th, #reorder table td{
    padding: 10px;
    width: 100%;
    display: block;
  }

  input[type="text"],input[type="email"]{
    line-height: 35px;
    font-size: 16px;
    box-shadow: none;
    padding: 3px;
    -webkit-appearance: none;
    border: 1px solid #787878;
    /*margin: 0px 10px;*/
    background: #f1f1f1;
    width: 100%;
  }

  input[type="text"]:focus,input[type="email"]:focus{
    background: #dcfcd7;
  }

  .phone1 input[type="text"], .phone2 input[type="text"],.phone3 input[type="text"]{
    width: 60px;
    margin: 0px 10px;
  }

  .dphone1 input[type="text"], .dphone2 input[type="text"],.dphone3 input[type="text"]{
    width: 60px;
    margin: 0px 10px;
  }


 input[type="submit"]{
    background: #b42222;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 20px 0px;
    display: block;
    margin:20px auto;
    max-width: 500px;
    width: 100%;
    margin-bottom: 30px;
    text-align: center;
    -webkit-appearance: none;
    border: 0px;
    border-radius: 2px;
  }

  input[type="submit"]:hover{
    background: #ff6a6a;
    cursor: pointer;
  }

  div.wpcf7-validation-errors, div.wpcf7-acceptance-missing{
    background: yellow;
  }

  div.wpcf7-mail-sent-ok{
    background: green;
  }

  .wpcf7-list-item{
    display: block !important;
  }

  .no-border{
    border-bottom: 0px !important;
  }

  textarea{
    width: 100%;
    font-size: 16px;
    line-height: 20px;
    border:2px solid #ccc;
  }

  .policy{
    resize: none;
    height: 200px;
    overflow-y:scroll;
    width: 100%;
    margin:50px auto;
    border: 1px solid #ccc;
    padding: 20px;
    margin-bottom: 20px;
  }

  .policy h3{
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 30px;
  }

  .policy ol{
    padding-left: 30px;
    list-style: decimal;
    list-style-position: outside;
  }

  .policy ol p{
    margin-bottom: 0px;
  }

  .policy ol li,.policy ul li, #reorder form ul li{
    display: list-item;
    padding-left: 10px; 
  }

  .policy ol li{
    margin-bottom: 30px;
  }

  .policy ul, #reorder form ul{
    padding-left: 30px;
    list-style: disc;
  }

  #reorder form ul{
    margin: 20px 0px;
  }

  .p_confirm{
    text-align: center;
  }

  .bottles input[type="text"]{
    width: calc(100%/6);
  }

  form .note{
    font-size: 12px;
    display: block;
  }

   body form input[type="checkbox"], body form input[type="radio"], body .contact input[type="checkbox"], body .contact input[type="radio"] {
       display: none;
  }
   body form input[type="checkbox"] + span, body form input[type="radio"] + span, body .contact input[type="checkbox"] + span, body .contact input[type="radio"] + span {
       margin-right: 20px;
       margin-bottom: 1em;
       padding-left: 35px;
       display: inline-block;
       position: relative;
       z-index: 1;
       cursor: pointer;
  }
   body form input[type="checkbox"] + span:before, body form input[type="radio"] + span:before, body .contact input[type="checkbox"] + span:before, body .contact input[type="radio"] + span:before {
       content: "";
       width: 20px;
       height: 20px;
       margin-top: -10px;
       border: #d7d7d7 1px solid;
       background: #fff;
       display: block;
       position: absolute;
       z-index: 1;
       top: 50%;
       left: 0;
       box-sizing: border-box;
  }
   body form input[type="checkbox"] + span:after, body form input[type="radio"] + span:after, body .contact input[type="checkbox"] + span:after, body .contact input[type="radio"] + span:after {
       content: "";
       display: block;
       position: absolute;
       top: 50%;
       z-index: 1;
       box-sizing: border-box;
  }
   body form input[type="radio"] + span:before, body .contact input[type="radio"] + span:before {
       border-radius: 100%;
  }
   body form input[type="checkbox"]:checked + span:after, body .contact input[type="checkbox"]:checked + span:after {
       content: "\2713";
       font-size: 2.1rem;
       color: red;
       top: -.25em;
       left: -.1em;
       speak: none;
       font-style: normal;
       font-weight: normal;
       font-variant: normal;
       text-transform: none;
       line-height: 1;
       -webkit-font-smoothing: antialiased;
       -moz-osx-font-smoothing: grayscale;
  }
   body form input[type="radio"]:checked + span:after, body .contact input[type="radio"]:checked + span:after {
       width: 12px;
       height: 12px;
       margin: -6px 0 0 0;
       background: red;
       left: 4px;
       border-radius: 100%;
  }
  .req{
    display: inline-block;
    padding: 0px 5px;
    color: #fff;
    background: red;
    position: relative;
    margin-right: 10px;
  }

  div.wpcf7-mail-sent-ok{
    background: #a8e8a8;
    border: 2px solid #a8e8a8 !important;
  }
  #index .sec-conts .boxin{
    padding-top: 0px !important;
  }
}
@media (max-width:480px){
  .sec-conts .banner {
    width: 100%;
    padding-bottom: 90%;
    /* 16:9 */
    position: relative;
  }
  .pc-only{
    display: none;
  }
  .sp-only{
    display: block;
  }

}


