@charset "utf-8";

/* 基本設定
-------------------------------------------------*/

html{ scroll-behavior: smooth; overflow-x: hidden; }
h1,h2,h3,h4,h5,h6,p,div,ul,li,dd,dl,em,dfn{margin:0; padding:0; font-style:normal;}
ul,li,dt,dd,dl{ list-style-type:none;}
hr{height:0px;margin:0;padding:0;border:none;}
table, tr, th, td{ border:none;}
img{ margin: 0; padding: 0; max-width:100%; vertical-align: bottom; image-rendering: -webkit-optimize-contrast; }
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}

body{
	margin:0;
	padding:0;
	font-family:  "游ゴシック", "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体","ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size:16px;
	line-height:1.8;
	color:#333;
	letter-spacing:0.05em;
	font-weight: 500;
	text-align: justify;
	text-justify: inter-ideograph;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
	/*overflow-x: hidden;*/
	}
@media all and (-ms-high-contrast: none){
  body{
	  font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	  line-height:normal;
  }
}

@font-face {
    font-family: 'ShipporiMincho-Regular';
    font-style: normal;
    font-weight: 200;
    src: url(../fonts/ShipporiMincho-Regular.woff) format('opentype');
    font-display: swap;
   }

.is-box-sizing{
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
}

.pc-none{ display:block; }
.sp-none{ display:none; }
@media only screen and (max-width: 600px) {
.pc-none{ display:none; }
.sp-none{ display:block; }
}


/* object-fit-images
-------------------------------------------------*/

.object-fit-img {
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

/* リンク調整
-------------------------------------------------*/

a{ outline:none; color:#0053A5; }
a:hover{ text-decoration:none;}

a.is-hover{display:block;}
a.is-hover img{ transition:all 0.5s ease;}
a:hover.is-hover img{ opacity: 0.7; filter: alpha(opacity=70); -moz-opacity:0.7;}
a:hover.is-hover{ opacity: 0.7; filter: alpha(opacity=70); -moz-opacity:0.7;}

/* inview.js
-------------------------------------------------*/

.fadeIn {
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-show {
  opacity: 1;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 10%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_down {
  opacity: 0;
  transform: translate(0, -10%);
  transition: 2s;
}
.fadeIn_down.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_right {
  opacity: 0;
  transform: translate(10%, 0);
  transition: 2s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_left {
  opacity: 0;
  transform: translate(-10%, 0);
  transition: 2s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

/* 基本レイアウト
-------------------------------------------------*/

a.anchor { display: block; padding-top: 100px; margin-top: -100px;}

#box-wrapper{ width:100%;}


/*-----パーツー-----*/

.sp-none{ display:block;}
.pc-none{ display:none;}

.btn-more a{
    font-family: 'Open Sans', sans-serif;
    text-decoration: none;
    color: #404B5B;
    font-weight: 700;
    position: relative;
    padding: 0 0 6px 40px;
}
.btn-more a:after{
    position: absolute;
    top: 35%;
    left: 0;
    content: "";
    width: 25px;
    height: 6px;
    transform: translate(0, -35%);
    background-image: url(../img/common/ic-yaji1.png);
    background-repeat: no-repeat;
    background-size: cover;
}
.btn-more a:before {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #404B5B;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
.btn-more a:hover:before {
  transform: scale(1, 1);
}

/* スクロールトップ */

#page-top {
	display: none;
	position: fixed;
	font-size: 0;
	bottom: 20px;
	right: 20px;
	z-index:999;
	/*display:none;*/
}
/*#page-top a {
    text-decoration: none;
    color: #fff;
    padding: 15px;
    text-align: center;
    line-height: 1;
    display: inline-block;
    background-color: #a0a0a0;
    -webkit-border-radius: 50%;
    border-radius: 50% !important;
}*/
#page-top a {
    text-decoration: none;
    color: #fff;
    padding: 20px 20px;
    text-align: center;
    line-height: 1;
    display: inline-block;
    background-color: #0053a5;
    position: relative;
    border-radius: 50%;
}
#page-top a:after{
	background-image:url(../img/common/ic-pagetop-hover.png);
	width:5px;
	height:16px;
	position:absolute;
	left:50%;
	top:50%;
	transform: translate(-50%, -50%);
	display:inline-block;
	z-index:10;
	content:'';
	}
/*#page-top a img {
    width: 5px;
    vertical-align: middle;
}*/
#page-top a:hover {
	background-color:#000;
	transition: all 0.3s ease 0s;
	/*opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";*/
}
#page-top a:hover:after{
	/*background-image:url(../img/common/ic-pagetop-hover.png);*/
	width:5px;
	height:16px;
	position:absolute;
	left:50%;
	top:50%;
	transform: translate(-50%, -50%);
	display:inline-block;
	z-index:10;
	content:'';
	}

@media only screen and (max-width: 1240px) {

}

@media only screen and (max-width: 1024px) {

.box-main {
    width: 90%;
    margin: 0 auto 60px;
}

}

@media only screen and (max-width: 768px) {



}

@media only screen and (max-width: 480px) {

a.anchor {
    padding-top: 80px;
    margin-top: -80px;
}

body { font-size: 14px; line-height: 1.6; }

hr.line1 {
	margin:60px auto;
}

/* スクロールトップ */
	
#page-top a { padding: 16px;}
#page-top a img { width: 10px; height: 5px;}

.sp-none{ display:none;}
.pc-none{ display:block;}

}


@media only screen and (max-width: 400px) {
	
/*body { font-size: 13px; line-height: 1.5; letter-spacing: 0.1em; }*/

}

