@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="submit"] {-webkit-appearance: none}
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;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-size:16px;text-rendering:optimizeLegibility}
a{text-decoration:none;color:#000;line-height:1;}
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}
}

html{
  font-family: 'YuGothic', 'Yu Gothic', '游ゴシック', '游ゴシック体', 'Noto Sans Japanese', sans-serif;
}
ul{font-size: 0;}
li{
  list-style: none;
  font-size: 1rem;
}
img{
  max-width: 100%;
}
p{
  line-height: 1.2;
}
.noto{
  font-family: 'Noto Sans Japanese', serif;
  font-weight: 300;
}

.bri br{
  display: initial!important;
}

.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);
}

.dis-b{display: 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}

/*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}

.mar-lr5{margin: 0 5px}
.mar-lr10{margin: 0 10px}
.mar-lr15{margin: 0 15px}
.mar-lr20{margin: 0 20px}

.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;
}


/*文字サイズ*/

.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;
}


/* ボタン */

.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: 100;
  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: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: #000;
  -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;
}

/* カラム */
@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;
}
.order1{
  order: 1;
}
.order2{
  order: 2;
}
.order3{
  order: 3;
}
.order4{
  order: 4;
}
.order5{
  order: 5;
}
}
/* iframeレスポンシブ */
/* 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%;
}

/* CSSプルダウンメニュー */

.menu > li.menu__single {
  position: relative;
}
ul.menu__second-level {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
}
li.menu__single ul.menu__second-level {
  position: absolute;
  top: 40px;
  width: 100%;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
}
li.menu__single ul.menu__second-level li{
  display: block;
}
li.menu__single:hover ul.menu__second-level {
  top: 50px;
  visibility: visible;
  opacity: 1;
}

/* スマホ用グローバルメニュー */
@media only screen and (min-width: 641px){
  #dl-menu{
    display: none;
  }
}