@charset "UTF-8";

/*-共通部分-*/
html {
    font-size: 100%;
}
body {
    font-family: "Shippori Mincho B1","Yu Gothic Medium","游ゴシック Medium",Yu Gothic,"游ゴシック","ヒラギノ角ゴ Pro W3",sans-serif;
    line-height: 2;
    color: #432;
}
a {
    text-decoration: none;
}
img {
    max-width: 100%;
}
.wrapper{
    max-width: 650px;
    margin: 0 auto;
}
.side{
    padding: 0 10%;
}
h3{
    font-size: 1.8rem;
    line-height: 1.5;
}

/*-ヘッダー-*/
.logo {
    width: 150px;
    margin-top: 14px;
}
.page-header{
    padding: 0 4%;
    display: flex;
    justify-content: space-between;
}
.main-nav{
    display: flex;
    font-size: 1.25rem;
    text-transform: uppercase;
    margin-top: 33px;
    list-style: none;
}
.main-nav li{
    font-size: 1rem;
    margin-left: 36px;
}
.main-nav a{
    color: #432;
}
.main-nav a:hover{
    color: #0bd;
}

/*-top-バックグラウンド-*/
.big-bg{
	background-size:auto 380px;
    background-position-x: center;
    background-position-y: calc(100vh - 460px);
	background-repeat:repeat-x;
    background-attachment: fixed;
}
#home{
    background-image:url(../images/main-bg.png);
    background-color:rgb(242, 242, 242);
    background-blend-mode:normal;
    min-height:100vh;
}
#home .page-title{
    text-transform: none;
}
main{
    background-color: #E3ECEB;
    box-shadow: 4px 8px 5px 0px rgba(0, 0, 0, .2);
}

/*-top コンテンツ-*/
.head{
    padding-top: 15%;
    margin-top: 8%;
}
.home-content{
    text-align: center;
    height: 630px;
    padding: 5% 0;
    background-color: #FAFAFA;
    position: relative;
}
.home-content p{
    font-size: 1.125rem;
    margin: 10px 0 22px;
}
.logo_head{
    width: 120px;
    margin-top: 124px;
}
.image_r{
    width: 300px;
    height: 390px;
    padding: 5px;
    background-color: #eeeeee;
    position:absolute;
    bottom: calc(50% - 440px);
    right: calc(50% - 400px);
    rotate: 10deg;
  
}
.border{
    width: 460px;
    height: 580px;
    padding: 20% 0;
    border: double #4f6456 4px;
    margin: 0 auto;
}

/*見出し(h1h2)*/
.page-title{
    font-size: 3rem;
    font-family: "Shippori Mincho B1";
    text-transform: uppercase;
    font-weight: normal;
}
/*top-ボタン*/

.button {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width:320px;
    height: 50px;
    box-sizing: border-box;
    background: #333;
    border-radius: 5px;
    color: #fff;
    font-size: 1.3rem;
    letter-spacing: 0.1em;
    text-decoration: none;
    position: relative;
  }
  .button span {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width:320px;
    height: 50px;
    background:#C89C23;
    border: 1px solid #3b3b3b;
    box-sizing: border-box;
    position: absolute;
    border-radius: 5px;
    top: -6px;
    left: -6px;
    transition-duration: 0.2s;
  }
  @media (hover: hover) {
    .button:hover span {
        left: -1px;
        top: -1px;
        background: #ececec;
        color: black;
      }
  }
span{
display: block;
margin-left: 5px;
}

/*ファーストビュー*/
.fv{
    padding: 0 10%;
    height: 650px;
    position: relative;
}
.fv_image_l{
    width:390px;
    padding: 5px;
    background-color: #eeeeee;
    position: absolute;
    left: calc(50% - 400px);
    rotate: -5deg;
}
.fv_image_r{
    width:390px;
    padding: 5px;
    background-color: #eeeeee;
    position: absolute;
    right: calc(50% - 350px);
    bottom: 100px;
    rotate: 5deg;
}
.fv p{
    margin-top: 97px;
    margin-bottom: 100px;
}

/*広告*/
.cv{
    background-color: #4F6457;
    color: #fff;
    padding: 10% 0 20% ;
    text-align: center;
}
.cv p{
    font-size: 1rem;
    margin: 10px 0 80px;
}
.cv .lead{
    font-size: 0.8rem;
    margin-bottom: 0px;
}
.cv_image{
    width:500px;
    padding: 5px;
    margin-top: 30px;
    background-color: #eeeeee;
}
.sn{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  width: 30%;
  padding: 10px;
  margin: 0 auto;
  list-style: none;
}
.snlogo{
    width: 24px;
}

/*コンテンツ*/
.content{
    margin: 20% 0 30%;
    position: relative;
}
.content p{
    margin-bottom: 10%;
}
.content .name{
    font-size: 0.8rem;
    margin-bottom: 0;
}
.content .lead{
    font-size: 1rem;
    margin-bottom: 1%;
}
.right_image{
    width: 100%;
    margin: 30px 0 60px;
}
.left_image{
    width: 100%;
    margin: 30px 0 60px;
}
.right_image_s{
    width: 34%;
    padding: 10px;
    background-color: #eeeeee;
    left: 390px;
    top: 280px;
    rotate: 5deg;
    position: absolute;
    box-shadow: 5px 5px 5px rgba(44, 42, 42, 0.2);
}
.left_image_s{
    width: 34%;
    padding: 10px;
    background-color: #eeeeee;
    left:-10px;
    top: 240px;
    rotate: -5deg;
    position: absolute;
    box-shadow: 5px 5px 5px rgba(44, 42, 42, 0.2);
}
/*おまけコーナー*/
.mini{
    text-align: center;
    padding-bottom: 10%;
}
.last{
    width: 100%;
    height: 379px;
}
img.last{
    width: 100%;
    height: 379px;
    object-fit: cover;
    object-position: 50% 100%;
}
/*-フッター-*/
.footer{
    background: #4f6456;
    text-align: center;
    padding: 26px 0;
}
.footer p{
    color: #fff;
    font-size: 0.875rem;
}
/*アニメーション*/
/* Loading背景画面設定　*/
#splash {
    /*fixedで全面に固定*/
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 999;
	background:#333;
	text-align:center;
	color:#fff;
}

/* Loading画像中央配置　*/
#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo svg{
	width:300px;
}

/*========= SVG操作手書き風にするためのCSS ===============*/

#mask .st0{
    fill:none;
    stroke:#fff;
    stroke-width:90;/*線の太さを指定する*/
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-miterlimit:10;
    stroke-dasharray: 1500; /* 線の間隔を指定する */
    stroke-dashoffset:1500; /* 線の位置を指定する */
}

.text-focus-in {
	-webkit-animation: text-focus-in 4s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
	        animation: text-focus-in 4s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}
@-webkit-keyframes text-focus-in {
	0% {
	  -webkit-filter: blur(12px);
			  filter: blur(12px);
	  opacity: 0;
	}
	100% {
	  -webkit-filter: blur(0px);
			  filter: blur(0px);
	  opacity: 1;
	}
  }
  @keyframes text-focus-in {
	0% {
	  -webkit-filter: blur(12px);
			  filter: blur(12px);
	  opacity: 0;
	}
	100% {
	  -webkit-filter: blur(0px);
			  filter: blur(0px);
	  opacity: 1;
	}
  }

  /*モバイル版*/
@media (max-width:600px) {
    #home{
        background-image:none ;
        background-color:rgb(242, 242, 242);
    }
    .page-title{
        font-size: 2rem;
    }
    .main-nav{
        font-size: 1rem;
        margin-top: 5px;
    }
    .main-nav li{
        margin:0 20px;
    }
    .page-header{
        flex-direction: column;
        align-items: center;
    }
    .home-content {
        height: 520px;
        width: 335px;
        margin: 0 auto;
    }
    .head{
        margin-top: 5%;
    }
    .side{
        padding:5%;
    }
    .border {
        width: 90%;
        height: 480px;
    }
    .logo_head{
        width: 80px;
        margin-top: 14px;
    }
    .image_r{
        width: 190px;
        height: 244px;
        right: calc(50% - 160px);
        bottom: calc(50% - 370px)
    }
    .fv_image_l{
        width: 250px;
        left:  calc(50% - 169px);
        bottom: calc(50% - 370px);
    }
    .fv_image_r{
        width: 250px;
        right: calc(50% - 180px);
        bottom: calc(50% - 247px);
    }
    .fv p{
        margin-top: 57px;
     }
    .sn{
        width: 50%;
        padding: 0px;
        margin: 11px auto;
        gap: 26px;
    }
    .cv_image {
        width: 80%;
    }
    .cv p{
        margin: 30px 0 40px;
    }
    .left_image_s{
        width: 40%;
        left: 9px;
        top: 250px;
    }
    .right_image_s{
        width: 40%;
        left: 207px;
        top: 290px;
    }
    img.last{
        height: 200px;
        object-fit: cover;
    }
    .last{
        height: 200px;
    }
}

