@charset 'UTF-8';

/* Site
------------------------------------------------- */
body > main {
  display: block;
  /*height: 100vh;*/
  padding-top: 60px;
  color: #000;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  justify-content: center;
  background-color: #ecf1fa;
}

/* for PC
------------------- */
@media print,(min-width: 750px) {
  body > main {
    padding-top: 0;
  }
}

/* for SP
------------------- */
.sec_title {
  width: 100%;
  height: 560px;
  padding: 100px 0;
  background: #ecf1fa url(../img/title_bg_sp.png) no-repeat top center;
  background-size: cover; /*背景画像指定。背景画像を拡大縮小する*/
}

.mod-section01 {
  padding: 0 auto;
  text-align: center;
}

.mod-section01 p{
	font-size: 30px;
	font-weight: 600;
    text-shadow: 0 0 0.5em rgba(255,255,255,1);
}

.mod-section01 li a{
		background-color: #fff;
}
.mod-section01 li a:hover{
		background-color: #dd0000;
}

/* ボタン for common SP*/
.button {
  display: inline-block;
  width: 300px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  border: 1px solid #dd0000;
  background-color: #fff;
  color: #dd0000;
  font-size: 20px;
  border-radius: 50px;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.button:hover {
  color: #fff;
  background-color: #dd0000;
  text-decoration: none;
}

/* ボタン無効状態　*/
.buttonBox li div{
  display: inline-block;
  width: 300px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  border: 1px solid #999;
  background-color: #999;
  color: #fff;
  font-size: 20px;
  border-radius: 50px;
}
.buttonBox li span{
	font-size: 13px;
	margin-left: 8px;
}

.mod-section01 ul{
  margin: 50px auto 0;
  justify-content: center;
}

.mod-section01 li{
    margin-top: 20px;
}

/* for PC
------------------- */
@media print,(min-width: 750px) {
  .sec_title {
    display: flex;
    height: 100vh;
    background: #ecf1fa url(../img/title_bg.png) no-repeat center center;
    background-size: cover; /*背景画像指定。背景画像を表示領域全体を覆う*/
  }
	  
.mod-section01 {
    width: 1040px;
    margin: 50px auto;
	text-align: center;
  }

.mod-section01 p{
	font-size: 40px;
  }

    .mod-section01 ul{
        display: flex;
    }
    .mod-section01 li{
        margin-right: 30px;
    }
}


/* js
------------------- */
.js-scroll-container:before {
  transition: width .45s ease; 
  width: 0;
  margin: 0 auto; 
}
.js-scroll-container.is-active:before {
  width: 100%;
}

.js-scroll-elm {
  opacity: 0;
  transition: all 1s ease;
}
.js-scroll-elm.is-active {
  opacity: 1;
  transform: none;
}

.fade { transform: translateY(30px); }
.slideL { transform: translateX(30px); }
.slideR { transform: translateX(-30px); }
