@charset "utf-8";

/*========= レイアウトのためのCSS ===============*/
body {
	font-family: "Noto Sans JP", メイリオ, sans-serif;
}

img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/*==================================================
スライダーのためのcss
===================================*/
#slider {
    width: 100%;
    height: 100vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}

@media screen and (max-width:418px) {
#slider h1 {
font-size: 2.5em;
}
}
@media screen and (max-width:418px) {
#g-nav-list ul li{
font-size: 1.5em;
}
}
@media screen and (min-width:419px) and (max-width:600px) {
#slider h1 {
width: 100%;
font-size: 3em;
}
}

@media screen and (min-width:601px) and (max-width:2000px) {
#slider h1 {
width: 100%;
font-size: 4.5em;
}
}
@media screen and (min-width:601px) and (max-width:2000px) {
.hamburger {
display: none;
}
}


/* lead */

#lead{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top:140px;
}

#lead .lead-img{
    width:46%;
    min-height: 400px;
    background: url("../img/homepage-design-iwaki13.jpg") no-repeat center;
    background-size: cover;
}

#lead .lead-area{
    width:52%;
    display: flex;
    flex-wrap: wrap;
    justify-content:space-around;
    flex-direction: row-reverse;
}

@media screen and (max-width:1060px) {
#lead .lead-img{
     width:30%;
}
#lead .lead-area{
    width:68%;
}
}

@media screen and (max-width:768px) {
#lead{
    flex-direction: column-reverse;
}

#lead .lead-img,
#lead .lead-area{
    width:100%;
} 
    
#lead .lead-img{
    min-height: 250px;
    }
    
#lead .lead-area{
    margin: 0 0 140px 0;
    min-height: 20em;
    justify-content: center;
}
}

#lead .lead-area h2,
#lead .lead-area p,
#lead .lead-area .lead-btn a{
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
}

#lead .lead-area h2{
    width:28%;
    line-height:2.5;
    font-size:1.4rem;
    font-family: "Yu Mincho", "Hiragino Pro", serif;
}

#lead .lead-area p{
     width:48%;   
    padding: 50px 0 0 0;
    line-height: 2.8;
}

#lead .lead-area .lead-btn{
    width:10%; 
    position: relative;
    top: 240px;
}

#lead .btn04{
    padding:20px 15px;
}


@media screen and (max-width:1300px) {
#lead .lead-area h2{
    line-height:2;
}
#lead .lead-area p{
    line-height: 2.3;
}    
}

@media screen and (max-width:768px) {
#lead .lead-area .lead-btn{
    width:100%;
    top: 50px;
    text-align: center;
}
    
    .btn04{
        width:250px;
    }
    
#lead .lead-area h2,
#lead .lead-area p{
    width:auto;
} 
    
#lead .lead-area h2{
    margin:0 0 0 20px;
    line-height: 2.2;
}
    
#lead .lead-area p{
    line-height: 2;
}  
    
#lead .lead-area .lead-btn a{
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
}

#lead .btn04{
    padding: 10px 30px;
}
    
}

@media screen and (max-width:470px) {
#lead .lead-area h2{
    line-height: 1.8;
}
#lead .lead-area p{   
    height: 23em;
}
    
_:-ms-lang(x)::-ms-backdrop, #lead .lead-area p{
    width:8em;
}
    
#lead .lead-area p br{
    display: none;
}
}

@media screen and (max-width:350px) {
#lead .lead-area h2{
    line-height: 1.6;
}
#lead .lead-area p {
    line-height: 1.8;
}
}
/* font-family */

#service-menu h2 {
    font-size: 4rem;
    text-align: center;
    margin: 0 0 50px 0;
    font-weight: normal;
    color: #030303;
}

@media screen and (max-width:768px) {
#service-menu h2 {
    font-size: 2.5rem;
    }
    
}

/* area */

#container{
    overflow-x: hidden;
}

/* menu */

#service-menu{
    padding: 70px 0;
    text-align: center;
    margin: 50px 0 0 0;
}

#service-menu section{
    background: #fff;
    margin: 0 0 10px 0;
}

#service-menu section h3{
    margin: 0 0 10px 0;
}

#service-menu .service-area{
    padding: 20px;
    box-shadow: 5px 0 10px #ccc;
}


/* service */

#service{
    position: relative;
    padding: 80px 0 0 0;
    text-align: center;
}

#service .fadeLeftTrigger{
    background:#F2F0ED;
    color: #000;
    width:100%;
	height: auto;
    padding: 50px 0 ;
    z-index: 1;
}

#service .fadeLeftTrigger h2{
    font-size: 2.3rem;
    margin: 0 0 20px 0;
    letter-spacing: 0.5em;
}

#service .fadeLeftTrigger li{
    margin: 0 0 10px 0;
	font-size: 1.8rem;
}



/* message */

#message{
    position: relative;
    padding:0 70px;
    
}

.message-area{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: row;
    
}

.message-img{
    background:url("../img/homepage-design-iwaki4.jpg") no-repeat center;
    background-size: cover;
    height: 50vh;
    width:40%;
	margin: auto;
}

.message-content{
    display: flex;
    justify-content: center;
    padding: 150px 0 0 0;
    width:45%;
}

.message-box{
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
}

.message-content h3,
.message-content p,
.message-content .message-btn{
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;    
    text-orientation: upright;
    height: 20em;
    letter-spacing: 0.1em;
}

.message-content h3{
    font-size:1.5rem;
    line-height: 2.5;
}

_:-ms-lang(x)::-ms-backdrop, .message-content h3{/*IE11用ハック*/
    width:30%;
}

.message-content p{
    line-height: 3.5;
    margin: 0 0 0 40px;
    font-weight: bold;
    
}

_:-ms-lang(x)::-ms-backdrop, .message-content p{/*IE11用ハック*/
    width:60%;
}

_:-ms-lang(x)::-ms-backdrop, .message-content .message-btn{/*IE11用ハック*/
    width:10%;
}

@media screen and (max-width:1280px) {

.message-content h3{
    line-height: 2;
    margin: 0 0 0 10px;
}

.message-content p{
    line-height: 3;
    margin: 0 0 0 20px;
}
    
}

@media screen and (max-width:1000px) {
.message-content p{
    line-height: 2;
}
}


@media screen and (max-width:768px) {
#message{
    padding: 0 30px;
}

.message-img,
.message-content{
        width:100%;
    }
    
    .message-img{
        height:40vh;
    }

    .message-content{
    padding:50px 0 0 0;
    }
    
.message-content h3,
.message-content p {
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    height: inherit;
    margin: 0 0 50px 0;
}
    
_:-ms-lang(x)::-ms-backdrop, .message-content h3,
_:-ms-lang(x)::-ms-backdrop, .message-content p {
    width:100%;
}
    
.message-content h3{
    text-align: center;
    font-size: 1.2rem;
}
.message-box{
    display: block;
}

}

.fadeLeftTrigger {
	width: 50%;
	height: 500px;
	opacity: 0;
}

.menu-area h2 {
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
}
.menu-area  li {
    text-align: center;
    font-weight: bold;
    line-height: 50px;
}
/*==================================================
スライダーのためのcss
===================================*/
.slid {/*横幅94%で左右に余白を持たせて中央寄せ*/
   width:94%;
    margin:0 auto;
}

.slid img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.slid .slick-slide {
    margin:0 10px;
} 

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next { 
     position: absolute;/*絶対配置にする*/
     top: 42%;
     cursor: pointer;/*マウスカーソルを指マークに*/
     /* outline: none;クリックをしたら出てくる枠線を消す */
     /* border-top: 2px solid red;矢印の色 */
     /* border-right: 2px solid blue;矢印の色 */
    height: 15px;
    width: 15px;
} 

 .slick-prev {/*戻る矢印の位置と形状*/
    left: -1.5%;
    transform: rotate(-135deg);
} 

 .slick-next {/*次へ矢印の位置と形状*/
    right: -1.5%;
    transform: rotate(45deg);
} 

/*ドットナビゲーションの設定*/

 .slick-dots {
    text-align:center;
	margin:20px 0 0 0;
} 

 .slick-dots li {
    display:inline-block;
	margin:0 5px;
}

 .slick-dots button {
    color: transparent;
    outline: none;
     width:8px;/*ドットボタンのサイズ*/
     height:8px;/*ドットボタンのサイズ*/
    display:block; 
    border-radius:50%; 
    background:#ccc;/*ドットボタンの色*/
} 
 
.slick-dots .slick-active button{
    background:#333;/*ドットボタンの現在地表示の色*/
}

/* contact */

#contact{
    position: relative;
    margin:0 0 100px 0;
    padding: 130px 0 0 0;
    text-align: center;
}

#contact h2{
    margin: 0 0 10px 0;
    font-size:2.5rem;
    letter-spacing: 0.1em;
}

@media screen and (max-width:960px) {
#contact h2{
    font-size: 2rem;
    }
}

@media screen and (max-width:768px) {
#contact h2{
    font-size: 1.5rem;
    padding-bottom: 20px;
    }
}
#contact p{
    font-size: 1.3rem;
    display: block;
    letter-spacing: 0.1em;

}
#contact h2 span{
    font-size: 1rem;
    display: block;
}

#contact ul{
    margin: 20px 0 50px 0;
    letter-spacing: 0.1em;
}

#contact li {
    display: inline-block;
}

@media screen and (max-width:530px) {
    #contact li{
        display: block;
    }   
}


/*========= レイアウトのためのCSS ===============*/


a:hover,
a:active{
	text-decoration: none;
}
h1 {
    text-align: center;
	margin: 20px 0;
	font-size:100px;
	color: #D2B48C;
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

ul{
	margin:0;
	padding: 0;
	list-style: none;
}

/*========= 光りながら出現させるためのCSS ===============*/

.glowAnime span{opacity: 0;}
/*アニメーションで透過を0から1に変化させtext-shadowをつける*/
.glowAnime.glow span{ animation:glow_anime_on 2s ease-out forwards; }

@keyframes glow_anime_on{
	0% { opacity:0; text-shadow: 0 0 0 #fff,0 0 0 #fff;}
	50% { opacity:1;text-shadow: 0 0 10px #fff,0 0 15px #fff; }
	100% { opacity:1; text-shadow: 0 0 0 #fff,0 0 0 #fff;}
}

footer {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 3;
}

footer span {
  display: inline-block;
  font-size: 38px;
  font-weight: bold;
  background: linear-gradient(90deg, #58c6ff 0%, #076ad9 40%, #3bffd5 80%);
  width: 100%;
  height: 100px;
  text-align: center;
  padding: 20px 0 0 0;
  color: #D2B48C;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
}

footer small{
    display: block;
    width: 100%;
    font-size: 1.3rem;
    text-align: center;
}