﻿h3 { font-weight: bold; font-size:200%; text-align: center; margin: 0 auto 100px;
  position: relative;
  padding: 0.25em 0;
  border-top: solid 2px #999;
  border-bottom: solid 2px #999;
  width: 50%;
}
h3:before, h3:after {
  content: '';
  position: absolute;
  top: -7px;
  width: 2px;
  height: -webkit-calc(100% + 14px);
  height: calc(100% + 14px);
  background-color: #999;
}
h3:before { left: 7px; }
h3:after { right: 7px; }

h2 { padding:200px 0 140px; text-align: center; font-size:200%; font-weight: bold; color:#fff; }
.h2_img{ background-image: url(../imgs/topimg02.jpg);}
.fixed-bg { background-attachment: fixed; background-size: cover; background-position: center;}
#jsPoint { margin: 0; padding: 0;}

#gallery { max-width: 1200px; margin:0 auto; padding:0 0.1%; }

.waku100 { padding:50px 0; max-width: 1000px; margin: 0 auto; }

.gallery-item {
  width: 100%;
  max-width: 24.8%;
  margin: 0 0.1% 0.2% 0.1%;
　padding:10px;
  position: relative;
  float: left;
}
.gallery-item::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.gallery-item a{ }
.gallery-item img {
  width: 100%;
  height: 100%;
  position: absolute;
  top:0%;
  object-fit: cover;
}

#mailform {  }
#mailform .oder_p {text-align: center; margin: 0 0 80px; font-size:90%;}

#mailform .mail_dl {margin:0 auto 30px; border-bottom: 1px solid #999;}
#mailform .mail_dl dt { float: left; padding:20px 0 0 10px; }
#mailform .mail_dl dt span { font-size:70%; }
#mailform .mail_dl dd { width: 100%; padding:20px 10px 30px 20%; border-top: 1px solid #999;}
#mailform .mail_dl dd p { text-align: center; font-size:80%; margin:20px 0 20px;}
#mailform input[type="file"],#mailform input[type="mail"],#mailform input[type="tel"],#mailform input[type="text"],#mailform textarea{ width:100%!important; margin:0 0 5px; border: 2px solid #ccc;
		border-radius: 4px;            /* CSS3草案 */  
		-webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
		-moz-border-radius: 4px;       /* Firefox用 */
}
#mailform input[type="submit"]{ padding: 10px 60px; margin: 0 auto; border: 2px solid #ccc; pointer-events : auto; cursor: pointer;
		border-radius: 4px;            /* CSS3草案 */  
		-webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
		-moz-border-radius: 4px;       /* Firefox用 */}
#mailform input[type="submit"]:disabled { pointer-events : none;}
#mailform dl dd span { display: block; min-height: 100px; float: left;}

.invisible { transition: opacity 0.5s ease; opacity: 0.0; }
.visible { transition: opacity 0.5s ease; opacity: 1.0; }

.f_menu { max-width: 960px; margin: 0 auto 80px;}
.f_menu li { float: left; border-right: 1px solid #999; width: 20%;padding:10px 0; text-align: center;position:  relative;}
.f_menu li:first-child {border-left: 1px solid #999;}
.f_menu .linkbtn span {
	display: inline-block;
	position: absolute;
    top:0;left:0;
	width:100%; font-size:80%;
}
.f_menu .linkbtn span:nth-child(1) { background: #FFF; color: #000;font-size:70%; font-weight: bold; }
.f_menu .linkbtn span:nth-child(2) { background: #FFF; color: #999; }
.f_menu .linkbtn:hover span:nth-child(2) { display: none; }

.privacy_p { line-height: 180%; margin: 0 0 30px; }
.privacy_dl { line-height: 180%; }
.privacy_dl dt { font-weight: bold; margin: 0 0 10px;}
.privacy_dl dd { margin: 0 0 20px 20px;}
.privacy_dl dd ul {list-style-type: decimal; margin: 0 0 0 40px; font-size:90%;line-height: 160%;}
.privacy_dl dd ul li { margin: 0 0 6px;}

.company {  margin: 0 0 30px;border-bottom:1px solid #999;}
.company dt { float: left; padding:30px 0 0 10px;}
.company dd { width: 100%; padding:30px 10px 30px 20%; border-top: 1px solid #999;}
.company dd ul li { margin: 0 0 6px; }
.company dd dl dt { font-weight: bold; width: 100%; float: none; padding: 0 0 6px;}
.company dd dl dt span { font-weight: normal;}
.company dd dl dd { width: 100%; margin: 0 0 8px; padding: 0 0 20px 20px; }

/* https://kodocode.net/design-css-radiobutton/ */
.radio-tile-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
    border: 0;
    margin: 0;
}
.radio-tile-group .input-container {
    position: relative;
    margin: 15px;
}
.radio-tile-group .input-container img { max-width: 200px; margin: 0 0 15px;}
.radio-tile-group .radio-button {
      opacity: 0;
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      margin: 0;
      cursor: pointer;
    }
    .radio-tile {
      justify-content: center;
      width: 100%;
      height: 100%;
  display: table-cell;
  vertical-align: middle;
      border: 2px solid #ccc;
      border-radius: 5px;
      transition: transform 300ms ease;
      margin: 0 auto;
    }
    .radio-tile-label {
      text-align: center;
      font-size: 100%;
  display: table-cell;
  vertical-align: middle;
      width: 110px;
      height: 110px;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: #ccc;
              border: 1px solid #ccc;
      margin: 0 auto;
    }
    .radio-tile-label2 {
      text-align: center;
      font-size: 100%;
  display: table-cell;
  vertical-align: middle;
      width: 200px;
      height:55px;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: #ccc;
              border: 1px solid #ccc;
        margin: 0 auto;
    }
    .radio-button:checked + .radio-tile {
      background-color: #CCC;
      border: 2px solid #ccc;
      color: #333;
      font-weight: 600;
      transform: scale(1.2, 1.2);
    }
    .radio-button:checked + .radio-tile .icon svg {
        fill: white;
        background-color: #CCC;
      }
    .radio-button:checked + .radio-tile .radio-tile-label {
        color: #333;
        background-color: #CCC;
      }
    .radio-button:checked + .radio-tile .radio-tile-label2 {
        color: #333;
        background-color: #CCC;
      }

.shape1 { background-image: url(../imgs/fimgs/shape1.jpg)}


.radio-group { display: flex; flex-wrap: wrap; justify-content: center; align-items: center;}
.radio-group input { display: none;}
.radio-group .radio-label {
    padding: 25px 0 0!important;
    margin: 15px;
    color:#ccc;
    text-align: center;
    vertical-align: middle!important;
    display: table-cell!important;
    align-items: center;
    width: 140px;
    height: 80px;
    font-size: 100%!important;
    border: 2px solid #ccc;
    border-radius: 5px;
    letter-spacing: 1px;
    transition: transform 300ms ease;
    }

.radio-group .radio-label::before,
.radio-group .radio-label::after{ opacity: 0; display: none;}
.radio-group input[type="radio"]:checked + label {
    background: #ccc;
    font-weight: 600;
    color: #333;
    transform: scale(1.2, 1.2);
    }
.tab-box {display:inline-block; width: 100%;}
.tab-box li {
  height: 0;
  box-sizing: border-box;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.7s;
}
#tab1:checked ~ .tab-box #tab-content1,
#tab2:checked ~ .tab-box #tab-content2,
#tab3:checked ~ .tab-box #tab-content3,
#tab4:checked ~ .tab-box #tab-content4
 {
  width: 100%;
  height: auto;
  opacity: 1;
  padding: 10px 0;
}
#tab1:checked ~ .tab-box #tab-content1 input,
#tab2:checked ~ .tab-box #tab-content2 input,
#tab3:checked ~ .tab-box #tab-content3 input,
#tab4:checked ~ .tab-box #tab-content4 input { display: block; }
 
#tab-content1 h5 { margin: 0 0 10px; padding: 20px 0 8px; border-bottom:1px solid #999;}
#tab-content1 .tab-box-dl { width: 100%; border:none!important;}
#tab-content1 .tab-box-dl dt { width: 100%; margin: 0 0 20px; padding: 8px 0; border-bottom:1px solid #999; }
#tab-content1 .tab-box-dl dd { width: 100%; float: none;padding: 0; margin: 20px 0; border-top: none!important;}

/*チェックボックス*/
#mailform input[type="radio"],
#mailform input[type="checkbox"] {
    display: inline-block;
    margin-right: 6px;
}
#mailform input[type="radio"] + label,
#mailform input[type="checkbox"] + label {
    position: relative;
    display: inline-block;
    font-size: 13px;
    line-height: 150%;
    cursor: pointer;
}
#mailform input[type="radio"],
#mailform input[type="checkbox"] { display: none; margin: 0; }
#mailform input[type="radio"] + label,
#mailform input[type="checkbox"] + label { padding: 0 0 0 35px;}
#mailform input[type="radio"] + label::before,
#mailform input[type="checkbox"] + label::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 5px;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        width: 24px;
        height: 24px;
        margin-top: -22px;
        background: #FFF;
    }
#mailform input[type="radio"] + label::before {
        border: 2px solid #ccc;
        border-radius: 42px;
    }
#mailform input[type="checkbox"] + label::before {
        border: 2px solid #ccc!important;
		border-radius: 4px!important;            /* CSS3草案 */  
		-webkit-border-radius: 4px!important;    /* Safari,Google Chrome用 */  
		-moz-border-radius: 4px!important;       /* Firefox用 */
    }
#mailform input[type="radio"]:checked + label::after,
#mailform input[type="checkbox"]:checked + label::after {
        content: "";
        position: absolute;
        top: 50%;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
    }
#mailform input[type="radio"]:checked + label::after {
        left: 14px; 
        width: 16px;
        height:16px;
        margin-top: -8px;  
        background: #000;
        border-radius:16px;
    }
#mailform input[type="checkbox"]:checked + label::after {
        left: 9px;
        width: 22px;
        height: 9px;
        margin-top: -20px;
        border-left: 4px solid #000;
        border-bottom: 4px solid #000;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

/*チェックボックス*/
.mail_dl dd input[type="checkbox"] {
    display: inline-block;
    margin-right: 6px;
}
.mail_dl dd input[type="checkbox"] + label {
    position: relative;
    display: inline-block;
    font-size: 13px;
    line-height: 150%;
    cursor: pointer;
}
.mail_dl dd input[type="checkbox"] { display: none!important; margin: 0; }
.mail_dl dd input[type="checkbox"] + label { padding: 0 0 0 35px;}
.mail_dl dd input[type="checkbox"] + label::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 5px;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        width: 24px;
        height: 24px;
        margin-top: -22px;
        background: #FFF;
    }
.mail_dl dd input[type="checkbox"] + label::before {
        border: 2px solid #ccc;
		border-radius: 4px;            /* CSS3草案 */  
		-webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
		-moz-border-radius: 4px;       /* Firefox用 */
    }
.mail_dl dd input[type="checkbox"]:checked + label::after {
        content: "";
        position: absolute;
        top: 50%;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
    }
.mail_dl dd input[type="checkbox"]:checked + label::after {
        left: 9px;
        width: 22px;
        height: 9px;
        margin-top: -20px;
        border-left: 4px solid #000;
        border-bottom: 4px solid #000;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }


.mail_a { padding: 0 30px; margin: 0 auto 40px; font-size:80%;}

header{width:100%;height:60px;position:fixed;top:0;z-index:1002;box-sizing:border-box;transition:all 300ms ease-out;}
header .head_wrap{width:calc(100% - 60px);height:60px; text-align: right; display:table;margin:10px 0 0 60px;position:absolute;top:0;z-index:1020; color:#FFFFFF; font-weight: 400; padding:5px 20px 0;}
header .head_wrap a { color:#FFFFFF; font-size:140%; display: none;}
.toggled header .head_wrap a { display: block; font-weight: bold;}
header .head_wrap .head_logo{display:table-cell;vertical-align:middle;}
header .head_wrap .head_logo a{width:119px;height:38px;display:block;vertical-align:middle;}

.head_logo a svg{stroke-width:0;fill:#fff;stroke:#fff;-webkit-transition:all 200ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 200ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}
.js-head .head_logo a svg{stroke-width:0;fill:#a20222;stroke:#a20222;}
.toggled .js-head .head_logo a svg{stroke-width:0;fill:#fff;stroke:#fff;-webkit-transition:all 200ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 200ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}
header .head_ui{background-color:rgba(255,255,255,1);width:60px;height:60px;display:table;position:fixed;top:0;}
header .lang{background-color:rgba(255,255,255,1);width:80px;height:60px;position:fixed;top:0;right:0;z-index:1020;-webkit-transition:all 500ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 500ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}
header .lang ul{width:100%;height:30px;text-align:center;position:absolute;top:32px;}
header .lang li{display:inline-block;}
header .lang li span{color:#a20222;font-size:140%;font-weight:700;line-height:30px;padding:0 2px;opacity:0.5;text-decoration:none;-webkit-transition:all 450ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 450ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}
header .lang li a:hover{text-decoration:none;}
header .lang li span.active{opacity:1.0;}
header .lang li span:hover{opacity:1.0;}
.toggled header .lang{background-color:rgba(255,255,255,0);-webkit-transition:all 400ms 250ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 400ms 250ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}
.toggled header .lang p,
.toggled header .lang li span{color:#fff;-webkit-transition:all 200ms 250ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 200ms 250ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}
header.js-head{background:rgba(255,255,255,.8);}
header.js-head .toggle,
header.js-head .lang{background:transparent;}
header.js-head a{ display: block; color:#333; font-weight: bold;}
header nav{text-align:center;}
header nav li{display:inline-block;}
header nav li a{color:#FFFFFF;width:80px;height:60px;display:table-cell;vertical-align:middle;}
.navigation{width:100%;height:100%;position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;visibility:hidden;z-index:1003;-webkit-transform:scale(0.75,0.75);transform:scale(0.75,0.75);-webkit-font-smoothing:antialiased;font-smoothing:antialiased;-webkit-transition:all 800ms cubic-bezier(0.075,0.82,0.165,1);transition:all 800ms cubic-bezier(0.075,0.82,0.165,1);}
.nav_bg{background:rgba(0,0,0, 0.9);display:inline-block;overflow:hidden;z-index:1000;position:fixed;top:0;right:0;bottom:0;left:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;}
.toggled .navigation{opacity:1;visibility:visible;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:all .3s 0s cubic-bezier(0.130, 0.020, 1.000, 0.100);transition:all .3s 0s cubic-bezier(0.130, 0.020, 1.000, 0.100);}
.toggled .nav_bg{-webkit-transition:all .3s 0s cubic-bezier(0.130, 0.020, 1.000, 0.100);transition:all .3s 0s cubic-bezier(0.130, 0.020, 1.000, 0.100);}
.navigation nav{text-align:center;display:table;width:100%;height:100%;position:relative;padding-top:60px;box-sizing:border-box;z-index:1002;}
.navigation nav:after{background-image:url("../imgs/nav_bg1.jpg");background-repeat:no-repeat;background-position:50% 50%;background-size:cover;content:"";display:block;width:100%;height:100%;position:absolute;top:0;opacity:0;z-index:1001;-webkit-transition:all 300ms 100ms ease;transition:all 300ms 100ms ease;}
.navigation nav.back_img1:after{background-image:url("../imgs/nav-bg01.jpg");}
.navigation nav.back_img2:after{background-image:url("../imgs/nav-bg02.jpg");}
.navigation nav.back_img3:after{background-image:url("../imgs/nav-bg03.jpg");}
.navigation nav.back_img4:after{background-image:url("../imgs/nav-bg04.jpg");}
.navigation nav.back_img5:after{background-image:url("../imgs/nav-bg05.jpg");}
.navigation nav.back_img6:after{background-image:url("../imgs/nav-bg06.jpg");}
.navigation ul{width:100%;height:100%;opacity:0;display:table-row;position:relative;z-index:1002;}
.navigation nav ul li{width:33.333%;height:33.4%;float:left;display:inline-block;position:relative;border-top:1px solid rgba(255,255,255,.15);border-right:1px solid rgba(255,255,255,.15);box-sizing:border-box;z-index:1003;}
.navigation nav ul .nav3,
.navigation nav ul .nav6,
.navigation nav ul .nav9{border-right:0;}
.navigation nav ul li p{opacity:0;-webkit-transform:translateX(-8px);transform:translateX(-8px);-webkit-transition:all 300ms ease;transition:all 300ms ease;}
.toggled .navigation nav:after{opacity:1;-webkit-transition:all 600ms 400ms ease;transition:all 600ms 400ms ease;}
.toggled .navigation nav ul{opacity:1;-webkit-transition:all .4s cubic-bezier(0.065, 0.415, 0.220, 1);transition:all .4s cubic-bezier(0.065, 0.415, 0.220, 1);}
.toggled .navigation nav ul li p{opacity:.9;-webkit-transform:translateX(0px);transform:translateX(0px);-webkit-transition:all 400ms 600ms ease;transition:all 400ms 600ms ease;}
.navigation li a{font-size:100%;color:#FFF;font-weight:2100;width:100%;height:100%;text-align:center;display:table;-webkit-transition:all 500ms cubic-bezier(0.380, 0.005, 1.000, 0.850);transition:all 500ms cubic-bezier(0.380, 0.005, 1.000, 0.850);}
.navigation li a:hover{background:rgba(162,2,34,.4);-webkit-transition:all 400ms ease;transition:all 400ms ease;}
.navigation nav ul li a .nav_inner{padding:0 20px;vertical-align:middle;display:table-cell;}
.navigation nav ul li a .nav_inner i {margin:0 0 10px; font-size:200%; }
.navigation li a:hover{text-decoration:none;}
.toggle{left:0;z-index:1020;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-webkit-transition:all 500ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 500ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}
.head_ui .head_ui_text{color:#333;width:100%;font-weight:600;font-size:10px;text-align:center;line-height:1;position:absolute;left:1px;top:41px;/*15px*/}
.toggle .head_ui .head_ui_text{-webkit-transition:all 200ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 200ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}
.toggled .head_ui .head_ui_text{color:#FFF;}
.toggle .head_ui_text:before{content:"MENU";display:block;}
.toggled .toggle .head_ui_text:before{content:"CLOSE";display:block;}
.toggled header .head_wrap a{ color:#FFF;}
.toggle .head_ui_wrap{width:30px;height:30px;position:absolute;top:10px;/*35px*/left:16px;}
.toggle .toggle_area{width:30px;height:30px;position:relative;}
.toggle span{background:#333;width:28px;height:2px;display:block;position:absolute;left:0;-webkit-transition:all .4s cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all .4s cubic-bezier(0.000, 0.605, 0.435, 1.000);}
.toggled .toggle span{background:#FFF;width:28px;height:2px;display:block;position:absolute;left:0;-webkit-transition:all .4s cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all .4s cubic-bezier(0.000, 0.605, 0.435, 1.000);}
.toggle .bar01{-webkit-transform:translateY(5px);transform:translateY(5px);}
.toggle .bar02{-webkit-transform:translateY(13px);transform:translateY(13px);}
.toggle .bar03{-webkit-transform:translateY(21px);transform:translateY(21px);}
.toggle:hover .bar01{-webkit-transform:translateY(0px);transform:translateY(0px);}
.toggle:hover .bar02{-webkit-transform:translateY(13px);transform:translateY(13px);}
.toggle:hover .bar03{-webkit-transform:translateY(26px);transform:translateY(26px);}
.toggled .toggle{background-color:rgba(255,255,255,0);-webkit-transition:all 400ms 250ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 400ms 250ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}

#copyright{color:#333;font-size:70%;line-height:1.6;clear:both;padding:20px 0;text-align:center;}

.kv_img01{background:url("../imgs/topimg-01.jpg") no-repeat 50% 50%;background-size:cover;}
.kv_img02{background:url("../imgs/topimg-02.jpg") no-repeat 50% 50%;background-size:cover;}
.kv_img03{background:url("../imgs/topimg-03.jpg") no-repeat 50% 50%;background-size:cover;}
.kv_img04{background:url("../imgs/topimg-04.jpg") no-repeat 50% 50%;background-size:cover;}
.kv_img05{background:url("../imgs/topimg-05.jpg") no-repeat 50% 50%;background-size:cover;}
.kv_img06{background:url("../imgs/topimg-06.jpg") no-repeat 50% 50%;background-size:cover;}

#main{height:auto;min-height:100%;overflow:hidden;position:relative;opacity:0;-webkit-transform:scale(0,0);transform:scale(0,0);transition:all 1s ease-out;}
.kv{width:100%;position:relative; text-align: center;}
.kv .kv_inner,.kv .kv_inner{width:100%;height:100%;display:table;position:relative;z-index:1002;text-align:center;}
.kv .kv_inner i{display:block;width:50px;height:50px;background:#ccc;position:absolute;}
.kv .kv_position{color:#fff; text-shadow: 1px 1px 5px #666, -1px 1px 5px #666, 1px -1px 5px #666, -1px -1px 5px #666; width:100%; margin: 50vh auto 0; transform: translateY(-50%); text-align: center;position:absolute;top:0;0;z-index:11; }
.kv .kv_logo { font-size:280%; font-weight: bold;}
.kv .kv_logo img{width:100%;}
.kv .kv_logo1{width:300px;height:300px;margin:-150px -150px 0 0;}

header .head_logo1{width:120px;}
header .head_logo1 .head_logo a{background:url("../imgs/head_logo1.png") no-repeat 50% 50%;background-size:cover;height:42px;}

/** https://www.nxworld.net/css-scroll-down-button.html  https://photopizza.design/css_prompt_scrolling/ **/
a.us {
  position: absolute;
  bottom: -20px;
  left: calc(50% - 24pt);
  z-index: 20;
  display: inline-block;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-decoration: none;
  padding-top: 70px;
  color:#004000;
  font-weight: 400;
}
a.us:hover { opacity: .5; color:#004000; }
a.us span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 2px solid #004000;
  border-bottom: 2px solid #004000;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 1.5s infinite;
  animation: sdb 1.5s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}

#page_title{width:100%;position:relative;}
.page_title_img_archival{background:url("../imgs/archival_bg.jpg") no-repeat 50% 50%;background-size:cover;}
.page_title_img_works{background:url("../imgs/works_bg.jpg") no-repeat 50% 50%;background-size:cover;}
.page_title_img_contact{background:url("../imgs/contact_bg.jpg") no-repeat 50% 50%;background-size:cover;}
.page_title_img_concept{background:url("../imgs/concept_bg.jpg") no-repeat 50% 50%;background-size:cover;}
.page_title_img_artscan{background:url("../imgs/artscan_bg.jpg") no-repeat 50% 50%;background-size:cover;}
.page_title_img_quality{background:url("../imgs/quality_bg.jpg") no-repeat 50% 50%;background-size:cover;}
.page_title_img_faq{background:url("../imgs/faq_bg.jpg") no-repeat 50% 50%;background-size:cover;}
.page_title_img_company{background:url("../imgs/company_bg.jpg") no-repeat 50% 50%;background-size:cover;}
.page_title_position{color:#fff;width:100%;margin:0 0 0 0;text-align:center;position:absolute;top:50%;right:0;z-index:11;}
.page_title_text{font-size:540%;letter-spacing:0.05em;line-height:1.0em;}
.page_title_copy{font-size:140%;margin-top:25px;line-height:1.5em;}
    

.sub_h2{margin-top:16px;line-height:1.0em;font-size:110%;}
.sub_copy{margin-top:46px;margin-bottom:56px;line-height:2.28em;}
.sub_copy_company{text-align:left;line-height:1.85em;}
.photo img{width:100%;}
.sub_copy_company_access{text-align:left;line-height:1.71em;margin-top:16px;}
.sub_copy_company_access:first-child{margin-top:40px;}
    
.red_bar:after{top:34px;}
.sub_h2{text-align:center;font-size:110%;margin-top:10px;}
.sub_copy{margin-top:10px;line-height:1.76em;}

.slider{height:600px;overflow:hidden;position:relative;max-width:1024px;margin:0 auto 56px;}
.slider ul{position:relative;width:100%;}
.slider li{position:absolute;top:0;left:0;width:100%;background:#f0f0f0;}
.slider li img{width:100%;}
.slider li .slider_text{width:100%;font-size:140%;line-height:1.85em;padding:20px;box-sizing:border-box;text-align:left;}
.concept_slider{background-color:#f0f0f0;padding-bottom:88px;}
.concept_slider .copy_area{padding-top:88px;padding-bottom:0;}
.concept_slider .copy3{position:relative;font-size:240%;margin-top:56px;margin-bottom:50px;font-weight:normal;letter-spacing:0.05em;line-height:1.0em;}
.concept_slider .copy3:before{content:"";background:#a20222;width:22px;height:2px;display:block;position:absolute;bottom:-24px;left:50%;margin-left:-11px;}
.concept_slider .copy_area_slider{padding-top:0;padding-bottom:0;}
.concept_slider .slider li{background:#fff;}
.btn_b a{background:#a20222;color:#fff;width:100%;height:100%;display:table;-webkit-transition:all 450ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 450ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}
.btn_b p{color:#fff;font-size:180%;font-weight:600;display:inline-block;vertical-align:middle;}
.btn_b .arrow{width:32px;height:24px;display:inline-block;float:right;position:relative;vertical-align:middle;}
.btn_b .arrow span[class*="bar"]{background-color:#fff;display:inline-block;position:absolute;-webkit-transition:all 450ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 450ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}
.btn_b .arrow .bar01{width:30px;height:2px;top:11px;left:0;}
.btn_b .arrow .bar02{width:10px;height:2px;top:8px;right:0;-webkit-transform:rotate(45deg);transform:rotate(45deg);}
.btn_b .arrow .bar03{width:10px;height:2px;right:0;bottom:8px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);}
.btn_b a:hover{background:#fff;color:#a20222;}
.btn_b a:hover p{color:#a20222;}
.btn_b a:hover .arrow span[class*="bar"]{background-color:#a20222;-webkit-transition:all 450ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 450ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}
.btn_b a:hover .arrow .bar01{width:40px;}
.btn_b a:hover .arrow .bar02,
.btn_b a:hover .arrow .bar03{right:-10px;}
.btn_b.sliderNaviLeft,.btn_b.sliderNaviRight{position:absolute;top:224px;width:64px;height:64px;}
.btn_b.sliderNaviRight{right:0;}
.btn_b.sliderNaviLeft a,.btn_b.sliderNaviRight a{opacity:0.8;}
.btn_b.sliderNaviLeft p,.btn_b.sliderNaviRight p{width:100%;text-align:center;font-size:140%;margin-top:5px;}
.btn_b.sliderNaviLeft .arrow{float:none;position:absolute;top:34px;right:18px;}
.btn_b.sliderNaviRight .arrow{float:none;position:absolute;top:34px;left:18px;}
.btn_b.sliderNaviLeft .arrow .bar01{left:auto;right:0;}
.btn_b.sliderNaviLeft .arrow .bar02{right:auto;left:0;top:auto;bottom:8px;}
.btn_b.sliderNaviLeft .arrow .bar03{right:auto;left:0;bottom:auto;top:8px;}
.btn_b.sliderNaviLeft a:hover .arrow .bar01,
.btn_b.sliderNaviRight a:hover .arrow .bar01{width:36px;}
.btn_b.sliderNaviLeft a:hover .arrow .bar02,
.btn_b.sliderNaviLeft a:hover .arrow .bar03{right:auto;left:-6px;}
.btn_b.sliderNaviRight a:hover .arrow .bar02,
.btn_b.sliderNaviRight a:hover .arrow .bar03{right:-6px;}
.sliderNaviPos{position:absolute;width:100%;bottom:0;margin:0;text-align:center;}
.sliderNaviPos a{margin:0 8px;content:"";display:inline-block;width:11px;height:11px;border:2px solid #262626;box-sizing:border-box;-webkit-transition:all 450ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 450ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}
.sliderNaviPos a:hover,.sliderNaviPos a.current{background:#a20222;border-color:#a20222;}

#modalBack{position:fixed;top:0;left:0;z-index:2000;height:100%;width:100%;background:rgba(0,0,0,0.8);padding:0 80px;box-sizing:border-box;visibility:hidden;opacity:0;-webkit-transition:all 450ms cubic-bezier(0.000, 0.605, 0.435, 1.000);transition:all 450ms cubic-bezier(0.000, 0.605, 0.435, 1.000);}
#modalBack.show{visibility:visible;opacity:1;}
#modalMain{background:#fff;margin:auto;max-width:888px;padding:40px;box-sizing:border-box;}
.modalRight{float:left;width:38.7%;padding-right:10px;box-sizing:border-box;}
.modalLeft{width:61.3%;margin-left:38.7%;letter-spacing:0.05em;text-align:center;}
.modalRight h3{font-size:200%;}
.modalRight h3 span{font-size:70%;}
.modalRight p{margin-top:40px;font-size:140%;line-height:1.875em;color:#9f9f9f;}
.modalLeft img{width:100%;}


#loading{position:fixed;background-color:#FFF;width:100%;height:100%;left:0;top:0;z-index:5000;}
#loader{left:0;right:0;top:0;bottom:0;margin:auto;position:fixed;width:100%;height:2px;background-color:#CCCCCC;z-index:5001;}
#loader span{left:0;top:0;bottom:0;margin:auto;position:fixed;display:block;width:0;height:2px;background-color:#000000;}


.cf{zoom:1;}
.cf:before,
.cf:after{display:table;content:" "}
.cf:after{clear:both;}
#KvFade{width:100%;height:100%;position:relative;}
#KvFade:before{content:"";width:100%;height:100%;display:block;box-sizing:border-box;position:absolute;top:0;z-index:10;}
#KvFade ul li{width:100%;overflow:hidden;position:absolute;left:0;top:0;}
#KvFade ul li div,
#KvFade ul li div.active{-webkit-animation-name:kvZoom;-webkit-animation-duration:40s;-moz-animation-name:kvZoom;-moz-animation-duration:40s;animation-name:kvZoom;animation-duration:40s;}

@-webkit-keyframes kvZoom{from{-webkit-transform:scale3d(1, 1, 1);}
to{-webkit-transform:scale3d(1.5, 1.5, 1);}
}
@-moz-keyframes kvZoom{from{-moz-transform:scale3d(1, 1, 1);}
to{-moz-transform:scale(1.5, 1,5, 1);}
}
@keyframes kvZoom{from{transform:scale3d(1, 1, 1);}
to{transform:scale3d(1.5, 1.5, 1);}
}

@-webkit-keyframes ripple{0%{opacity:1;-webkit-transform:scale3d(1.2, 1.2, 1);}
100%{opacity:0;-webkit-transform:scale3d(1.5, 1.5, 1);}
}
@keyframes ripple{0%{opacity:1;transform:scale3d(1.2, 1.2, 1);}
100%{opacity:0;transform:scale3d(1.5, 1.5, 1);}
}

/******************************************************************************************/
@media screen and (max-width:768px){
    
.gallery-item {
  width: 100%;
  max-width: 33.13%;
  margin: 0 0.1% 0.2% 0.1%;
　padding:10px;
  position: relative;
  float: left;
}
#mailform .mail_dl { width: 100%; margin:0 auto 30px; border-bottom: 1px solid #999;}
#mailform .mail_dl dt { width:90%; float: none; padding:30px 0 10px;border-bottom: 2px solid #999; margin:0 5% 40px; text-align: center; font-weight: bold; font-size:120% }
#mailform .mail_dl dt span { font-size:70%; }
#mailform .mail_dl dd { width: 100%; padding:20px 10px 30px; border-top: none;}    

.f_menu { max-width: 960px; margin: 0 10px 40px;}
.f_menu li { float:none; border-left: 2px solid #999;border-right: 2px solid #999; width:100%;  text-align: center;position: relative; margin: 0 0 10px; height: 40px}
.f_menu li:first-child { border-left: 2px solid #999;}
.f_menu .linkbtn span {
	display: inline-block;
	position: absolute;
    top:10px; left:0;
	width:100%; font-size:120%;
}
.f_menu .linkbtn span:nth-child(1) { background: #FFF; color: #000;font-size:120%; font-weight: bold;  }
.f_menu .linkbtn span:nth-child(2) { background: #FFF; color: #999; }
.f_menu .linkbtn:hover span:nth-child(2) { display: none; }
 
.company { margin: 0 0 30px;}
.company dt { float: none; padding:30px 0 0 10px; border-bottom:2px solid #999;}
.company dd { max-width: 100%; padding:30px 10px 30px; border-top: none;}
.company dd ul li { margin: 0 0 6px; }
.company dd dl dt { font-weight: bold; width: 100%; float: none; padding: 0 0 6px; border-bottom:1px solid #999; margin: 0 0 10px}
.company dd dl dt span { font-weight: normal;}
.company dd dl dd { width: 100%; margin: 0 0 10px; padding: 0 0 20px 20px; }    
    
.navigation nav.back_img1:after{background-image:url("../imgs/nav-bg01sp.jpg");}
.navigation nav.back_img2:after{background-image:url("../imgs/nav-bg02sp.jpg");}
.navigation nav.back_img3:after{background-image:url("../imgs/nav-bg03sp.jpg");}
.navigation nav.back_img4:after{background-image:url("../imgs/nav-bg04sp.jpg");}
.navigation nav.back_img5:after{background-image:url("../imgs/nav-bg05sp.jpg");}
.navigation nav.back_img6:after{background-image:url("../imgs/nav-bg06sp.jpg");}
    
body{letter-spacing:.1em;}
header {height:60px;padding:0;}
header .head_wrap,
header.js-head .head_wrap{ height:60px; text-align: right; padding:9px 8px 0; font-size: 70%;}
header .head_wrap .head_logo a,
header.js-head .head_wrap .head_logo a{width:100%;height:24px;}
header .head_ui{background-color:rgba(255,255,255,0);width:85px;height:60px;position:absolute;top:0;}
header .head_ui .head_ui_text{color:#fff;width:auto;font-size:10px;letter-spacing:0;top:25px;}
header .toggle .head_ui_text{left:45px;}
header .lang .head_ui_text{right:70px;}
.navigation nav{padding-top:60px;}
.toggle{width:60px;height:60px;}
.toggle .head_ui_wrap{padding:0;top:16px;left:10px;}
.toggle span{background:#fff;width:20px;height:2px;left:5px;}
.toggled .toggle span{background:#fff!important;}
header.js-head .toggle span{background:#666;}
header.js-head .head_ui_text,
header.js-head .lang li span{color:#666;}
.toggled header.js-head .head_ui_text,
.toggled header.js-head .lang li span{color:#fff;}
header .lang{width:100px;height:60px;}
header .lang ul{width:auto;top:16px;right:10px;}
header .lang li{width:27px;height:27px;float:left;}
header .lang li span{background:rgba(255,255,255,.2);color:#fff;font-size:110%;width:27px;display:inline-block;line-height:27px;padding:0;}
.footer_head .footer_first,
.footer_head .footer_second{text-align:center;}
.footer_head .copy:before{margin-left:-12px;left:50%;}
.footer_head .copy em,
.footer_head .copy span,
.footer_head .footer_second .inner dt,
.footer_head .footer_second .inner dd{display:block;}
.footer_head .copy em{margin-right:0;}
.footer_head .footer_second .inner dt{padding-right:0;}
.footer_head .footer_first .btn{margin:0 auto;}
.footer_bottom .wrap{padding:45px 0 0;}
.footer_bottom .footer_first li[class*="nav_"]{width:100%;padding:0;float:none;}
.footer_bottom .footer_nav ul li a{display:block;text-align:center;padding:0 80px;line-height:45px;border-bottom:solid 1px #4d4d4d;box-sizing:border-box;}
.footer_bottom .footer_nav ul li a span{margin:0 0 0 10px;}
.footer_bottom .footer_nav ul li a:before{display:none;}
.kv_img01{background:url("../imgs/topimg-01sp.jpg") no-repeat 50% 50%;background-size:cover;}
.kv_img02{background:url("../imgs/topimg-02sp.jpg") no-repeat 50% 50%;background-size:cover;}
.kv_img03{background:url("../imgs/topimg-03sp.jpg") no-repeat 50% 50%;background-size:cover;}
.kv_img04{background:url("../imgs/topimg-04sp.jpg") no-repeat 50% 50%;background-size:cover;}
.kv_img05{background:url("../imgs/topimg-05sp.jpg") no-repeat 50% 50%;background-size:cover;}
.kv_img06{background:url("../imgs/topimg-06sp.jpg") no-repeat 50% 50%;background-size:cover;}

.kv .kv_position{ font-size:120%; }
.kv .kv_logo { font-size:140%; font-weight: bold; margin-bottom:20px;}
.kv .kv_logo1{width:100%;height:100%;margin:-50% -50% 0 0;}
header .head_logo1 .head_logo a{height:26px !important;}

#header{height:50px;}
#header h1{padding:16px 0;}
.kv .kv_inner{width:300px !important;height:208px !important;margin:-104px 0 0 -150px;position:absolute;top:50%;left:50%;}
    #KvFade:before{content:"";display:none;}
.page_title_text{font-size:240%;margin-left:20px;margin-right:20px;line-height:1.0em;}
.page_title_copy{margin-top:12px;margin-left:20px;margin-right:20px;line-height:1.5em;font-size:110%;}
.page_title_img_faq{background:url("../imgs/faq_bg_sp.jpg") no-repeat 50% 50%;background-size:cover;}
.copy_middle{font-size:180%;margin:22px auto 34px;font-weight:bold;}    
.btn_b.sliderNaviLeft,.btn_b.sliderNaviRight{position:absolute;width:28px;height:28px;}
.btn_b.sliderNaviLeft p,.btn_b.sliderNaviRight p{display:none;}
.btn_b.sliderNaviLeft .arrow,
.btn_b.sliderNaviRight .arrow{width:16px;height:15px;top:6px;display:inline-block;float:right;position:relative;vertical-align:middle;}
.btn_b.sliderNaviLeft .arrow{right:6px;}
.btn_b.sliderNaviRight .arrow{left:6px;float:none;}
.btn_b.sliderNaviRight .arrow .bar01,
.btn_b.sliderNaviRight .arrow .bar02,
.btn_b.sliderNaviRight .arrow .bar03,
.btn_b.sliderNaviLeft .arrow .bar01,
.btn_b.sliderNaviLeft .arrow .bar02,
.btn_b.sliderNaviLeft .arrow .bar03{height:2px;}
.btn_b.sliderNaviRight .arrow .bar01,
.btn_b.sliderNaviLeft .arrow .bar01{top:6px;width:15px;}
.btn_b.sliderNaviRight .arrow .bar02,
.btn_b.sliderNaviRight .arrow .bar03,
.btn_b.sliderNaviLeft .arrow .bar02,
.btn_b.sliderNaviLeft .arrow .bar03{width:8px;}
.btn_b.sliderNaviRight .arrow .bar02,
.btn_b.sliderNaviLeft .arrow .bar03{top:4px;}
.btn_b.sliderNaviRight .arrow .bar03,
.btn_b.sliderNaviLeft .arrow .bar02{bottom:4px;}
.btn_b.sliderNaviLeft a:hover .arrow .bar01,
.btn_b.sliderNaviRight a:hover .arrow .bar01{width:18px;}
.btn_b.sliderNaviLeft a:hover .arrow .bar02,
.btn_b.sliderNaviLeft a:hover .arrow .bar03{right:auto;left:-4px;}
.btn_b.sliderNaviRight a:hover .arrow .bar02,
.btn_b.sliderNaviRight a:hover .arrow .bar03{right:-4px;}
.sliderNaviPos a{margin:0 2px;width:8px;height:8px;}
#slider_main{margin-bottom:0;}
.slider li .slider_text{padding:10px 16px;font-size:120%;}
.concept_slider .copy3{position:relative;font-size:160%;margin-top:26px;margin-bottom:34px;font-weight:700;text-align:center;line-height:1.4em;}
.concept_slider .copy3:before{bottom:-16px;}
.concept_slider .copy3 .small_copy{font-size:81.2%;}
.concept_slider .copy_area{padding-bottom:0!important;}
.concept_slider .copy_area_pt0,
.concept_slider .copy_area_slider{padding-top:0!important;}
.concept_slider{padding-bottom:40px;} 

.radio-tile-group .input-container img { max-width: 160px; margin: 0 0 15px;}
.radio-tile-label2 {
      width: 160px;
      height:55px;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: #ccc;
              border: 1px solid #ccc;
        margin: 0 auto;
    }
.waku100 { padding:50px 10px; max-width: 1000px; margin: 0 auto; }

}/******************************************************************************************/
    
.kv .kv_position .kv_copy{letter-spacing:.1em;margin:30px 0;}

.back_gray{background-color:#f0f0f0;}
.service .copy_area{text-align:center;padding:88px 0px;}
.tmpl_c .copy_area{padding:88px 80px 64px;max-width:1024px;margin:0 auto;text-align:center;}
.tmpl_b .copy_area{padding:88px 80px 68px;max-width:1206px;margin:0 auto;text-align:center;}
.tmpl_b2 .copy_area{padding:88px 60px;max-width:1246px;}
.tmpl_a .copy_area{padding:88px 0;text-align:center;}
.works .copy_area{text-align:center;padding:40px 0;}
.tmpl_d{max-width:1206px;margin:0 auto;padding:0 80px 24px;}
.tmpl_e{width:50%;margin:0;padding:88px 80px 82px;box-sizing:border-box;background:#dedede;float:left;}
.tmpl_e:first-child{background:#f0f0f0;}
.tmpl_e .copy_area{margin:0 auto;width:100%;max-width:530px;}

/******************************************************************************************/
@media screen and (max-width:1023px){.tmpl_e{width:100%;}
.tmpl_e .copy_area{max-width:none;}
}

/******************************************************************************************/   
@media screen and (min-width:1366px){
    
}
/******************************************************************************************/   
@media screen and (min-width:1024px){}

/******************************************************************************************/ 
@media screen and (max-width:960px){
}

/******************************************************************************************/ 
@media screen and (min-width:769px){
    
}
/******************************************************************************************/ 



