body {
  color: #111111;
  font-family: "Noto Sans Japanese", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, 游ゴシック, YuGothic, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
}
h1, h2, h3, h4, h5, h6{
  font-family: "Noto Serif JP", "Yu Mincho", YuMincho, 游明朝, YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.mt20{margin-top:20px;}
.mt40{margin-top:40px !important;}
.mt60{margin-top:60px !important;}
.mt160{margin-top:160px;}
.pt20{padding-top:20px;}
.pt40{padding-top:40px;}
.pt100{padding-top:100px;}
.pt160{padding-top:160px;}
.pd0{padding:0;}
.mw120{ max-width:120px !important; }

.container {
  width:100%;
  min-width:100%;
  max-width:100%;
}
img.logo{
  width:140px;
}
.text-blue{
  color:#2F72B9;
}
.text-aqua{
  color:#1D899E;
}
.text-water{
  color:#2B86E1;
}
.text-black{
  color:#000;
}
div.message{
  width:80%;
  margin:0 auto;
}
.mg0{
  margin:0;
}

.row{
  margin:0 !important;
}
.vertical {
  writing-mode: vertical-rl;
}


/*
ページロード用スクリーン
*/
#screen{
  position:fixed;
  width: 100%;
  height:100%;
  background-color:#fff;
  top:0;
  z-index:333333;
}
#screen2{
  position:fixed;
  width: 100%;
  height:100%;
  background-color:#2F72B9;
  bottom:0;
  z-index:333334;
  display:none;
}

/*
モーダル
*/
.modal-dialog{
  max-width:80%;
  margin:5em auto;
}
.closearea{
  padding:10px 0px 5px 10px;
}
.closearea a{
  cursor: pointer;
  cursor: hand;
}
.modalImage{
  width:100%;
  padding:3%
}
.modal-content{
  width:80%;
  margin:0 auto;
  max-height:500px;
  overflow:hidden;
  overflow-y:scroll;
  position: relative;
}
.modal-area{
  width:80%;
  margin:5% auto;
}
.scrolldown-modal{
  position: absolute;;
  bottom:0;
  left:10px;
}
.scrolldown-modal img{
  width:16px;
}
/*
 * Custom translucent site header
 */

.site-header {
  background-color: rgba(255, 255, 255, 0.85);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  height:165px;
  
}
.site-header a {
  color: #999;
  transition: ease-in-out color .15s;
}
.site-header a:hover {
  color: #fff;
  text-decoration: none;
}














/******
リンク
*******/
a#contactlink{
	display:block;
	width:100%;
	color:#fff;
}
a#contactlink p,
a#contactlink h3{

	color:#fff;
}
a#contactlink:hover{
	text-decoration:none;
}
a.c-btn2{text-decoration: none !important;}


a.c-btn2{
  position: relative;
  display: inline-block;
  text-decoration: none;

  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  display: block;
  width: 100%;
  transition: .8s cubic-bezier(.165,.84,.44,1);
  position: relative;
  max-width: 160px;
  letter-spacing: .3em;
  padding: 15.5px 0;
  transition-property: padding-left;

}
a.c-btn3{
  max-width: 200px;
}
a.c-btn4{
  max-width: 260px;
}
a.c-btn2::after {
  position: absolute;
  bottom: 2px;
  left: 0;
  content: '';
  width: 160px;
  height: 2px;
  background: linear-gradient(90deg, #fff, #49A9EE);
  opacity: 1;
  visibility: visible;
  transition: .3s;
}
a.c-btn3::after {
  background: linear-gradient(90deg, #D80C73, #1F9BE8);
  width: 200px;
}
a.c-btn3:hover{
  color:#000;
}
a.c-btn2:hover::after {
  bottom: -1px;
  opacity: 0;
  visibility: hidden;
}

a.c-btn2:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
  left: auto;
  right:-50px;
	width: 0;
	height: 0;
	margin-top: -5px;
	border: 5px solid transparent;        /*top right bottom を透明化 */ 
  border-left: 5px solid #fff;
  transition: .3s;
}
a.c-btn3:before {
  border-left: 5px solid #000;
  right:0;
}
a.c-btn2:hover:before {
  border:1px solid transparent;
  visibility: visible;
}

a.c-btn4::after {
  background: linear-gradient(90deg, #fff, #49A9EE);
  width: 280px;
}
a.c-btn4:before {
  border-left: 5px solid #fff;
  right:0;
}

footer{
  background-color:#fff;
  text-align: center;
  padding:10px 0px;
}

footer ul{
  list-style-type: none;

}
footer ul li{
  float:left;
  width:33%;
}
footer ul:after{
  clear:both;
  display:block;
  content:"";
}
ul li a{
  text-decoration: none !important;
  color:#000;
}
ul li a:hover{
  -webkit-transition: all 1s;
      -moz-transition: all 1s;
      -ms-transition: all 1s;
      -o-transition: all 1s;
      transition: all 1s;

  opacity: 0.5 ;
  color:#000;
  text-decoration: none !important;
}

/*******
エリア
********/
div.area{
  width:80%;
  margin:0 auto;
  margin-top:165px;
  
}
div.area-catchcopy{
  width:50%;
}


/*********
フッタエリア
*********/
footer>div{
  width:80%;
  margin:0 auto;
}
footer>div:first-child div{
  text-align:left;
}

/*********
タイトルの横棒
*/
.h4title{
  position: relative;
  background-color:#fff;
  width:auto;
  display:inline-block;
  
}
.h4title h4{
  padding:0;
  margin:0;
}
.title-border-right:after {
  background: linear-gradient(90deg, #D80C73, #1F9BE8);
  height:1px;
  position:absolute;
  top:50%;
  left:120%;
  content:"";
  z-index:10;
  width:500px;
}


.message-border {
  background: linear-gradient(90deg, #D80C73, #1F9BE8);
  height:1px;
  margin-top:80px;
  margin-bottom:80px;
  
}
.under-link{
  width:100%;
  margin:0 auto;
  padding:40px 0px;
}
.under-link > div{
  width:80%;
  margin:0 auto !important;
}

.imageleft{
  width:40%;
  float:right;
}

/*
 * Extra utilities
 */

.border-top { border-top: 1px solid #e5e5e5; }
.border-bottom { border-bottom: 1px solid #e5e5e5; }

.box-shadow { box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); }

.flex-equal > * {
  -ms-flex: 1;
  -webkit-box-flex: 1;
  flex: 1;
}
@media (min-width: 768px) {
  .flex-md-equal > * {
    -ms-flex: 1;
    -webkit-box-flex: 1;
    flex: 1;
  }

  


}
@media (max-width: 780px) {
  .imageleft{
    width:100%;
    float:none;
  }

  .under-link{
    width:60%;
    padding:20px 0px;
  }
  .under-link > div{
    width:100%;
  }
  .under-link > div div{
    padding:0 !important;
  }
  .message-border {
    margin-top:10px;
    margin-bottom:10px;
    
  }
  .title-border-right:after{
    width:60%;
    max-width:100px;
  }
  div.area-catchcopy{
    width:100%;
  }

  .modal-content{
    width:100%;
  }
  .h2, h2{
    font-size:1.4em;
  }
}

.overflow-hidden { overflow: hidden; }
