@charset "utf-8";

/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
pre,textarea{overflow:auto}
[hidden],audio:not([controls]),template{display:none}
details,main,summary{display:block}
input[type=number]{width:auto}
input[type=search]{-webkit-appearance:textfield}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
progress{display:inline-block}
small{font-size:75%}
textarea{resize:vertical}
[unselectable]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
*,::after,::before{box-sizing:inherit;border-style:solid;border-width:0}
*{font-size:inherit;line-height:1.6;margin:0;padding:0}
::after,::before{text-decoration:inherit;vertical-align:inherit}
:root{-ms-overflow-style:-ms-autohiding-scrollbar;overflow-y:scroll;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;box-sizing:border-box;cursor:default;font:16px/1.5 sans-serif;text-rendering:optimizeLegibility}
a{text-decoration:none;color: #000;}
audio,canvas,iframe,img,svg,video{vertical-align:bottom}
button,input,select,textarea{background-color:transparent;color:inherit;font-family:inherit;font-style:inherit;font-weight:inherit;min-height:1.5em}
code,kbd,pre,samp{font-family:monospace,monospace}
nav ol,nav ul{list-style:none}
select{-moz-appearance:none;-webkit-appearance:none}
select::-ms-expand{display:none}
select::-ms-value{color:currentColor}
table{border-collapse:collapse;border-spacing:0}
::-moz-selection{background-color:#B3D4FC;text-shadow:none}
::selection{background-color:#B3D4FC;text-shadow:none}
@media screen{[hidden~=screen]{display:inherit}
  [hidden~=screen]:not(:active):not(:focus):not(:target){clip:rect(0 0 0 0)!important;position:absolute!important}
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


/* this theme only */

/*-----------------*/


ul{font-size: 0;}
li{list-style: none;
  font-size: initial;}

p{
  line-height: 1.2;
}

img{
  max-width: 100%;
}
.img100 img{
  width: 100%;
}
.fade {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.fade:hover {
  opacity: 0.4;
  filter: alpha(opacity=60);
}

.bgimg{
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}


.dis-b{display: block}
.dis-ib{display: inline-block}
.cen-b{display: block;margin: 0 auto}
.tex-a{text-align: center}
.flo-l{float: left}
.flo-r{float: right}
.ove-h{overflow: hidden}
.wid-100{width: 100%}
.pos-r{position: relative}
.pos-a{position: absolute}
.pos-a-area{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.tra-c{
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  position: absolute;
}
.tra-m{
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  position: absolute;
}

.vh-100{
  height: 100vh;
}
.dis-t{
  display: table;
}
.dis-tc{
  display: table-cell;
}
.ver-m{
  vertical-align: middle;
}

.vwvh100{
  width: 100%;
  height: 100vh;
}

/*margin＆padding*/

.mar-5{margin: 5px}
.mar-10{margin: 10px}
.mar-15{margin: 15px}
.mar-20{margin: 20px}
.mar-2per{margin: 2%}
.mar-4per{margin: 4%}
.pad-5{padding: 5px}
.pad-10{padding: 10px}
.pad-15{padding: 15px}
.pad-20{padding: 20px}
.pad-2per{padding: 2%}
.pad-4per{padding: 4%}
.pad-5per{padding: 5%}

.pad-tb5{padding: 5px 0}
.pad-tb10{padding: 10px 0}
.pad-tb15{padding: 15px 0}
.pad-tb20{padding: 20px 0}

.pad-b0{
  padding-bottom: 0;
}

.mar-lr5{margin: 0 5px}
.mar-lr10{margin: 0 10px}
.mar-lr15{margin: 0 15px}
.mar-lr20{margin: 0 20px}

.mar-b0{
  margin-bottom: 0!important;
}
.mar-res{margin: 0 2%}
.mar-a{margin: 0 auto}

/*回り込み解除*/
.cle:after{content:""; display: block; clear: both;height: 0;}
.clearfix:after {content: "";display: block;clear: both;height: 0;}

/*上下中央配置*/
.hl-cen{
    display: block;
    text-align: center;
    height: 100%;
}
.hl-cen > *{
    vertical-align: middle;
    display: inline-block;
}
.hl-cen:before{
    content: "";
    height: 100%;
    vertical-align: middle;
    width: 0px;
    display: inline-block;
}

.thumbnailImg {
  padding-top: 64.25%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.blur{
  -webkit-filter: blur(4px);
  -ms-filter: blur(4px);
  filter: blur(4px);
}

/*文字サイズ*/

.fon-1{font-size: .618rem}
.fon-2{font-size: .764rem}
.fon-3{font-size: 1rem}
.fon-4{font-size: 1.236rem}
.fon-5{font-size: 1.618rem}
.fon-6{font-size: 2rem}
.fon-7{font-size: 2.618rem}
.fon-8{font-size: 3.236rem}
.fon-9{font-size: 4.236rem}
.fon-10{font-size: 5.236rem}
.fon-11{font-size: 6.854rem}


.lin-12{line-height: 1.2}
.lin-13{line-height: 1.3}
.lin-14{line-height: 1.4}
.lin-15{line-height: 1.5}
.lin-16{line-height: 1.6}
.lin-17{line-height: 1.7}
.lin-18{line-height: 1.8}
.lin-19{line-height: 1.9}

.tex-c{
  text-align: center;
}
.tex-l{
  text-align: left;
}

/* 段組 */

.jst{
  text-align: justify;
  text-justify: inter-ideograph;
  -ms-text-justify: inter-ideograph;
}

/* ボタン */

.button {
  display: table;
  margin: 0 auto;
  text-align: center;
  background: #ff0000;
  border: solid 1px #ff0000;
  border-radius: 5px;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button:hover {
  background: #fff;
  border: solid 1px #ff0000;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button a{
  display: inline-block;
  width: 100%;
  line-height: 65px;
  color: #fff;
  font-family: 'Josefin Sans', 'Noto Sans Japanese';
  font-size: 1rem;
  font-weight: 300;
  text-shadow: 1px 1px 2px #e5a9a9;	
}
.button a:hover {
  color: #ff0000;
}

.btn2{
  width: 80%;
  height: 40px;
  margin: 0 auto;
  text-align: center;
  background: #1fa4c7;
  border: solid 1px #fff;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.btn2:hover{
  border: solid 1px #00b6de;
  background-color: #fff!important;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.btn2 a:hover{
  color: #1fa4c7;
}

/* アニメーション */

/* マウスホバーでボーダーが出てくる */
.ani-border-top{
  position: relative;
}
.ani-border-top:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  background-color: #27D2D2;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
.ani-border-top:hover:after {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
  }



/* リスト */

ul.center {
  text-align: center;
  font-size: 0;
}
ul.center li {
  display: inline-block;
  margin: 0 1%;
}

/* 配置 */

.tb-center{
  display: table;
  width: 100%;
}

.tb-centerInner{
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}


/* カラム */


.fle-b-sp {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -webkit-box-pack:         justify;
  -ms-flex-pack:         justify;
  justify-content:         space-between;
}
.fle-1-sp{
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}


@media only screen and (min-width: 641px){
.flex{
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.fle-r {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
  -webkit-box-pack:         end;
  -ms-flex-pack:         end;
  justify-content:         flex-end;
}
.fle-c {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -webkit-box-pack:         center;
  -ms-flex-pack:         center;
  justify-content:         center;
}
.fle-b {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -webkit-box-pack:         justify;
  -ms-flex-pack:         justify;
  justify-content:         space-between;
}
.fle-a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack:         distribute;
  justify-content:         space-around;
}
.fle-w{
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.fle-1{
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.fle-2{
  -webkit-box-flex: 2;
  -webkit-flex: 2;
  -ms-flex: 2;
  flex: 2;
}
.fle-3{
  -webkit-box-flex: 3;
  -webkit-flex: 3;
  -ms-flex: 3;
  flex: 3;
}
.fle-4{
  -webkit-box-flex: 4;
  -webkit-flex: 4;
  -ms-flex: 4;
  flex: 4;
}
.fle-5{
  -webkit-box-flex: 5;
  -webkit-flex: 5;
  -ms-flex: 5;
  flex: 5;
}
}
@media only screen and (max-width: 640px){
  .flex.sp{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .fle-r.sp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
    -webkit-box-pack:         end;
    -ms-flex-pack:         end;
    justify-content:         flex-end;
  }
  .fle-c.sp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack:         center;
    -ms-flex-pack:         center;
    justify-content:         center;
  }
  .fle-b.sp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack:         justify;
    -ms-flex-pack:         justify;
    justify-content:         space-between;
  }
  .fle-a.sp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-around;
    -ms-flex-pack:         distribute;
    justify-content:         space-around;
  }
  .fle-w.sp{
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .fle-1.sp{
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
  .fle-2.sp{
    -webkit-box-flex: 2;
    -webkit-flex: 2;
    -ms-flex: 2;
    flex: 2;
  }
  .fle-3.sp{
    -webkit-box-flex: 3;
    -webkit-flex: 3;
    -ms-flex: 3;
    flex: 3;
  }
  .fle-4.sp{
    -webkit-box-flex: 4;
    -webkit-flex: 4;
    -ms-flex: 4;
    flex: 4;
  }
  .fle-5.sp{
    -webkit-box-flex: 5;
    -webkit-flex: 5;
    -ms-flex: 5;
    flex: 5;
  }
}

/* iframeレスポンシブ */

/* 5:5 */
.iframe-55 {
  position: relative;
  width: 100%;
  padding: 100% 0 0 0;
}
.iframe-55 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* 4:3 */
.iframe-43 {
  position: relative;
  width: 100%;
  padding: 75% 0 0 0;
}
.iframe-43 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* 16:9 */
.iframe-169 {
  position: relative;
  width: 100%;
  padding: 56.25% 0 0 0;
}
.iframe-169 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Sliderpro設定 */
.sp-arrows{
  z-index: 100;
}