@charset "utf-8";

/* 基本設定
-------------------------------------------------*/

html{ scroll-behavior: smooth; overflow-x: hidden !important; }
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:17px; line-height:1.7; color:#333; letter-spacing:0.1em;
	color:#333;
	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;
}

/* object-fit-images
-------------------------------------------------*/

.object-fit-img {
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

/* リンク調整
-------------------------------------------------*/

a{ outline: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%; overflow: hidden;}
.box-main {
    width: 900px;
    margin: 0 auto 100px;
}

/*-----パーツー-----*/

.sp-none{ display:none;}
.pc-none{ display:block;}

.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);
}

.noclick{
  pointer-events: none;
}

/*-----インスタ読み込み-----*/

div.insta-inner{ width:800px; margin:0 auto 160px; }
div.insta-inner p{ width:170px; margin:0 auto 60px;}
div.insta-inner ul {
    margin: 0 -3.3333% -3.3333% 0;
	padding:0;
    overflow: hidden;
}
div.insta-inner ul li {
	float:left;
	width:30%;
	padding:0;
	margin:0 3.3333% 3.3333% 0;}
div.insta-inner ul li a {
    display: inline-block;
    width: 100%;
    height: 240px;
    background-size: cover;
    background-repeat: no-repeat;
	background-position:center center;
}

/* スクロールトップ */

#page-top {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index:999;
	display:none;
}
#page-top a {
    text-decoration: none;
    text-align: center;
    line-height: 1;
    display: inline-block;
}
#page-top a img {
    width: 50px;
    height: 50px;
    vertical-align: middle;
}
#page-top a:hover {
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

@media only screen and (max-width: 1240px) {

}

@media only screen and (max-width: 1024px) {

.box-main {
    width: 90%;
    margin: 0 auto 60px;
}

/*-----インスタ読み込み-----*/

div.insta-inner{ width:80%; margin:60px auto; }

}

@media only screen and (max-width: 768px) {

/*-----インスタ読み込み-----*/

div.insta-inner p{ width:160px; margin:0 auto 50px;}
div.insta-inner ul li a { height: 180px; }

}

@media only screen and (max-width: 600px) {

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: 8px 10px;}
#page-top a img { width: 10px; height: 5px;}*/

.sp-none{ display:block;}
.pc-none{ display:none;}

/*-----インスタ読み込み-----*/
div.insta-inner{ width:90%; margin:0 auto 60px; }
div.insta-inner p{ width:120px; margin:0 auto 40px;}
div.insta-inner ul li a { height: 140px; }
div.insta-inner ul { margin: 0 -5% 0 0; }
div.insta-inner ul li {
	width:45%;
	margin:0 5% 5% 0;}

}


@media only screen and (max-width: 400px) {
	
body { font-size: 13px; line-height: 1.5; letter-spacing: 0.1em; }

}

