/* --------------------------------------------
・共通
--------------------------------------------*/
html {
width: 100%;
    height: 100%;
	}

*, ::after, ::before{
	padding: 0;
    margin: 0;
    box-sizing: border-box;
	background-repeat: no-repeat;
	text-decoration: inherit;
    vertical-align: inherit;
}

body {
	color: #444;
	width: 100%;
	height: 100%;
}

.main {
	width: 100%;
	height: 100%;
}

p {
    font-size: 16px;
    line-height: 1.8;
}

h1 {
    position: fixed;
    -ms-position: fixed;
    -webkit-position: fixed;
    -o-position: fixed;
    top: 15px;
    left: 2%;
    transform: translate(-2% , -2.5%);
    -webkit-transform: translate(-2% , -2.5%);
	-ms-transform: translate(-2% , -2.5%);
	-o-transform: translate(-2% , -2.5%);
	-moz-transform: translate(-2% , -2.5%);
    font-size: 30px;
    color: #2C7CFF;
    font-weight: 300;
    z-index: 20;
}
h2 {
	font-size: 30px;
	margin-bottom: 15px;
}


h3 {
	font-size: 26px;
}

.wrapper {
	width: 100%;
    height: 100%;
	}

a {
    display: block;
	text-decoration: none;
	color: #555555;
}

a:hover {
	cousor: pointer;
}

.hover_dark {
    background: #000;
    overflow: hidden;
}

.hover_dark img{
    transition-duration: 0.3s;
    -ms-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
    border: 1px solid #999;
  }

.hover_dark:hover img{
    opacity: 0.9;
    transition-duration: 0.3s;
    -ms-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
}

.link_hover {
    overflow: hidden;
    border: 2px solid #ddd;
}

.link_hover img{
    transition-duration: 0.5s;
    -ms-transition-duration: 0.5s;
-o-transition-duration: 0.5s;
-moz-transition-duration: 0.5s;
}

.link_hover img:hover{
    transform: scale(1.03) rotate(1deg);
    -webkit-transform: scale(1.03) rotate(1deg);
-ms-transform: scale(1.03) rotate(1deg);
-o-transform: scale(1.03) rotate(1deg);
-moz-transform: scale(1.03) rotate(1deg);
    transition-duration: 0.5s;
    -ms-transition-duration: 0.5s;
-o-transition-duration: 0.5s;
-moz-transition-duration: 0.5s;
  }

img {
    width: 100%;
	max-width: 100%;
    border: none;
    vertical-align: top;
}

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

button {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	-ms-border-radius: 0;
-o-border-radius: 0;
-moz-border-radius: 0;
	background: transparent;
	color: inherit;
	vertical-align: middle;
	text-align: inherit;
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
}

video {
	max-width: 100%;
	margin-top: 20px;
}



.br_745_sp {
    display: none;
}

.br_475_sp {
    display: none;
}




.inner {
	 width: 85%;
    max-width: 1200px;
    margin: 0 auto;
}



/*========= 画面遷移のためのCSS ===============*/

/*画面遷移アニメーション*/
.splashbg{
    display: none;
}

/*bodyにappearクラスがついたら出現*/
body.appear .splashbg{
    display: block;
    content: "";
    position:fixed;
    -ms-position: fixed;
    -webkit-position: fixed;
    -o-position: fixed;
	z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
	left: 0;
    transform: scaleY(0);
    background-color: #000000;/*伸びる背景色の設定*/
	animation-name:PageAnime;
	animation-duration:1.4s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;
}

@keyframes PageAnime{
	0% {
		transform-origin:top;
		transform:scaleY(0);
	}
	50% {
		transform-origin:top;
		transform:scaleY(1);
	}
	50.001% {
		transform-origin:bottom;
	}
	100% {
		transform-origin:bottom;
		transform:scaleY(0);
	}
}

/*画面遷移の後現れるコンテンツ設定*/
#container{
	opacity: 0;/*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.appear #container{
	animation-name:PageAnimeAppear;
	animation-duration:1.3s;
	animation-delay: 1.2s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes PageAnimeAppear{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}


/*========= トップローディングのためのCSS ===============*/

/* Loading背景画面設定　*/
#splash {
    /*fixedで全面に固定*/
  position: fixed;
  -ms-position: fixed;
    -webkit-position: fixed;
    -o-position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  top: 0;
  background:#000;
  text-align:center;
  color:#fff;
}

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

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

/* fadeUpをするアイコンの動き */

.fadeUp{
animation-name: fadeUpAnime;
animation-duration:.8s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

#loading_top.appear_top .splashbg{
    display: block;
    content: "";
    position:fixed;
    -ms-position: fixed;
    -webkit-position: fixed;
    -o-position: fixed;
	z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
	left: 0;
    transform: scaleY(0);
    background-color: #fff;/*伸びる背景色の設定*/
	animation-name:PageAnime;
	animation-duration:1.4s;
    animation-delay: 1.5s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;
}



#loading_top.appear_top #container{
	animation-name:PageAnimeAppear;
	animation-duration:2s;
    animation-delay: 2.7s;
	animation-fill-mode:forwards;
	opacity: 0;
}




/* --------------------・スクロールアニメーション---------------------------*/

.scrollanime {
    opacity: 0; /*一瞬表示されるのを防ぐ*/
} 


.fadeInDown {
    animation: fadeInDown 1s forwards;
    -webkit-animation: fadeInDown 1s forwards;
-ms-animation: fadeInDown 1s forwards;
-o-animation: fadeInDown 1s forwards;
-moz-animation: fadeInDown 1s forwards;
}

@keyframes fadeInDown {
    0% {
        opacity: 0;         
    }
    
    100% {
        opacity: 1;
        transform: translate(0);
	-webkit-transform: translate(0);
	-ms-transform: translate(0);
	-o-transform: translate(0);
	-moz-transform: translate(0);
    }
}
 
/*2.上下の動きを指定*/
.updown {
    transform: translateY(-30px);
    -webkit-transform: translateY(-30px);
	-ms-transform: translateY(-30px);
	-o-transform: translateY(-30px);
	-moz-transform: translateY(-30px);
}
.downup {
    transform: translateY(20px);
    -webkit-transform: translateY(20px);
	-ms-transform: translateY(20px);
	-o-transform: translateY(20px);
	-moz-transform: translateY(20px);
}
 
/*3.左右の動きを指定*/
.sect02{overflow: hidden;} /*横スクロールバーを隠す*/
.slide-right {
    transform: translateX(200px);
    -webkit-transform: translateX(200px);
	-ms-transform: translateX(200px);
	-o-transform: translateX(200px);
	-moz-transform: translateX(200px);
}
.slide-left {
    transform: translateX(-200px);
    -webkit-transform: translateX(-200px);
	-ms-transform: translateX(-200px);
	-o-transform: translateX(-200px);
	-moz-transform: translateX(-200px);
}


/* --------------------・ページトップへ---------------------------*/

#page_top {
    position: fixed;
    -ms-position: fixed;
    -webkit-position: fixed;
    -o-position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 5;
}

#page_top a {
    position: relative;
    -ms-position: relative;
    -webkit-position: relative;
    -o-position: relative;
    width: 60px;
    height: 60px;
    display: block;
    text-indent: -3000px;
    background-color: #808080;
    opacity: .7;
    border-radius: 50%;
   -ms-border-radius: 50%;
-o-border-radius: 50%;
-moz-border-radius: 50%;
   }

#page_top a:before {
    content: '';
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    top: 25px;
    left: 21px;
    width: 16px;
    height: 16px;
    margin: 0;
    display: block;
    display: inline-block;
    vertical-align: middle;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* --------------------------------------------
・共通レスポンシブ
 --------------------------------------------*/
  @media(max-height: 700px) { 
}
 @media(max-width: 1400px) {

    h1 {
        font-size: 30px;
    }

     h2 {
         font-size: 28px;
     }

    h3 {
        font-size: 24px;
    }
}

@media(max-width: 1025px) {
    .inner {
        width: 100%;
    }

    h1 {
        top: 16px;
        font-size: 26px;
    }

    h2 {
        font-size: 24px;
    }

    h3 {
        font-size: 22px;
    }

    
}

@media(max-width: 745px) {
    .title_box {
        padding: 30px 0;
    }
    
    h2 {
        font-size: 20px;
    }

    h3 {
        font-size: 18px;
    }

    h2:before , h2:after {
        width: 20%;
    }

    .br_pc {
        display: none;
    }
    
    .br_745_pc {
        display: none;
    }

    .br_745_sp {
        display: block;
    }

    #page_top {
        position: fixed;
        -ms-position: fixed;
    -webkit-position: fixed;
    -o-position: fixed;
        bottom: 15px;
        right: 20px;
    }
    
    #page_top a {
        width: 40px;
        height: 40px;
    }

    #page_top a:before {
        top: 17px;
        left: 15px;
        width: 8px;
        height: 8px;
        margin: 0;  
    }
   
}

@media(max-width: 475px) {

    h2:before , h2:after {
        width: 17%;
    }

    h2 {
        font-size: 18px;
    }

    h3 {
        font-size: 15px;
    }

    .br_475_pc {
        display: none;
    }
    
    .br_475_sp {
        display: block;
    }

    p {
        font-size: 14px;
    }
    

  
}

@media(max-width: 375px) {

    h2:before , h2:after {
        width: 15%;
    }

    h2 {
        font-size: 18px;
    }

    
}




/* --------------------------------------------
・ヘッダー
 --------------------------------------------*/
 header {
    width: 100%;
    border-bottom: 1px solid #ddd;
}
.header_box{
    position: relative;
    -ms-position: relative;
    -webkit-position: relative;
    -o-position: relative;
    width: 100%;
}

.header_logo {
	position: fixed;
    -ms-position: fixed;
    -webkit-position: fixed;
    -o-position: fixed;
	top: 30%;
	left: 2%;
    transform: translate(-2% , -30%);
	-ms-transform: translate(-2% , -30%);
	-webkit-transform: translate(-2% , -30%);
	-o-transform: translate(-2% , -30%);
	-moz-transform: translate(-2% , -30%);
	width: 120px;
}

.contact_img {
    position: fixed;
    -ms-position: fixed;
    -webkit-position: fixed;
    -o-position: fixed;
    top: 50%;
    right: 0%;
    transform: translate(0 , -50%);
    -webkit-transform: translate(0 , -50%);
-ms-transform: translate(0 , -50%);
-o-transform: translate(0 , -50%);
-moz-transform: translate(0 , -50%);
    width: 100px;
    text-align: center;
}

.contact_img img {
    max-width: 50px;
}

.contact_img p {
    
font-size: 14px;
color: #777;
}

.menu_box {
    position: fixed;
    -ms-position: fixed;
    -webkit-position: fixed;
    -o-position: fixed;
    height: 70px;
    top: 0;
    left: 0;
    transform: translate(0 , 0);
-webkit-transform: translate(0 , 0);
-ms-transform: translate(0 , 0);
-o-transform: translate(0 , 0);
-moz-transform: translate(0 , 0);
    width: 100%;
    background: #fff;
    box-shadow: 2px 0 4px #333;
-webkit-box-shadow: 2px 0 4px #333;
-ms-box-shadow: 2px 0 4px #333;
-o-box-shadow: 2px 0 4px #333;
-moz-box-shadow: 2px 0 4px #333;
    z-index: 10;
}

/*　上に上がる動き　*/

#header.UpMove{
	animation: UpAnime 0.5s forwards;
    -webkit-animation: UpAnime 0.5s forwards;
-ms-animation: UpAnime 0.5s forwards;
-o-animation: UpAnime 0.5s forwards;
-moz-animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(0);
    -webkit-transform: translateY(0);
-ms-transform: translateY(0);
-o-transform: translateY(0);
-moz--o-transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-100px);
    -webkit-transform: translateY(0);
-ms-transform: translateY(0);
-o-transform: translateY(0);
-moz-transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#header.DownMove{
	animation: DownAnime 0.5s forwards;
    -webkit-animation: DownAnime 0.5s forwards;
-ms-animation: DownAnime 0.5s forwards;
-o-animation: DownAnime 0.5s forwards;
-moz-animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
    -webkit-transform: translateY(-100px);
-ms-transform: translateY(-100px);
-o-transform: translateY(-100px);
-moz-transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
    -webkit-transform: translateY(0);
-ms-transform: translateY(0);
-o-transform: translateY(0);
-moz-transform: translateY(0);
  }
}


.top_height {
	height: 100%;
}


.header_height {
    position: fixed;
    -ms-position: fixed;
    -webkit-position: fixed;
    -o-position: fixed;
    top: 0;
    left: 0;
    transform: translate(0 , 0);
-webkit-transform: translate(0 , 0);
-ms-transform: translate(0 , 0);
-o-transform: translate(0 , 0);
-moz-transform: translate(0 , 0);
    height: 60px;
    width: 100%;
    background: #fff;
    box-shadow: 2px 0 4px #333;
-webkit-box-shadow: 2px 0 4px #333;
-ms-box-shadow: 2px 0 4px #333;
-o-box-shadow: 2px 0 4px #333;
-moz-box-shadow: 2px 0 4px #333;
    z-index: 10;
}

.menu {
	position: fixed;
    -ms-position: fixed;
    -webkit-position: fixed;
    -o-position: fixed;
	top: 30px;
	left: 50%;
    transform: translate(-50% , -5%);
    -webkit-transform: translate(-50% , -5%);
-ms-transform: translate(-50% , -5%);
-o-transform: translate(-50% , -5%);
-moz-transform: translate(-50% , -5%);
	display: flex;
	-webkit-display: flex;
    -ms-display: flex;
    -o-display: flex;
    -moz-display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    -moz-justify-content: space-between;
    font-size: 15px;
    min-width: 880px;
    z-index: 20;
}

.menu-list a {
    width: 100%;
    height: 100%;
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    justify-content: center;
    -webkit-justify-content: center;
	-ms-justify-content: center;
	-o-justify-content: center;
	-moz-justify-content: center;
    align-items: center;
    color: #777;
    position: relative;
    -ms-position: relative;
    -webkit-position: relative;
    -o-position: relative;
}

.menu-list a::after {
    position: absolute;
    -ms-position: absolute;
    -webkit-position: absolute;
    -o-position: absolute;
    bottom: 1px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #777;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    -ms-transition: .3s;
    -webkit-transition: .3s;
    -o-transition: .3s;

  }
  .menu-list a:hover::after {
    bottom: -5px;
    opacity: 1;
    visibility: visible;
  }

.btn {
	/* ボタンの配置位置  */
	position: fixed;
    -ms-position: fixed;
    -webkit-position: fixed;
    -o-position: fixed;
	/* ボタンの大きさ  */
	width: 35px;
	height: 35px;
    padding: 3px 2px 3px 7px;
    z-index: 20;	/* 最前面に */
    cursor: pointer;
}

#slider {
    width: 85%;
    max-width: 1100px;
    height: 70vh;
    margin: 110px auto 75px;
}

/* --------------------　スクロールダウン　--------------------*/

/*スクロールダウン全体の場所*/
.scrolldown2{
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
  bottom:-10%;
  left:50%;
}

/*Scrollテキストの描写*/
.scrolldown2 span{
    /*描画位置*/
  position: absolute;
  -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
  left:10px;
  bottom:5px;
    /*テキストの形状*/
  color: #666;
  font-size: 1rem;
  letter-spacing: 0.05em;
  /*縦書き設定*/
  -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown2:before {
    content: "";
    /*描画位置*/
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom:0;
    left:-4px;
    /*丸の形状*/
  width:10px;
  height:10px;
  border-radius: 50%;
  background:#666;
    /*丸の動き1.6秒かけて透過し、永遠にループ*/
  animation:
    circlemove 2.3s ease-in-out infinite,
    cirlemovehide 2.3s ease-out infinite;
    -webkit-animation:
    circlemove 2.3s ease-in-out infinite,
    cirlemovehide 2.3s ease-out infinite;
    -ms-animation:
    circlemove 2.3s ease-in-out infinite,
    cirlemovehide 2.3s ease-out infinite;
    -o-animation:
    circlemove 2.3s ease-in-out infinite,
    cirlemovehide 2.3s ease-out infinite;
    -moz-animation:
    circlemove 2.3s ease-in-out infinite,
    cirlemovehide 2.3s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:45px;}
     100%{bottom:-5px;}
 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
  100%{opacity:0;}
 }

/* 線の描写 */
.scrolldown2:after{
  content:"";
    /*描画位置*/
  position: absolute;
  -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
  bottom:0;
  left:0;
    /*線の形状*/
  width:2px;
  height: 50px;
  background:#666;
}


/* --------------------------------------------
・ヘッダーレスポンシブ
 --------------------------------------------*/
 

 
@media(max-width: 1400px) {
    
    .header_logo {
        width: 100px;
    }

    .menu {
        font-size: 14px;
        min-width: 710px;
    }
}

@media(max-width: 1025px) {
    .header_logo {
        position: fixed;
        -ms-position: fixed;
  -webkit-position: fixed;
  -o-position: fixed;
        top: 30%;
        left: 50%;
        transform: translate(-50% , -30%);
        -ms-transform: translate(-50% , -30%);
        -webkit-transform: translate(-50% , -30%);
        -o-transform: translate(-50% , -30%);
        -moz-transform: translate(-50% , -30%);
        width: 100px;
    }

    .header_height {
        height: 60px;
    }

    #slider {
        width: 100%;
        margin: 70px auto;
    }
}

@media(max-width: 745px) {
    .menu_box {
        height: 60px;
    }
    

}

@media(max-width: 475px) {

    .menu_box {
        height: 50px;
    }

    .header_logo {
        left: 2%;
        transform: translate(-2% , -30%);
        -ms-transform: translate(-2% , -30%);
        -webkit-transform: translate(-2% , -30%);
        -o-transform: translate(-2% , -30%);
        -moz-transform: translate(-2 , -30%);
    }
    

    #slider {
        width: 100%;
        margin: 0 auto;
    }
    .top_img {
        width: 90%;
    }


    .scrolldown2{
        display: none;
    }
}












/* --------------------------------------------
・ハンバーガーレスポンシブ
 --------------------------------------------*/
 @media(max-width: 1025px) {
 /***** ハンバーガーメニュー *****/

    /***** 真ん中のバーガー線 *****/
    .menu {
	    position: fixed;
        -ms-position: fixed;
  -webkit-position: fixed;
  -o-position: fixed;
        left: 0;
    	top: 0;    
        width: 100%;
        height: 100vh;
        background: #fdf5e6;
        flex-direction: column;
	    -webkit-flex-direction: column;
        -ms-flex-direction: column;
        -o-flex-direction: column;
        -moz-flex-direction: column;
        justify-content: flex-start;
        -webkit-justify-content: flex-start;
	-ms-justify-content: flex-start;
	-o-justify-content: flex-start;
	-moz-justify-content: flex-start;
	transform: translate(0 , 0);
    -webkit-transform: translate(0 , 0);
-ms-transform: translate(0 , 0);
-o-transform: translate(0 , 0);
-moz-transform: translate(0 , 0);
padding: 80px;
opacity: 0;
visibility: hidden;
    }

    .contact_img {
        
        right: 55px;
        top: 42px;
        opacity: 0;    
    }

    .menu.open {
        transition: .8s;
        -ms-transition: .8s;
         -o-transition: .8s;
         -moz-transition: .8s;
        background: #ECE8E1;
        height: 100vh;
        z-index: 20;
        min-width: auto;
        opacity: 1;
        visibility: visible;
     }
 
     .contact_img.open {	
         opacity: 1; /* 非表示のメニューを表示させている */
         transition: .8s;
         -ms-transition: .8s;
          -o-transition: .8s;
          -moz-transition: .8s;
         z-index: 20;
      }

      .contact_img img {
        max-width: 42px;
    }
    
    .menu .menu-list {
        width: 35%;
        min-width: 220px;
        height: 10%;
        /* メニューテキスト位置をリスト内中心に */
        margin: 0 auto;
        text-align: center;
        border-bottom: #a9a9a9 solid 1px;
    }
    
    .btn {
        position: fixed;
        -ms-position: fixed;
  -webkit-position: fixed;
  -o-position: fixed;
        top: 18px;
        right: 20px;
        z-index: 25;
    }
    
    /* -------- ハンバーガーメニュー背景色スライド -------- */
    .menu-list a {
    	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(150,150,150,150) 50%);
        background-position: 0 0;
        background-size: 200% auto;
	    align-items: center;
	    color: #777;
	    text-shadow: 0 0 0;
	    -webkit-text-shadow: 0 0 0;
        -ms-text-shadow: 0 0 0;
        -o-text-shadow: 0 0 0;
        -moz-text-shadow: 0 0 0;
    }
    
    .menu-list a:hover {
        background-position: -100%, 0;
        color: #fff;
        transform: scale(1, 1);
	    -webkit-transform: scale(1, 1);
	    -ms-transform: scale(1, 1);
	    -o-transform: scale(1, 1);
	    -moz-transform: scale(1, 1);
    }
    /* -------- ハンバーガーメニュー背景色スライド -------- */
    
    
    .btn-line {
        display: block;
        position: relative;	/* 上下の線の基準に指定 */
        -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
        /* 線の長さと高さ */
        width: 85%;
        height: 2px;
        background: #777;	/* バーガー線の色 */
        transition: .5s;
	    -ms-transition: .5s;
	    -o-transition: .5s;
	    -moz-transition: .5s;
    }

    .btn-line::before , .btn-line::after {
	   content: "";
	   position: absolute;
       -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
	   /* 元要素と同じの大きさに(.btn-line)　*/
	   width: 100%;
	   height: 100%;
	   background: #777;
	   transition: .5s;
	   -ms-transition: .5s;
	    -o-transition: .5s;
	    -moz-transition: .5s;
    }

    .btn-line::before {
	   transform: translateY(-8px);	
	   -webkit-transform: translateY(-8px);
	   -ms-transform: translateY(-8px);
	   -o-transform: translateY(-8px);
	   -moz-transform: translateY(-8px);
        /* 上の線の位置(「position」指定だと崩れやすいため
        「transform: translateY」で指定 )*/    }

    .btn-line::after {
	   transform: translateY(8px);	/* 下の線の位置 */
	   -webkit-transform: translateY(8px);
	   -ms-transform: translateY(8px);
	   -o-transform: translateY(8px);
	   -moz-transform: translateY(8px);
    }

    

    /***** メニューオープン時 *****/
    .btn-line.open {
	   background: transparent;	/* 真ん中の線を透明に */
    }

    .btn-line.open::before , .btn-line.open::after {
	   content: "";
	   /*background: #333;	 上下の線の色を変える */
	   transition: .5s;
       -ms-transition: .5s;
	    -o-transition: .5s;
	    -moz-transition: .5s;
    }

    .btn-line.open::before {
	   transform: rotate(45deg);	/* 上の線を傾ける */
	   -webkit-transform: rotate(45deg);
	   -ms-transform: rotate(45deg);
	   -o-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
    }

    .btn-line.open::after {
	   transform: rotate(-45deg);	/* 下の線を傾ける */
	   -webkit-transform: rotate(-45deg);
	   -ms-transform: rotate(-45deg);
	   -o-transform: rotate(-45deg);
	   -moz-transform: rotate(-45deg);
    }
}

@media(max-width: 745px) {
.btn {
    top: 12px;
}
}

 @media(max-width: 700px) {

    h1 {
        display: block;
        position: fixed;
        -ms-position: fixed;
  -webkit-position: fixed;
  -o-position: fixed;
        top: 15px;
        left: 7px;
        font-size: 26px;
        z-index: 15;
    }
    
    
}

@media(max-width: 475px) {
    .menu {
        font-size: 14px;
    }

    .menu .menu-list {
        width: 60%;
        min-width: 190px;
    }

    .btn {
        top: 7px;
    }

    .contact_img.open {
        top: 36px;
     }
}

@media(max-width: 475px) { 
    h1 {
        font-size: 20px;
        top: 20px;
    }
    .header_height {
        height: 60px;
    }

}


/* --------------------------------------------
・Scroll矢印モーション
 --------------------------------------------*/

@media(max-height: 900px) {
    /*Scrollテキストの描写*/
.scrolldown4 span{
    /*描画位置*/
	left:-22px;
	bottom:10%;
    /*テキストの形状*/
	font-size: 22px;
}

/* 矢印の描写 */
.scrolldown4:before {
    content: "";
    /*描画位置*/
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: 10%;
    right: -22px;
    /*矢印の形状*/
    width: 3px;
    height: 20px;
    background: #fff;
    transform: skewX(-45deg);
    -webkit-transform: skewX(-45deg);
    -ms-transform: skewX(-45deg);
    -o-transform: skewX(-45deg);
    -moz-transform: skewX(-45deg);
}

.scrolldown4:after{
	content:"";
    /*描画位置*/
	position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
	bottom:10%;
	right:-12px;
    /*矢印の形状*/
	width:3px;
	height: 70px;
	background:#fff;
}

}




/* --------------------------------------------
・トップページ
 --------------------------------------------*/
main {
    z-index: 10;
 }

 .title_center {
    text-align: center;
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
}

.title_center h2 {
    margin-bottom: 40px;
}

.text_blue {
    color: #006699;
}

.polka_lf {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    top: -180%;
    left: 5%;
    transform: translate(-5% , 180%);
    -webkit-transform: translate(-5% , 180%);
-ms-transform: translate(-5% , 180%);
-o-transform: translate(-5% , 180%);
-moz-transform: translate(-5% , 180%);
    width: 130px;
}

.polka_rg {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: -25%;
    right: 3%;
    transform: translate(3% , 25%);
    -webkit-transform: translate(3% , 25%);
-ms-transform: translate(3% , 25%);
-o-transform: translate(3% , 25%);
-moz-transform: translate(3% , 25%);
    width: 150px;
}

#top_content {
   padding: 150px 0;
  }

@media(max-width: 1400px) {
    .polka_rg {
        bottom: -25%;
        right: 0%;
        transform: translate(0 , 25%);
        -webkit-transform: translate(0 , 25%);
-ms-transform: translate(0 , 25%);
-o-transform: translate(0 , 25%);
-moz-transform: translate(0 , 25%);
    }
}

@media(max-width: 1025px) {
    .polka_lf {
        top: -200%;
        left: 5%;
        transform: translate(-5% , 200%);
        -webkit-transform: translate(-5% , 200%);
-ms-transform: translate(-5% , 200%);
-o-transform: translate(-5% , 200%);
-moz-transform: translate(-5% , 200%);
        width: 110px;
    }

    .polka_rg {
        bottom: -45%;
        transform: translate(0 ,45%);
        -webkit-transform: translate(0 ,45%);
-ms-transform: translate(0 ,45%);
-o-transform: translate(0 ,45%);
-moz-transform: translate(0 ,45%);
        width: 130px;
    }
}

@media(max-width: 745px) {
    #top_content {
        padding: 120px 0;
       }

    .title_center {
        width: 95%;
    }

    .polka_lf {
        top: -85%;
        left: 5%;
        transform: translate(-5% , 85%);
        -webkit-transform: translate(-5% , 85%);
-ms-transform: translate(-5% , 85%);
-o-transform: translate(-5% , 85%);
-moz-transform: translate(-5% , 85%);
        width: 80px;
    }

    .polka_rg {
        bottom: -35%;
        transform: translate(0 ,35%);
        -webkit-transform: translate(0 ,35%);
-ms-transform: translate(0 ,35%);
-o-transform: translate(0 ,35%);
-moz-transform: translate(0 ,35%);
        width: 100px;
    }
   
}

@media(max-width: 475px) {

    #top_content {
        padding: 100px 0;
       }

    .polka_lf {
        top: -65%;
        left: 2%;
        transform: translate(-2% , 55%);
        -webkit-transform: translate(-2% , 55%);
-ms-transform: translate(-2% , 55%);
-o-transform: translate(-2% , 55%);
-moz-transform: translate(-2% , 55%);
        width: 60px;
    }

    .polka_rg {
        width: 85px;
    }
    
}

/********** トップ プロフィール **********/  

.bg_beige {
    background: #ECE8E1;
}

.profile_flex {
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    justify-content: space-around;
    padding: 80px 0;
}

.profile_img {
    width: 30%;
    max-width: 360px;
    min-width: 310px;
}

.profile_text {
    width: 55%;
}

.profile_text p:nth-of-type(1) {
    font-size: 30px;
    margin-bottom: 10px;
    line-height: 1;
}

.profile_text p:nth-of-type(2) {
    font-size: 18px;
    margin-bottom: 15px;
}

.profile_text p:nth-of-type(3) {
    text-align: justify;
}

.profile_name {
    font-size: 24px;
    margin-left: 50px;
}

@media(max-width: 1025px) {
    .profile_flex {
        flex-direction: column;
        -webkit-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
-moz-flex-direction: column;
        align-items: center;
    }

    .profile_text {
        margin-top: 40px;
        min-width: 520px;
    }

    .profile_text p:nth-of-type(1) {
        font-size: 24px;
        text-align: center;
        margin-bottom: 10px;
        line-height: 1;
    }

    .profile_text p:nth-of-type(2) {
        text-align: center;
    }
}

@media(max-width: 745px) {

    .profile_img {
        min-width: 270px;
    }

    .profile_text {
        min-width: 420px;
    }

    .profile_text p:nth-of-type(1) {
        font-size: 20px;
        margin-bottom: 10px;
        line-height: 1;
    }

    .profile_name {
        font-size: 20px;
        margin-left: 50px;
    }
   
}

@media(max-width: 475px) {

    .profile_img {
        min-width: 250px;
    }

    .profile_text {
       width: 90%;
       min-width: auto;
    }


    .profile_text p:nth-of-type(1) {
        font-size: 18px;
        margin-bottom: 10px;
        line-height: 1;
    }

    .profile_name {
        font-size: 18px;
        margin-left: 50px;
    }
    
}


/********** トップ メインコンテンツ4つ **********/

.content_box {
    margin: 130px auto;
}

.main_flex {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    justify-content: space-around;
}

.main_flex2 {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    justify-content: space-around;
}

.h2_box {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    padding: 1.5em 1em;
}

.h2_box:before ,  .h2_box:after {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    width: 20px;
    height: 30px;
}

.h2_box:before {
    border-top: solid 2px #006699;
    border-left: solid 2px #006699;
    top: 0;
    left: 0;
}

.h2_box:after {
    border-right: solid 2px #006699;
    border-bottom: solid 2px #006699;
    bottom: 0;
    right: 0;
}

.main_vertical1 {
    width: 20%;
    writing-mode: vertical-rl;
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    align-items: center;
    margin-top: 20px;
}

.main_rg1 {
    width: 65%;
}
.main_rg1_1 {
    width: 65%;
}

.main_rg1 h3 {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    margin: 35px 0 20px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 10px;
    line-height: 1.3;
}

.main_rg1_1 h3 {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    margin: 35px 0 20px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 10px;
    line-height: 1.3;
}

.main_rg1 h3:before {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: -2px;
    left: 0;
    height: 2px;
    width: 180px;
    background: #006699;
}
.main_rg1_1 h3:before {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: -2px;
    left: 0;
    height: 2px;
    width: 180px;
    background: #006699;
}

.main_rg1 p {
    line-height: 1.5;
}

.main_rg1_1 p {
    line-height: 1.5;
}

.main_polka1 {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: 10%;
    left: 2%;
    transform: translate(-2% , -10%);
    -webkit-transform: translate(-2% , -10%);
-ms-transform: translate(-2% , -10%);
-o-transform: translate(-2% , -10%);
-moz-transform: translate(-2% , -10%);
    width: 150px;
}
 
.main_polka2 {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: 10%;
    right: 2%;
    transform: translate(-2% , -10%);
    -webkit-transform: translate(-2% , -10%);
-ms-transform: translate(-2% , -10%);
-o-transform: translate(-2% , -10%);
-moz-transform: translate(-2% , -10%);
    width: 150px;
}

/********** 枠線 **********/

.sq_box {
        width: 220px;
        height: 57px;
        margin-top: 35px;
        margin-left: auto;
    }
    
    
    .sq_link {
        position: relative;
        -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
        color: #1a1a1a;
        font-weight: 400;
        text-align: center;
        width: 100%;
        height: 100%;   
    }
    
    .sq_top {
        position: absolute;
        -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
        right: 0;
        top: 0;
        width: 220px;
        height: 1px;
        background: #999;
    }
    
    .sq_right {
        position: absolute;
        -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
        right: 0;
        top: 0;
        width: 1px;
        height: 57px;
        background: #999;
    }
    
    
    .sq_bottom {
        position: absolute;
        -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
        right: 0;
        bottom: 0;
        width: 220px;
        height: 1px;
        background: #999;
    }
    
    .sq_left {
        position: absolute;
        -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
        left: 0;
        top: 0;
        width: 1px;
        height: 57px;
        background: #999;
    }
    
    .sq_top2,  .sq_right2 {
        position: absolute;
        -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
        right: 0;
        top: 0;
        width: 1px;
        height: 0;
        background: #333;
    }
    
    .sq_bottom2,  .sq_left2{
        position: absolute;
        -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
        left: 0;
        bottom: 0;
        width: 0;
        height: 1px;
        background: #333;
    }
    
    .sq_1, .sq_3{
        width: 100%;
        height: 100%;
    }
    
    .sq_2 , .sq_4 {
        width: 100%;
        height: 100%;
        position: absolute;
        -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
        top: -7px;
        left: -7px;
    }
    
    .sq_link:hover .sq_top2 {
        width: 220px;
        height: 1px;
        transition: .8s;
        -ms-transition: .8s;
    -o-transition: .8s;
    -moz-transition: .8s;
    }
    
    .sq_link:hover .sq_right2 {
        width: 1px;
        height: 57px;
        transition: 1s;
        -ms-transition: .8s;
    -o-transition: .8s;
    -moz-transition: .8s;
    }
    
    .sq_link:hover .sq_bottom2 {
        width: 220px;
        height: 1px;
        transition: .8s .8s;
        -ms-transition: .8s .8s;
    -o-transition: .8s .8s;
    -moz-transition: .8s .8s;
    }
    
    .sq_link:hover .sq_left2 {
        width: 1px;
        height: 57px;
        transition: .8s .8s;
        -ms-transition: .8s .8s;
    -o-transition: .8s .8s;
    -moz-transition: .8s .8s;
    
    }
    
    /********** 枠線終了 **********/
    
    .sq_box p {
        font-size: 22px;
        color: #666;
        line-height: 2.3;
        margin-right: 20px;
    }
    
    .sq_box p:after {
        content: '';
      width: 15px;
      height: 15px;
      border-top: solid 2px #666;
      border-right: solid 2px #666;
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg);
      position: absolute;
      -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
      top: 28%;
      right: 15%;
    }

    @media(max-width: 1400px) {
        .main_rg1 h3 {
            font-size: 23px;
        }

        .main_rg1 {
            width: 75%;
        }

        .main_polka1 , .main_polka2{
            width: 130px;
        }
    }

    @media(max-width: 1025px) {
        .main_rg1 h3 {
            font-size: 20px;
        }

        .main_vertical1 {
            width: 0;
        }

        .main_polka1 {
            left: 4%;
            transform: translateX(-4%);
            -webkit-transform: translateX(-4%);
-ms-transform: translateX(-4%);
-o-transform: translateX(-4%);
-moz-transform: translateX(-4%);
            width: 100px;
        }

        .main_polka2{
            width: 100px;
        }
    }
    
    @media(max-width: 745px) {

        .content_box {
            margin: 80px auto;
        }

        .main_flex {
            flex-direction: column;
            -webkit-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
-moz-flex-direction: column;
            align-items: center;
            -webkit-align-items: center;
-ms-align-items: center;
-o-align-items: center;
-moz-align-items: center;
        }

        .main_flex2 {
            flex-direction: column-reverse;
            -webkit-flex-direction: column-reverse;
-ms-flex-direction: column-reverse;
-o-flex-direction: column-reverse;
-moz-flex-direction: column-reverse;
            align-items: center;
            -webkit-align-items: center;
-ms-align-items: center;
-o-align-items: center;
-moz-align-items: center;
        }

        .main_vertical1 {
            width: 100%;
            writing-mode: horizontal-tb;
        }

        .h2_box {
            position: relative;
            -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
            padding: 1em 3em;
            margin-bottom: 50px;
        }

        .h2_box:before ,  .h2_box:after {
            content: "";
            position: absolute;
            -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
            width: 30px;
            height: 20px;
        }

        .text_pc {
            display: none;
        }

        .main_rg1 {
            width: 90%;
        }

        .main_rg1 h3 {
            font-size: 18px;
        }

        .main_polka1 , .main_polka2{
            left: 10%;
            bottom: -2%;
            transform: translate(-10% , 2%);
            -webkit-transform: translate(-10% , 2%);
-ms-transform: translate(-10% , 2%);
-o-transform: translate(-10% , 2%);
-moz-transform: translate(-10% , 2%);
        }

/********** 枠線 **********/

        .sq_box p {
            font-size: 18px;
            line-height: 2.3;
            margin-right: 20px;
        }

        .sq_box p:after {
          width: 13px;
          height: 13px;
          top: 25%;
        }

        .sq_box {
            width: 200px;
            height:48px;
            margin-top: 35px;
        }
        
        .sq_top {
            width: 200px;
        }
        
        .sq_right {
            height: 48px;
        }
        
        
        .sq_bottom {
            width: 200px;
        }
        
        .sq_left {
            height: 48px;
        }
        
        .sq_link:hover .sq_top2 {
            width: 200px;
        }
        
        .sq_link:hover .sq_right2 {
            height: 48px;
        }
        
        .sq_link:hover .sq_bottom2 {
            width: 200px;
        }
        
        .sq_link:hover .sq_left2 {
            height: 48px;
        }
        
    }
    
    @media(max-width: 475px) {
        .main_rg1 h3 {
            font-size: 16px;
            padding-bottom: 5px;
        }

        .main_rg1 h3:before {
            width: 100px;
        }

        .main_polka1 , .main_polka2{
            bottom: -1%;
            transform: translate(-10% , 1%);
            -webkit-transform: translate(-10% , 1%);
-ms-transform: translate(-10% , 1%);
-o-transform: translate(-10% , 1%);
-moz-transform: translate(-10% , 1%);
            width: 80px;
        }


        /********** 枠線 **********/

        .sq_box p {
            font-size: 16px;
            line-height: 2.5;
            margin-right: 15px;
        }

        .sq_box p:after {
          top: 26%;
        }

        .sq_box {
            width: 170px;
            height:45px;
            margin-top: 35px;
        }
        
        .sq_top {
            width: 170px;
        }
        
        .sq_right {
            height: 45px;
        }
        
        
        .sq_bottom {
            width: 170px;
        }
        
        .sq_left {
            height: 45px;
        }
        
        .sq_link:hover .sq_top2 {
            width: 170px;
        }
        
        .sq_link:hover .sq_right2 {
            height: 45px;
        }
        
        .sq_link:hover .sq_bottom2 {
            width: 170px;
        }
        
        .sq_link:hover .sq_left2 {
            height: 45px;
        }
        
    }

/********** トップ バナー **********/

    .top_banner {
        text-align: center;
        padding: 80px 0 120px;
    }

    .top_banner h2 {
        position: relative;
        -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
        margin-bottom: 50px;
        padding-bottom: 15px;
    }

    .top_banner h2:before {
        content: "";
        position: absolute;
        -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
-o-transform: translateX(-50%);
-moz--o-transform: translateX(-50%);
        height: 3px;
        width: 80px;
        background: #006699;
    }

    .banner_box {
        width: 70%;
        margin: 0 auto;
    }

    @media(max-width: 1400px) {
        
    }

    @media(max-width: 1100px) {
    
    }
    
    @media(max-width: 745px) {

        .top_banner {
            padding: 60px 0 100px;
        }

        .top_banner h2 {
            margin-bottom: 40px;
            padding-bottom: 10px;
        }

        .top_banner h2:before {
            height: 2px;
            width: 60px;
        }

        .banner_box {
            width: 95%;
            margin: 0 auto;
        }
    
    }
    
    @media(max-width: 375px) {
        .top_banner {
            padding: 40px 0 80px;
        }
        
    }

/********** トップ ヒト幹細胞 **********/

    .full_flex {
        display: flex;
        -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    }

    .img_half {
        width: 50%;
    }
    
    .full_box {
        position: relative;
        -ms-position: relative;
        -webkit-position: relative;
        -o-position: relative;
        width: 50%;
        border-top: 1px solid #999;
    }
    

    .full_inner {
        position: absolute;
        -ms-position: absolute;
        -webkit-position: absolute;
        -o-position: absolute;
        top: 25%;
        left: 15%;
    }

    .full_box h3 {
        display: inline-block;
        font-size: 24px;
        padding-bottom: 10px;
        border-bottom: 2px solid #006699;
        margin-bottom: 50px;
    }

    .full_text {
        font-size: 28px;
        
    }

    .cell_img_sp {
        display: none;
    }

    /********** 枠線 **********/

    .sq_box2 {
        position: absolute;
        -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
        right: 10%;
        width: 220px;
        right: 5%;
        height: 57px;
        margin-top: 65px;
    }


.sq_link_full {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    color: #1a1a1a;
    font-weight: 400;
    text-align: center;
    width: 100%;
    height: 100%;   
}

.sq_top_full {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    right: 0;
    top: 0;
    width: 220px;
    height: 1px;
    background: #999;
}

.sq_right_full {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 57px;
    background: #999;
}


.sq_bottom_full {
    position: absolute;
    -ms-position: absolute;
    -webkit-position: absolute;
    -o-position: absolute;
    right: 0;
    bottom: 0;
    width: 220px;
    height: 1px;
    background: #999;
}

.sq_left_full {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 57px;
    background: #999;
}

.sq_top2_full,  .sq_right2_full {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 0;
    background: #333;
}

.sq_bottom2_full,  .sq_left2_full{
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 1px;
    background: #333;
}

.sq_1_full, .sq_3_full {
    width: 100%;
    height: 100%;
}

.sq_2_full , .sq_4_full {
    width: 100%;
    height: 100%;
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    top: -7px;
    left: -7px;
}

.sq_link_full:hover .sq_top2_full {
    width: 220px;
    height: 1px;
    transition: .8s;
    -ms-transition: .8s;
-o-transition: .8s;
-moz-transition: .8s;
}

.sq_link_full:hover .sq_right2_full {
    width: 1px;
    height: 57px;
    transition: .8s;
    -ms-transition: .8s;
-o-transition: .8s;
-moz-transition: .8s;
}

.sq_link_full:hover .sq_bottom2_full {
    width: 220px;
    height: 1px;
    transition: .8s .8s;
    -ms-transition: .8s .8s;
-o-transition: .8s .8s;
-moz-transition: .8s .8s;
}

.sq_link_full:hover .sq_left2_full {
    width: 1px;
    height: 57px;
    transition: .8s .8s;
    -ms-transition: .8s .8s;
-o-transition: .8s .8s;
-moz-transition: .8s .8s;

}

/********** 枠線終了 **********/

.sq_box2 p {
    font-size: 22px;
    color: #666;
    line-height: 2.3;
    margin-right: 20px;
}

.sq_box2 p:after {
    content: '';
  width: 15px;
  height: 15px;
  border-top: solid 2px #666;
  border-right: solid 2px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
  top: 28%;
  right: 15%;
}



@media(max-width: 1400px) {
    .full_inner {
        top: 25%;
        left: 10%;
    }
}

@media(max-width: 1025px) {

    .full_inner {
        top: 20%;
    }

    .full_box h3 {
        font-size: 18px;
        margin-bottom: 35px;
    }

    .full_text {
        font-size: 20px;
        
    }

    /********** 枠線 **********/

    .sq_box2 p {
        font-size: 18px;
        line-height: 2.3;
        margin-right: 20px;
    }

    .sq_box2 p:after {
      width: 13px;
      height: 13px;
      top: 25%;
    }

    .sq_box2 {
        width: 200px;
        height:48px;
        margin-top: 35px;
    }
    
    .sq_top_full {
        width: 200px;
    }
    
    .sq_right_full {
        height: 48px;
    }
    
    
    .sq_bottom_full {
        width: 200px;
    }
    
    .sq_left_full {
        height: 48px;
    }
    
    .sq_link_full:hover .sq_top2_full {
        width: 200px;
    }
    
    .sq_link_full:hover .sq_right2_full {
        height: 48px;
    }
    
    .sq_link_full:hover .sq_bottom2_full {
        width: 200px;
    }
    
    .sq_link_full:hover .sq_left2_full {
        height: 48px;
    }
    
}

@media(max-width: 745px) {

    .img_half {
        width: 100%;
    }

    .full_box {
        width: 100%;
    }

    .full_inner {
        position: static;
        -ms-position: static;
    -webkit-position: static;
    -o-position: static;
    -moz-position: static;
        padding: 50px 0;
    }

    .full_box h3 {
        display: block;
        width: 50%;
        min-width: 270px;
        margin: 0 auto 35px;
        text-align: center;
    }

    .full_text {
        text-align: center;
    }

    .full_flex {
        display: block;
    }

    .cell_img_pc {
        display: none;
    }

    .cell_img_sp {
        display: block;
    }

    /********** 枠線 **********/

    .sq_box2 {
        position: static;
        -ms-position: static;
    -webkit-position: static;
    -o-position: static;
    -moz-position: static;
        margin: 50px auto 0 auto;
    }

    
    
}

@media(max-width: 475px) {
    .full_box h3 {
        font-size: 16px;
        min-width: 230px;
    }

    .full_text {
        font-size: 18px
    }

    /********** 枠線 **********/

    .sq_box2 p {
        font-size: 16px;
        line-height: 2.5;
        margin-right: 15px;
    }

    .sq_box2 p:after {
      top: 26%;
    }

    .sq_box2 {
        width: 170px;
        height:45px;
        margin-top: 35px;
    }
    
    .sq_top_full {
        width: 170px;
    }
    
    .sq_right_full {
        height: 45px;
    }
    
    
    .sq_bottom_full {
        width: 170px;
    }
    
    .sq_left_full {
        height: 45px;
    }
    
    .sq_link_full:hover .sq_top2_full {
        width: 170px;
    }
    
    .sq_link_full:hover .sq_right2_full {
        height: 45px;
    }
    
    .sq_link_full:hover .sq_bottom2_full {
        width: 170px;
    }
    
    .sq_link_full:hover .sq_left2_full {
        height: 45px;
    }
}

@media(max-width: 375px) {
    .full_box h3 {
        font-size: 15px
    }

    .full_text {
        font-size: 17px
    }
}

/********** トップ シャンプー **********/

.full_flex2 {
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
}

.full_box2 {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    width: 50%;
    border-bottom: 1px solid #999;
}

.full_box2 h3 {
    display: inline-block;
    font-size: 24px;
    padding-bottom: 10px;
    border-bottom: 2px solid #006699;
    margin-bottom: 35px;
}

.full_text2 {
    font-size: 28px;
}

.full_inner2 {
    display: inline;
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    top: 30%;
    left: 30%;
    transform: translate(-30% , -30%);
    -webkit-transform: translate(-30% , -30%);
-ms-transform: translate(-30% , -30%);
-o-transform: translate(-30% , -30%);
-moz-transform: translate(-30% , -30%);
}


.sq_box3 {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    width: 220px;
    height: 57px;
    margin-top: 50px;
    right: -40%;
}

.sq_box3 p {
    font-size: 22px;
    color: #666;
    line-height: 2.3;
    margin-right: 20px;
}

.sq_box3 p:after {
    content: '';
  width: 15px;
  height: 15px;
  border-top: solid 2px #666;
  border-right: solid 2px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
  top: 28%;
  right: 15%;
}

@media(max-width: 1025px) {

    .full_inner2 {
        top: 25%;
        left: 30%;
        transform: translate(-30% , -25%);
        -webkit-transform: translate(-30% , -25%);
-ms-transform: translate(-30% , -25%);
-o-transform: translate(-30% , -25%);
-moz-transform: translate(-30% , -25%);
    }

    .full_box2 h3 {
        font-size:18px;
        margin-bottom: 20px;
    }


    .sq_box3 p {
        font-size: 18px;
        line-height: 2.3;
        margin-right: 20px;
    }
    
    .sq_box3 p:after {
      width: 13px;
      height: 13px;
      top: 25%;
    }
    
    .sq_box3 {
        width: 200px;
        height:48px;
        margin-top: 25px;
        right: -35%;
    }
    
}

@media(max-width: 745px) {
    .full_flex2 {
        flex-direction: column-reverse;
        -webkit-flex-direction: column-reverse;
-ms-flex-direction: column-reverse;
-o-flex-direction: column-reverse;
-moz-flex-direction: column-reverse;
    }

    .full_box2 {
        width: 100%;
    }

    .sq_box3 {
        position: static;
        -ms-position: static;
    -webkit-position: static;
    -o-position: static;
    -moz-position: static;
        margin: 40px auto 0 auto;
    }

    .full_inner2 {
        display: block;
        position: static;
        -ms-position: static;
    -webkit-position: static;
    -o-position: static;
    -moz-position: static;
        padding: 50px 0;
        top: 0;
        left: 0;
        transform: translate(0 , 0);
        -webkit-transform: translate(0 , 0);
-ms-transform: translate(0 , 0);
-o-transform: translate(0 , 0);
-moz-transform: translate(0 , 0);
    }

    .img_half {
        width: 100%;
    }

    .full_box2 h3 {
        display: block;
        width: 50%;
        min-width: 270px;
        margin: 0 auto 35px;
        text-align: center;
    }

    
}

@media(max-width: 475px) {

    .full_box2 h3 {
        font-size: 16px;
        min-width: 230px;
    }

    .sq_box3 p {
        font-size: 16px;
        line-height: 2.5;
        margin-right: 15px;
    }

    .sq_box3 p:after {
      top: 26%;
    }

    .sq_box3 {
        width: 170px;
        height:45px;
        margin-top: 35px;
    }

    
}

@media(max-width: 375px) {
    .full_box2 h3 {
        font-size: 15px
    }
}




/********** トップ 3-3-3の法則 **********/
.law_box {
    text-align: center;
}

.law_content {
    padding-top: 100px;
}

.law_content h2 {
    display: inline-block;
    padding-bottom: 10px;
    border-bottom: 2px solid #006699;
    margin-bottom: 80px;
}

.law_indent {
    text-indent: -1em;
    padding-left: 1em;
}

.law_flex {
    margin-bottom: 200px;
}

.law_flex:nth-of-type(2) {
    margin-bottom: 100px;
}


.law_flex div {
    width: 50%;
}

.law_flex h3 {
    border-bottom: 2px solid #888;
}

.law_flex p {
    text-align: justify;
    line-height:2.5;
    font-size: 16px;
}

#wrapper {
	position: relative;/*position stickyの基点にするため relativeをかける*/
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    display: flex;/*左エリア、右エリア横並び指定*/
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
-ms-justify-content: space-around;
-o-justify-content: space-around;
-moz-justify-content: space-around;
	flex-wrap: wrap;/*ボックスの折り返し可*/
    -webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
-o-flex-wrap: wrap;
-moz-flex-wrap: wrap;
}

/*左エリア*/
#fixed-area{
    display: inline;
    position: sticky;
    -ms-position: sticky;
    -webkit-position: sticky;
    -o-position: sticky;
    -moz-position: sticky;
    top:10%;
      width: 50%;
  }

  /*右エリア*/
#container{
}


 @media(max-width: 1025px) {
    .law_flex div {
        width: 45%;
    }
 }

@media(max-width: 745px) {
    .law_flex p {
        line-height:2.5;
        font-size: 14px;
    }

    .law_flex div:nth-of-type(1) {
        width: 30%;
    }

    .law_flex div:nth-of-type(2) {
        width: 60%;
    }
    
}

@media(max-width: 475px) {
    #wrapper {
        flex-direction: column;
        -webkit-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
-moz-flex-direction: column;
        align-items: center;
        -webkit-align-items: center;
-ms-align-items: center;
-o-align-items: center;
-moz-align-items: center;
    }

    .law_flex {
        margin-bottom: 100px;
    }

    #fixed-area{
        font-size: 13px;
        
      }
      .law_flex div:nth-of-type(1) {
        margin-bottom: 20px;
    }

      .law_flex div:nth-of-type(2) {
        width: 90%;
    }
}

/* ==================================
    強髪プログラム 
======================================*/
#program_main {
    color: #444;
    background: #ECE8E1;
    padding-top: 125px;
}
.osusume img,
.whyosusume img {
    width: 60%;
    margin: 50px auto;
    min-width: 455px;
}

#program_main p {
    line-height: 1.7;
}
#program_main .wrapper {
    margin: 0 auto;
    max-width: 60%;
}

.osusume,
.whyosusume {
    background: #fff;
    max-width: 95%;
    margin: 0 auto;
    padding: 100px 0;
    text-align: center;
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    z-index: 5; 
}
.osusume {
    margin-bottom: 100px;
}

.osusume h2,
.whyosusume h2 {
    font-size: 22px;
    text-align: center;
    background: #ECE8E1;
    display: inline-block;
    line-height: 1.7;
    padding: .1em 2em .1em;
    border-bottom: #00669A 2px solid;
    margin-bottom: 50px;
    clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
	-webkit-clip-path: polygon(10% 0 , 90% 0 , 90% 100% , 10 100%);		
-ms-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
-o-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
-moz-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
}

.p_marginLast {

}

.pdf_link img {
    margin: 0;
}

a.btn-flat {
    overflow: hidden;
    padding: 1rem 0;
    color: #fff;
    border-radius: 0;
    background: #000;
    width: 300px;
    margin: 0 auto;
    position: relative;
  }
  
  a.btn-flat span {
    position: relative;
  }
  
  a.btn-flat:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 300px;
    height: 48px;
    content: '';
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    -webkit-transform: translateX(-96%);
    transform: translateX(-96%);
    background: #eb6877;
  }
  
  a.btn-flat:hover:before {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }

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

    #program_main {
        padding-top: 100px;
    }
    #program_main .wrapper {
        max-width: 70%;
    }
    #program .wrapper {
        max-width: 70%;
    }
    .osusume h2{
        font-size: 18px;
        width: 100%;
        max-width: 470px;
        line-height: 2;
    }

    .whyosusume h2 {
        font-size: 18px;
        width: 375px;
        line-height: 2;
    }

    .osusume p,
    .whyosusume p {
        font-size: 16px;
    } 

    .osusume,
    .whyosusume {
        padding: 40px 0;
    }

    .osusume img,
    .whyosusume img {
        width: 70%;
        margin: 30px auto;
        max-width: 485px;
        min-width: 385px;
    }
}

@media screen and (max-width: 745px) {
    #program_main .wrapper {
        max-width: 80%;
    }
    #program .wrapper {
        max-width: 80%;
    }
    
    
    .osusume h2 {
        font-size: 15px;
        max-width: 375px;
        width: 100%;
    }

    .whyosusume h2 {
        font-size: 15px;
        max-width: 330px;
        width: 100%;
    }

    .osusume img,
    .whyosusume img {
        max-width: 385px;
        min-width: 320px;
    }

    .osusume p,
    .whyosusume p {
        font-size: 14px;
    } 

    a.btn-flat {
        padding: .8rem 0;
        width: 200px;
      }

      a.btn-flat span {
        font-size: 14px;
      }
}

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

    #program_main {
        padding-top: 80px;
    }

    .osusume {
        margin-bottom: 70px;
    }

    .osusume h2 {
        line-height: 1.6;
        width: 92%;
        max-width: 285px;
        padding: .1em 1em;
    }

    .whyosusume h2 {
        font-size: 15px;
        max-width: 270px;
        width: 100%;
        line-height: 1.8;
    }

    .osusume img,
    .whyosusume img {
        width: 100%;
        max-width: 320px;
        min-width: 265px;
    }

    a.btn-flat {
        width: 180px;
      }
}

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

#program_main .wrapper {
    max-width: 90%;
}
#program .wrapper {
    max-width: 90%;
}
}


/* ==================================
    薄毛・抜け毛のページ 
======================================*/
#usugenukege_main {
    color: #444;
    background: #ECE8E1;
    padding-top: 125px;
}
.older img,
.femaleWakeme img,
.femaleMagazine img {
    width: 60%;
    margin: 50px auto;
    min-width: 455px;
}
#usugenukege_main p {
    line-height: 1.7;
}
#usugenukege_main .wrapper {
    margin: 0 auto;
    max-width: 60%;
}

.older,
.femaleWakeme,
.femaleMagazine,
.kami_fusaLink {
    background: #fff;
    max-width: 95%;
    margin: 0 auto 100px auto;
    padding: 100px 0;
    text-align: center;
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    z-index: 5;
}
.kami_fusaLink_space {
    padding-bottom: 100px;
}
.kami_fusaLink {
    margin: 100px auto 0;
    padding: 50px 0;
    z-index: 5;
}
.borderSlide {
    content: "";
    border: #DFD9D1 4px solid;
    width: 100%;
    height: 100%;
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    top: 5px;
    left: 5px;
    z-index: -5;
}

.older h2,
.femaleWakeme h2 {
    font-size: 22px;
    text-align: center;
    background: #ECE8E1;
    display: inline-block;
    line-height: 1.7;
    padding: .1em 2em .1em;
    border-bottom: #00669A 2px solid;
    margin-bottom: 50px;
    clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
	-webkit-clip-path: polygon(10% 0 , 90% 0 , 90% 100% , 10 100%);
    -ms-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
-o-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
-moz-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
    width: 565px;
}
.femaleMagazine h2 {
    font-size: 22px;
    background: #ECE8E1;
    line-height: 1.7;
    width: 100%;
    border-bottom: #00669A 2px solid;
    margin: 0 auto 50px auto;
    clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
	-webkit-clip-path: polygon(10% 0 , 90% 0 , 90% 100% , 10 100%);
    -ms-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
-o-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
-moz-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
    width: 375px;
}

.kami_fusaLink h2 {
    font-size: 22px;
    background: #ECE8E1;
    line-height: 1.7;
    width: 100%;
    border-bottom: #00669A 2px solid;
    margin: 0 auto 50px auto;
    clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
	-webkit-clip-path: polygon(10% 0 , 90% 0 , 90% 100% , 10 100%);
    -ms-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
-o-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
-moz-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
    width: 300px;
}

.fusaLink_banner {
	width: 50%;
    max-width: 665px;
    min-width: 545px;
    margin: 0 auto;
    z-index: 10;
    }

.p_left {
    text-align: left;
    text-align: justify;
}

.p_marginb1 {
    margin-bottom: 2rem;
}


/* =========== 
    レスポンシブ  
    ========== */

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

@media screen and (max-width: 1025px) {
    
    #usugenukege_main .wrapper {
        max-width: 70%;
    }
    

    .older h2,
    .femaleWakeme h2,
    .femaleMagazine h2,
    .kami_fusaLink h2 {
        font-size: 18px;
        line-height: 2;
    }

    .older h2,
    .femaleWakeme h2 {
        width: 470px;
    }

    .femaleMagazine h2 {
        width: 320px;
    }

    .older p,
    .femaleWakeme p,
    .femaleMagazine p,
    .kami_fusaLink p {
        font-size: 16px;
    } 

    .older,
    .femaleWakeme,
    .femaleMagazine,
    .kami_fusaLink {
        padding: 40px 0;
    }

    .older img,
    .femaleWakeme img,
    .femaleMagazine img {
        width: 70%;
        margin: 30px auto;
        max-width: 485px;
        min-width: 385px;
    }

    
    .fusaLink_banner {
	 width: 90%;
        max-width: 640px;
}

    #usugenukege_main {
        padding-top: 100px;
    }

}


@media screen and (max-width: 745px) {
    .borderSlide {
        border: #DFD9D1 3px solid;
    }

    #usugenukege_main .wrapper {
        max-width: 80%;
    }
    .older,
    .femaleWakeme,
    .femaleMagazine {
        margin-bottom: 80px;
    }

    .kami_fusaLink {
        margin-top: 80px;
    }

    .older h2,
    .femaleWakeme h2,
    .femaleMagazine h2,
    .kami_fusaLink h2 {
        font-size: 15px;
    }
    .older h2,
    .femaleWakeme h2 {
        width: 100%;
        max-width: 375px;
    }

    .femaleMagazine h2 {
        max-width: 255px;
        margin-bottom: 15px;
    }

    .kami_fusaLink h2 {
        width: 220px;
        margin-bottom: 35px;
    }

    .older p,
    .femaleWakeme p,
    .femaleMagazine p,
    .kami_fusaLink p {
        font-size: 14px;
    } 

    .older img,
    .femaleWakeme img,
    .femaleMagazine img {
        width: 70%;
        max-width: 385px;
        min-width: 320px;
    }
    
    .fusaLink_banner {
	 min-width: 400px;
}
    
}


@media screen and (max-width: 475px) {
    #usugenukege_main {
        padding-top: 80px;
    }

    .borderSlide {
        border: #DFD9D1 2px solid;
    }

    .older,
    .femaleWakeme,
    .femaleMagazine {
        margin-bottom: 60px;
    }

    .kami_fusaLink {
        margin-top: 60px;
    }

    .older h2,
.femaleWakeme h2 {
    line-height: 1.4;
    width: 92%;
    max-width: 285px;
}

.femaleMagazine h2 {
    max-width: 225px;
}

.kami_fusaLink h2 {
    width: 190px;
    margin-bottom: 30px;
    line-height: 1.8;
}

.older img,
    .femaleWakeme img,
    .femaleMagazine img {
        width: 100%;
        max-width: 320px;
        min-width: 265px;
    }

    .femaleMagazine img {
        margin: 30px auto 10px;
    }

    
    .fusaLink_banner {
	 width: 90%;
        min-width: auto;
}
    
}

@media screen and (max-width: 375px) {
    
    #usugenukege_main .wrapper {
        max-width: 90%;
    }

    .kami_fusaLink h2 {
        width: 180px;
        margin-bottom: 25px;
    }
}


/* --------------------------------------------
・サロン
 --------------------------------------------*/

 .salon_top {
     margin-bottom: 50px;
     margin-top: 120px;
 }

.salon_title {
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    align-items: center;
    -webkit-align-items: center;
-ms-align-items: center;
-o-align-items: center;
-moz-align-items: center;
    margin: 50px auto;
    width: 80%;
    font-size: 26px;
 }

 .salon_title::before,
.salon_title::after {
  content: '';
  height: 1px;
  background-color: #999;
  flex-grow: 1;
  -webkit-flex-grow: 1;
-ms-flex-grow: 1;
-o-flex-grow: 1;
-moz-flex-grow: 1;
}

.salon_title::before {
    margin-right: 1rem;
  }
  .salon_title::after {
    margin-left: 1rem;
  }

  .salon_img {
      width: 70%;
      margin: 0 auto 40px;
  }

.salon_top p{
    width: 60%;
    margin: 0 auto;
    text-align: justify;
}

/********** 無料サロンコンサル **********/

.free_box {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    background: #ECE8E1;
}

.free_text {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    top: -15%;
    left: 50%;
    transform: translate(-50% , 20%);
    -webkit-transform: translate(-50% , 20%);
-ms-transform: translate(-50% , 20%);	
-o-transform: translate(-50% , 20%);			
-moz-transform: translate(-50% , 20%);
    width: 795px;
    text-align: center;
    background: #fff;
    
}

.free_text::before {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    width: 40px;
height: 40px;
background: #006699;
border-radius: 50%;
bottom: -20px;
left: 50%;
transform: translate(-50% , 0);
-webkit-transform: translate(-50% , 0);
-ms-transform: translate(-50% , 0);
-o-transform: translate(-50% , 0);
-moz-transform: translate(-50% , 0);
}

.free_text::after {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
width: 15px;
height: 15px;
border-top: solid 3px #fff;
border-right: solid 3px #fff;
bottom: -5px;
left: 50%;
transform: translate(-50% , 0) rotate(135deg);
-webkit-transform: translate(-50% , 0) rotate(135deg);
-ms-transform: translate(-50% , 0) rotate(135deg);
-o-transform: translate(-50% , 0) rotate(135deg);			
-moz-transform: translate(-50% , 0) rotate(135deg);
animation: arrowmove_salon 1.5s ease-in-out infinite;
-webkit-animation: arrowmove_salon 1.5s ease-in-out infinite;
-ms-animation: arrowmove_salon 1.5s ease-in-out infinite;
-o-animation: arrowmove_salon 1.5s ease-in-out infinite;
-moz-animation: arrowmove_salon 1.5s ease-in-out infinite;
}

.free_text h2 {
    display: inline-block;
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    font-size: 22px;
    padding-bottom: 5px;
    border-bottom: 2px solid #999;
    margin-bottom: 45px;
}

.free_text h2:before {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translate(-50% , 0);
    -webkit-transform: translate(-50% , 0);
-ms-transform: translate(-50% , 0);
-o-transform: translate(-50% , 0);
-moz-transform: translate(-50% , 0);
    height: 4px;
    width: 35px;
    background: #fff;
}

.free_text h2:after {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: -2px;
    left: 50%;
    height: 2px;
    width: 35px;
    background: #999;
    transform: translate(-50% , 0) rotate(-30deg);
    -webkit-transform: translate(-50% , 0) rotate(-30deg);
-ms-transform: translate(-50% , 0) rotate(-30deg);
-o-transform: translate(-50% , 0) rotate(-30deg);
-moz-transform: translate(-50% , 0) rotate(-30deg);
    transform-origin: top right;
    -webkit-transform-origin: top right;
-ms-transform-origin: top right;
-o-transform-origin: top right;
-moz-transform-origin: top right;
}

.free_text_inner {
    padding: 20px 100px 50px;
}

.free_text_inner p:nth-of-type(1) {
    margin-bottom: 30px;
}

.free_banner_box {
    width: 650px;
    margin: 0 auto;
    padding: 300px 0 110px;
}

.free_banner_box p{
    font-size: 14px;
    text-indent: -1em;
    padding-left: 1em;
}

.free_banner_box p:nth-of-type(1) {
    margin-top: 15px;
}

/********** 個別育毛コンサルティング **********/

.free_text2 {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    top: -17%;
    left: 50%;
    transform: translate(-50% , 20%);
    -webkit-transform: translate(-50% , 20%);
-ms-transform: translate(-50% , 20%);
-o-transform: translate(-50% , 20%);
-moz-transform: translate(-50% , 20%);
    width: 795px;
    text-align: center;
    background: #fff;
}

.free_text2::before {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    width: 40px;
height: 40px;
background: #006699;
border-radius: 50%;
bottom: -20px;
left: 50%;
transform: translate(-50% , 0);
-webkit-transform: translate(-50% , 0);
-ms-transform: translate(-50% , 0);
-o-transform: translate(-50% , 0);
-moz-transform: translate(-50% , 0);
}

.free_text2::after {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
width: 15px;
height: 15px;
border-top: solid 3px #fff;
border-right: solid 3px #fff;
bottom: -5px;
left: 50%;
transform: translate(-50% , 0) rotate(135deg);
-webkit-transform: translate(-50% , 0) rotate(135deg);
-ms-transform: translate(-50% , 0) rotate(135deg);
-o-transform: translate(-50% , 0) rotate(135deg);
-moz-transform: translate(-50% , 0) rotate(135deg);
animation: arrowmove_salon 1.5s ease-in-out infinite;
-webkit-animation: arrowmove_salon 1.5s ease-in-out infinite;
-ms-animation: arrowmove_salon 1.5s ease-in-out infinite;
-o-animation: arrowmove_salon 1.5s ease-in-out infinite;
-moz-animation: arrowmove_salon 1.5s ease-in-out infinite;
}

@keyframes arrowmove_salon {
    0%{bottom:-0%;}
    50%{bottom:-3%;}
   100%{bottom:-0%;}
}

.free_text2 h2 {
    display: inline-block;
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    font-size: 22px;
    padding-bottom: 5px;
    border-bottom: 2px solid #999;
    margin-bottom: 35px;
}

.free_text2 h2:before {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translate(-50% , 0);
    -webkit-transform: translate(-50% , 0);
-ms-transform: translate(-50% , 0);
-o-transform: translate(-50% , 0);
-moz-transform: translate(-50% , 0);
    height: 4px;
    width: 35px;
    background: #fff;
}

.free_text2 h2:after {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: -2px;
    left: 50%;
    height: 2px;
    width: 35px;
    background: #999;
    transform: translate(-50% , 0) rotate(-30deg);
    -webkit-transform: translate(-50% , 0) rotate(-30deg);
-ms-transform: translate(-50% , 0) rotate(-30deg);
-o-transform: translate(-50% , 0) rotate(-30deg);
-moz-transform: translate(-50% , 0) rotate(-30deg);
    transform-origin: top right;
    -webkit-transform-origin: top right;
-ms-transform-origin: top right;
-o-transform-origin: top right;
-moz-transform-origin: top right;
}


.free_text_inner2 {
    padding: 20px 100px
}

.free_text_inner2 p:nth-of-type(1) {
    margin-bottom: 30px;
}

.free_banner_box2 {
    width: 650px;
    margin: 0 auto;
    padding: 320px 0 80px;
}

.free_banner_box2 p{
    font-size: 14px;
    text-indent: -1em;
    padding-left: -1em;
}

.free_banner_box2 p:nth-of-type(1) {
    margin-top: 15px;
}


 @media(max-width: 1400px) {
    
}

@media(max-width: 1025px) {
    .salon_title {
    font-size: 22px;
 }
    
    .free_text {
    width: 575px;
}
    .free_text_inner {
    padding: 20px 30px 40px;
}
    
    .free_text h2 {
    font-size: 18px;
    padding-bottom: 5px;
    margin-bottom: 30px;
        border-bottom: 1px solid #999;
}
    
    .free_text h2:before {
    width: 30px;
}

.free_text h2:after {
    width: 30px;
    height: 1px;
    bottom: -1px;
}
    
    .free_banner_box {
    width: 575px;
    padding: 270px 0 80px;
}
    
     .free_text2 {
    width: 635px;
}
    .free_text_inner2 {
    padding: 20px;
}
    
    .free_text2 h2 {
    font-size: 18px;
    padding-bottom: 5px;
    margin-bottom: 30px;
        border-bottom: 1px solid #999;
}
    
    .free_text2 h2:before {
    width: 30px;
}

.free_text2 h2:after {
    width: 30px;
    height: 1px;
    bottom: -1px;
}
    
    .free_banner_box2 {
    width: 575px;
}
    
    
}

@media(max-width: 745px) {

    .salon_top {
        margin-top: 105px;
    }

    .salon_title {
        width: 90%;
        max-width: 520px;
    font-size: 18px;
        margin-bottom: 30px;
 }
    
    .salon_title::before {
    margin-right: .5rem;
  }
  .salon_title::after {
    margin-left: .5rem;
  }
    
    .salon_img {
      min-width: 380px;
      margin: 0 auto 40px;
  }
    
    .salon_top p {
        width: 80%;
        min-width:415px;
    }
    
    .free_box {
        padding-top: 50px;
    }
    
    .free_text {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    top: 0;
    left: 0;
    transform: translate(0 , 0);
    -webkit-transform: translate(0 , 0);
-ms-transform: translate(0 , 0);
-o-transform: translate(0 , 0);	
-moz-transform: translate(0 , 0);
    width: 90%;
    max-width: 580px;
        margin: 0 auto;
}
    
    .free_text::before {
    width: 35px;
height: 35px;
bottom: -17px;
}

.free_text::after {
width: 13px;
height: 13px;
bottom: -4px;
}
    
    .free_text h2:before {
    width: 25px;
}

.free_text h2:after {
    width: 25px;
}
    .free_text_inner {
    padding: 30px 20px 40px;
}
    
    .free_banner_box {
    width: 90%;
    padding: 50px 0 80px;
}
    
    .free_text2 {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    top: 0;
    left: 0;
    transform: translate(0 , 0);
    -webkit-transform: translate(0 , 0);
-ms-transform: translate(0 , 0);
-o-transform: translate(0 , 0);
-moz-transform: translate(0 , 0);
    width: 90%;
    max-width: 580px;
        margin: 0 auto;
}
    
    .free_text2::before {
    width: 35px;
height: 35px;
bottom: -17px;
}

.free_text2::after {
width: 13px;
height: 13px;
bottom: -4px;
}
    
    .free_text2 h2:before {
    width: 25px;
}

.free_text2 h2:after {
    width: 25px;
}
    .free_text_inner2 {
    padding: 30px 20px 40px;
}
    
    .free_banner_box2 {
    width: 90%;
    padding: 50px 0 70px;
}
    
    
}

@media(max-width: 475px) {
    .salon_top {
        margin-top: 85px;
    }

     .salon_title {
        font-size: 16px;
        margin: 30px auto;
 }
    
    .salon_img {
      min-width: 280px;
      margin: 0 auto 40px;
  }
    
    .salon_top p {
        width: 95%;
        min-width: auto;
    }
    
    .free_box {
        padding-top: 40px;
    }
    
    .free_text {
    width: 95%;
}
    
    .free_text::before {
    width: 30px;
height: 30px;
bottom: -15px;
}

.free_text::after {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
width: 10px;
height: 10px;
bottom: -3px;
}
    
    .free_text h2 {
    font-size: 16px;
    margin-bottom: 25px;
        border-bottom: 1px solid #999;
}
    .free_text h2:after {
    bottom: -1px;
        height: 1px;
}
    
    .free_text h2 {
    font-size: 16px;
    margin-bottom: 25px;
}
    
    .free_text_inner {
    padding: 20px 15px 25px;
}
    
    .free_text_inner p:nth-of-type(1) {
    margin-bottom: 15px;
}
    .free_banner_box {
        width: 95%;
        padding: 35px 0 60px;
    }
    
    .free_banner_box p{
    font-size: 13px;
}
    
    .free_text2 {
    width: 95%;
}
    
    .free_text2::before {
    width: 30px;
height: 30px;
bottom: -15px;
}

.free_text2::after {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
width: 10px;
height: 10px;
bottom: -3px;
}
    
    .free_text2 h2 {
    font-size: 16px;
    margin-bottom: 25px;
        border-bottom: 1px solid #999;
}
    .free_text2 h2:after {
    bottom: -1px;
        height: 1px;
}
    
    .free_text2 h2 {
    font-size: 16px;
    margin-bottom: 25px;
}
    
    .free_text_inner2 {
    padding: 20px 15px 25px;
}
    
    .free_text_inner2 p:nth-of-type(1) {
    margin-bottom: 15px;
}
    .free_banner_box2 {
        width: 95%;
        padding: 35px 0 60px;
    }
    
    .free_banner_box2 p{
    font-size: 13px;
        text-indent: 0;
}
    
}

@media(max-width: 375px) {
     .salon_title {
    font-size: 15px;
         width: 95%;
 }
    
    .salon_title::before {
    margin-right: .3rem;
  }
    
  .salon_title::after {
    margin-left: .3rem;
  }
    
    
}

/* --------------------------------------------
・新刊書籍　フサフサ大作戦
 --------------------------------------------*/
.fusafusa_top {
    background: #ECE8E1;
    padding: 110px 0 140px;
    text-align: center;
    width: 100%;
}

.fusafusa_top h2 {
    display: inline-block;
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    font-size: 24px;
    padding-bottom: 5px;
    border-bottom: 2px solid #999;
    margin-bottom: 60px;
}

.fusafusa_top h2:before {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translate(-50% , 0);
    -webkit-transform: translate(-50% , 0);
-ms-transform: translate(-50% , 0);
-o-transform: translate(-50% , 0);
-moz-transform: translate(-50% , 0);
    height: 4px;
    width: 35px;
    background: #ECE8E1;
}

.fusafusa_top h2:after {
    content: "";
    position: absolute;
    -ms-position: absolute;
    -webkit-position: absolute;
    -o-position: absolute;
    bottom: -2px;
    left: 50%;
    height: 2px;
    width: 35px;
    background: #999;
    transform: translate(-50% , 0) rotate(-30deg);
    -webkit-transform: translate(-50% , 0) rotate(-30deg);
-ms-transform: translate(-50% , 0) rotate(-30deg);
-o-transform: translate(-50% , 0) rotate(-30deg);
-moz-transform: translate(-50% , 0) rotate(-30deg);
    transform-origin: top right;
    -webkit-transform-origin: top right;
-ms-transform-origin: top right;
-o-transform-origin: top right;
-moz-transform-origin: top right;
}

.fusafusa_pink {
    color: #cc0066;
}

.fusafusa_flex {
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    justify-content: center;
    -webkit-justify-content: center;
-ms-justify-content: center;
-o-justify-content: center;
-moz-justify-content: center;
    gap: 160px;
    -webkit-gap: 160px;
-ms-gap: 160px;
-o-gap: 160px;
-moz-gap: 160px;
}

.fusafusa_flex img {
    width: 30%;
    max-width: 300px;
}

.fusafusa_space {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    height: 435px;
    z-index: 1;
}

.fusafusa_text {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    top: -10%;
    left: 50%;
    transform: translate(-50% , 0);
    -webkit-transform: translate(-50% , 0);
-ms-transform: translate(-50% , 0);
-o-transform: translate(-50% , 0);
-moz-transform: translate(-50% , 0);
    width: 800px;
    padding: 30px 50px;
    background: #fff;
    border-radius: 10px 10px;
    text-align: center;
}

.fusafusa_text h3 {
    display: inline-block;
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    font-size: 20px;
    padding-bottom: 5px;
    border-bottom: 2px solid #999;
    margin-bottom: 40px;
}


.fusafusa_text h3:before {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translate(-50% , 0);
    -webkit-transform: translate(-50% , 0);
-ms-transform: translate(-50% , 0);
-o-transform: translate(-50% , 0);
-moz-transform: translate(-50% , 0);
    height: 4px;
    width: 35px;
    background: #fff;
}

.fusafusa_text h3:after {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: -2px;
    left: 50%;
    height: 2px;
    width: 35px;
    background: #999;
    transform: translate(-50% , 0) rotate(-30deg);
    -webkit-transform: translate(-50% , 0) rotate(-30deg);
-ms-transform: translate(-50% , 0) rotate(-30deg);
-o-transform: translate(-50% , 0) rotate(-30deg);
-moz-transform: translate(-50% , 0) rotate(-30deg);
    transform-origin: top right;
    -webkit-transform-origin: top right;
-ms-transform-origin: top right;
-o-transform-origin: top right;
-moz-transform-origin: top right;
}

.fusafusa_text p {
    text-align: left;
    margin-bottom: 20px;
}


.fusafusa_change {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    background: #ECE8E1;
    padding: 140px 0 70px;
    text-align: center;
}

.fusafusa_change::before {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    width: 55px;
height: 55px;
background: #006699;
border-radius: 50%;
bottom: -27px;
left: 50%;
transform: translate(-50% , 0);
-webkit-transform: translate(-50% , 0);
-ms-transform: translate(-50% , 0);
-o-transform: translate(-50% , 0);
-moz-transform: translate(-50% , 0);
}

.fusafusa_change::after {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
width: 20px;
height: 20px;
border-top: solid 4px #fff;
border-right: solid 4px #fff;
bottom: -6px;
left: 50%;
transform: translate(-50% , 0) rotate(135deg);
-webkit-transform: translate(-50% , 0) rotate(135deg);
-ms-transform: translate(-50% , 0) rotate(135deg);
-o-transform: translate(-50% , 0) rotate(135deg);
-moz-transform: translate(-50% , 0) rotate(135deg);
animation: arrowmove_books 1.5s ease-in-out infinite;
-webkit-animation: arrowmove_books 1.5s ease-in-out infinite;
-ms-animation: arrowmove_books 1.5s ease-in-out infinite;
-o-animation: arrowmove_books 1.5s ease-in-out infinite;
-moz-animation: arrowmove_books 1.5s ease-in-out infinite;
}

@keyframes arrowmove_books {
    0%{bottom: -.1%;}
    50%{bottom: -.5%;}
   100%{bottom: -.1%;}
}

.beforeAfter_text {
    width: 800px;
    text-align: center;
    margin: 0 auto;
    padding: 20px 0;
}
.beforeAfter_text p {
    text-align: left;
    margin-bottom: 80px;
}

.fusafusa_change h3 {
    display: inline-block;
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    font-size: 24px;
    padding-bottom: 5px;
    border-bottom: 2px solid #999;
    margin-bottom: 60px;
}

.fusafusa_change h3:before {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translate(-50% , 0);
    -webkit-transform: translate(-50% , 0);
-ms-transform: translate(-50% , 0);
-o-transform: translate(-50% , 0);
-moz-transform: translate(-50% , 0);
    height: 4px;
    width: 35px;
    background: #ECE8E1
}

.fusafusa_change h3:after {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    bottom: -2px;
    left: 50%;
    height: 2px;
    width: 35px;
    background: #999;
    transform: translate(-50% , 0) rotate(-30deg);
    -webkit-transform: translate(-50% , 0) rotate(-30deg);
-ms-transform: translate(-50% , 0) rotate(-30deg);
-o-transform: translate(-50% , 0) rotate(-30deg);
-moz-transform: translate(-50% , 0) rotate(-30deg);
    transform-origin: top right;
    -webkit-transform-origin: top right;
-ms-transform-origin: top right;
-o-transform-origin: top right;
-moz-transform-origin: top right;
}

.fusafusa_bg {
    background: #DFD9D1;
    padding: 110px 0;
    clip-path: ellipse(125% 50% at 50% 50%);
}

.fusafusa_img {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    justify-content: center;
    -webkit-justify-content: center;
-ms-justify-content: center;
-o-justify-content: center;
-moz-justify-content: center;
    margin-bottom: 80px;
}

.fusafusa_img:after {
    content: "";
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50% , -50%);
    -webkit-transform: translate(-50% , -50%);
-ms-transform: translate(-50% , -50%);
-o-transform: translate(-50% , -50%);
-moz-transform: translate(-50% , -50%);
    border: 25px solid transparent;
    border-left: 35px solid #fff;
    margin-left: 17px;
}

.fusafusa_img img {
    width: 270px;
}

.fusafusa_img2 img {
    width: 540px;
    margin: 0 auto;
}

.fusafusa_before {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
}

.before_text {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    top: 10px;
    left: 10px;
    width: 65px;
    height: 65px;
    padding: 18px 9px;
    border-radius: 50%;
    background: #666;
    color: #fff;
}

.fusafusa_after {
    position: relative;
    -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
}

.after_text {
    position: absolute;
    -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
    top: 10px;
    left: 10px;
    width: 65px;
    height: 65px;
    padding: 18px 9px;
    border-radius: 50%;
    background: #006699;
    color: #fff;
}

.books_baner {
    width: 650px;
    margin: 0 auto;
    padding: 80px 0;
}

.effect_caution {
    width: 540px;
    margin: 20px auto 0;
    text-indent: -1em;
    padding-left: 1em;
    text-align: left;
}


 @media(max-width: 1400px) {
    
}

@media(max-width: 1025px) {
    
    .fusafusa_top h2 {
    font-size: 22px;
    border-bottom: 1px solid #999;
    margin-bottom: 60px;
}

.fusafusa_top h2:after {
    bottom: -1px;
    height: 1px;
}
    
    .fusafusa_flex {
    gap: 100px;
}

.fusafusa_flex img {
    max-width: 240px;
}
    
    .fusafusa_space {
        height: 480px;
    }
    
    .fusafusa_text,
    .beforeAfter_text {
        width: 650px;
        padding: 30px 20px;
    }
    
    .fusafusa_text h3 {
    font-size: 20px;
    border-bottom: 1px solid #999;
}

.fusafusa_text h3:before {
    width: 25px;
}

.fusafusa_text h3:after {
    bottom: -1px;
    height: 1px;
    width: 25px;
}
    
    .fusafusa_change {
    padding: 120px 0 70px;
}

    .fusafusa_bg {
    padding: 110px 0;
    clip-path: ellipse(155% 50% at 50% 50%);
    -webkit-clip-path: ellipse(155% 50% at 50% 50%);
-ms-clip-path: ellipse(155% 50% at 50% 50%);
-o-clip-path: ellipse(155% 50% at 50% 50%);
-moz-clip-path: ellipse(155% 50% at 50% 50%);
}
    
    .fter_text {
        width: 650px;
        padding: 30px 20px;
    }

    .fusafusa_change h3 {
    font-size: 22px;
    border-bottom: 1px solid #999;
    margin-bottom: 75px;
}

.fusafusa_change h3:before {
    width: 30px;
}

.fusafusa_change h3:after {
    bottom: -1px;
    height: 1px;
    width: 30px;
}

.books_baner {
    width: 575px;
}
}

@media(max-width: 745px) {

    .fusafusa_top {
        padding: 110px 0 85px;
    }

    .fusafusa_top h2 {
    font-size: 18px;
    margin-bottom: 45px;
}
    
    .fusafusa_top h2:before {
    width: 30px;
}

.fusafusa_top h2:after {
    width: 30px;
}
    
    .fusafusa_flex {
    gap: 60px;
    -webkit-gap: 60px;
-ms-gap: 60px;
-o-gap: 60px;
-moz-gap: 60px;
}
    .fusafusa_flex img {
    min-width: 160px;
}
    
    .fusafusa_space {
        height: 100%;
    }
    
    .fusafusa_text,
    .beforeAfter_text {
        position: static;
        -webkit-position: static;
-ms-position: static;
-o-position: static;
-moz-position: static;
        top: 0;
        left: 0;
        transform: translate(0 , 0);
        -webkit-transform: translate(0 , 0);
-ms-transform: translate(0 , 0);
-o-transform: translate(0 , 0);
-moz-transform: translate(0 , 0);
        width: 95%;
        margin: 0 auto;
        padding: 50px 0;
    }
    
    .fusafusa_text h3 {
    font-size: 18px;
}
    
    .fusafusa_text p {
        margin-bottom: 40px;
    }
    
    .fusafusa_text p:last-of-type {
        margin-bottom: 0;
    }
    
    .fusafusa_change {
    padding: 65px 0;
}

.beforeAfter_text p {
    margin-bottom: 50px;
}


    
    .fusafusa_bg {
    padding: 110px 0;
    clip-path: ellipse(185% 50% at 50% 50%);
    -webkit-clip-path: ellipse(185% 50% at 50% 50%);
-ms-clip-path: ellipse(185% 50% at 50% 50%);
-o-clip-path: ellipse(185% 50% at 50% 50%);
-moz-clip-path: ellipse(185% 50% at 50% 50%);
}
    
    .fusafusa_change h3 {
    font-size: 18px;
    margin-bottom: 60px;
}
    
    .fusafusa_img {
        margin-bottom: 100px;
    }
    
    .fusafusa_img:after {
        border: 20px solid transparent;
        border-left: 30px solid #fff;
        margin-left: 15px;
    }
    
    .fusafusa_img img {
       width: 210px;
    }

    .fusafusa_img2 img {
        width: 420px;
    }
    
    .before_text {
    top: -60px;
        left: 0;
    width: 55px;
    height: 55px;
    padding: 15px 0;
}

.after_text {
    top: -60px;
    left: 0;
    width: 55px;
    height: 55px;
    padding: 15px 9px;
}
    
    .fusafusa_change::before {
    width: 45px;
height: 45px;
bottom: -22px;
}

.fusafusa_change::after {
border-top: solid 3px #fff;
border-right: solid 3px #fff;
}

.effect_caution {
    width: 420px;
}

.books_baner {
    width: 90%;
    padding: 60px 0 80px;
}
    
}

@media(max-width: 475px) {
    .fusafusa_top {
        padding: 100px 0 60px;
    }

    .fusafusa_bg {
        padding: 110px 0 80px;
    }

     .fusafusa_top h2 {
    font-size: 16px;
    margin-bottom: 45px;
}
    
    .fusafusa_top h2:before {
    width: 25px;
}

.fusafusa_top h2:after {
    width: 25px;
}
    
    .fusafusa_flex {
    gap: 20px;
    -webkit-gap: 20px;
-ms-gap: 20px;
-o-gap: 20px;
-moz-gap: 20px;
}
    .fusafusa_flex img {
    min-width: 130px;
}

.inner .fusafusa_img:nth-of-type(5) {
    margin-bottom: 80px;
}
    
    .fusafusa_text h3 {
    font-size: 16px;
        margin-bottom: 30px;
}
    
    .fusafusa_change h3 {
        font-size: 16px;
}
    
    .fusafusa_change h3:before {
    width: 25px;
}

.fusafusa_change h3:after {
    width: 25px;
}
    
.beforeAfter_text p {
    margin-bottom: 20px;
}
    
    .fusafusa_img:after {
        border: 18px solid transparent;
        border-left: 25px solid #fff;
        margin-left: 13px;
    }
    
    .fusafusa_img img {
       width: 165px;
    }

    .fusafusa_img2 img {
        width: 330px;
    }
    
    .before_text {
    width: 50px;
    height: 50px;
    padding: 13px 0;
}
    
    .after_text {
    width: 50px;
    height: 50px;
    padding: 13px 0;
}
    
    .fusafusa_change::before {
    width: 35px;
height: 35px;
bottom: -17px;
}

.fusafusa_change::after {
        width: 15px;
    height: 15px;
    }

    .effect_caution {
        width: 330px;
    }

    .books_baner {
        width: 95%;
        padding: 50px 0 60px;
    }
    
}

@media(max-width: 375px) {
    .fusafusa_img img {
       width: 140px;
    }

    .fusafusa_img2 img {
        width: 280px;
    }

    .effect_caution {
        width: 280px;
    }

    .inner .fusafusa_img:nth-of-type(5) {
        margin-bottom: 70px;
    }
}



/* --------------------------------------------
・ヒト幹細胞
 --------------------------------------------*/
.cell_top {
    margin: 120px auto 100px;
}

.cell_img {
width: 60%;
    max-width: 950px;
    min-width: 800px;
    margin: 0 auto;
}

.surprised_flex {
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
-ms-justify-content: space-between;
-o-justify-content: space-between;
-moz-justify-content: space-between;
    width: 90%;
    max-width: 1300px;
    margin-bottom: 100px;
}

.surprised_img {
    width: 50%;
}

.surprised_img2 {
    width: 50%;
}

.surprised_text {
    width: 45%;
}

.surprised_text h3 {
    font-size: 20px;
    background: #006699;
    color: #fff;
    padding: 10px 10px;
    border-radius: 8px;
    margin-bottom: 20px;
    line-height: 1.4;
}

.surprised_text p {
    margin-bottom: 20px;
    text-align: justify;
}

.cell_chance {
    background: #ECE8E1;
    padding: 50px 0;
    text-align: center;
}

.cell_chance p {
    font-size: 20px;
    margin-bottom: 15px;
}

.cell_chance p:nth-of-type(2) {
    text-decoration:underline;/*下線を引く*/
text-decoration-style: wavy;/*下線を波線で表示*/
    color: #006699;
}

.cell_num {
    font-size: 26px;
    color: #006699;
}

.surprised_flex2 {
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
-ms-justify-content: space-between;
-o-justify-content: space-between;
-moz-justify-content: space-between;
    width: 90%;
    max-width: 1300px;
    margin: 100px 0 100px auto;
}

.hair_growth {
    background: #ECE8E1;
    padding: 80px 0;
    text-align: center;
}

.hair_growth h3 {
    font-size: 20px;
    background: #006699;
    color: #fff;
    padding: 15px 10px;
    border-radius: 8px;
    margin-bottom: 20px;
    width: 500px;
    margin: 0 auto 60px;
}

.growth_img2 {
    width: 80%;
    margin: 0 auto 40px;
    max-width: 650px;
}

.hair_growth p {
    margin-bottom: 20px;
}

.hair_growth p:last-of-type {
    margin-bottom: 0;
}

.hair_growth_text {
    margin: 0 auto;
    width: 720px;
}

.structure {
    padding: 100px 0 150px;
}

.structure_flex {
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
-ms-justify-content: space-between;
-o-justify-content: space-between;
-moz-justify-content: space-between;
    width: 90%;
    max-width: 1300px;
    margin-left: auto;
}

.structure h3 {
    font-size: 20px;
    color: #fff;
    padding: 15px 10px;
    background: #006699;
    border-radius: 8px;
    margin-bottom: 50px;
}

.structure_text {
    width: 40%;
}

.structure_text p {
    margin-bottom: 20px;
}

.structure_text p:last-of-type {
    margin-bottom: 0;
}

.structure_img_pc {
    width: 50%;
}

.structure_img_sp {
    display: none;
}

.aging_img {
     width: 50%;
}


 @media(max-width: 1400px) {
     .surprised_flex {
        margin-bottom: 60px;
    }
     
    .surprised_img {
        width: 43%;
     }
     
     .surprised_img2 {
        width: 43%;
     }

     .surprised_text {
        width: 52%;
     }
     
     .surprised_text h3 {
        font-size: 18px;
        border-radius: 8px;
        margin-bottom: 20px;
     }

.structure_text p:last-of-type {
    margin-bottom: 0;
}

.structure_img_pc {
    width: 45%;
}
     
     .structure_text {
    width: 50%;
}
     
     .aging_img {
     width: 43%;
}
}

@media(max-width: 1025px) {
    .cell_top {
        margin-bottom: 80px;
    }
    .cell_img {
        width: 70%;
        max-width: 800px;
        min-width: 600px;
    }
    
    .surprised_flex {
        flex-direction: column;
        -webkit-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
-moz-flex-direction: column;
        align-items: center;
        -webkit-align-items: center;
-ms-align-items: center;
-o-align-items: center;
-moz-align-items: center;
        width: 80%;
        max-width: 1300px;
        margin: 0 auto 60px;
    }
    
    .surprised_flex2 {
        flex-direction: column-reverse;
        -webkit-flex-direction: column-reverse;
-ms-flex-direction: column-reverse;
-o-flex-direction: column-reverse;
-moz-flex-direction: column-reverse;
        align-items: center;
        -webkit-align-items: center;	
-ms-align-items: center;
-o-align-items: center;
-moz-align-items: center;
        width: 80%;
        max-width: 1300px;
        margin: 70px auto 60px;
    }
    
    .surprised_img2 {
        width: 60%;
        min-width: 420px;
        margin-bottom: 30px;
     }
    
    
    .surprised_text h3 {
    margin-bottom: 45px;
}
    
    .surprised_text {
        width: 75%;
        min-width: 520px;
    }
    
    .surprised_text_1025 {
        width: 93%;
        min-width: 500px;
        margin: 0 auto;
    }
    
    .surprised_img {
        display: none;
    }

    .hair_growth h3 {
    font-size: 18px;
    padding: 12px 10px;
    border-radius: 8px;
    margin-bottom: 20px;
    width: 450px;
    margin: 0 auto 50px;
}
    
    .structure {
    padding: 70px 0 40px;
}
    
    .structure_flex {
        flex-direction: column-reverse;
        -webkit-flex-direction: column-reverse;
-ms-flex-direction: column-reverse;
-o-flex-direction: column-reverse;
-moz-flex-direction: column-reverse;
        align-items: center;
        -webkit-align-items: center;
-ms-align-items: center;
-o-align-items: center;
-moz-align-items: center;
        width: 80%;
        max-width: 1300px;
        margin: 0 auto;
    }
    
    .structure_img_pc {
        display: none;
    }
    
    .structure_img_sp {
        display: block;
        width: 60%;
        min-width: 420px;
        margin-bottom: 30px;
    }
    
    .structure h3 {
    font-size: 18px;
    padding: 12px 10px;
        width: 425px;
        margin: 0 auto 50px;
}
    
    .structure_text {
        width: 75%;
        min-width: 520px;
    }
    
    .aging_img {
     margin: 50px auto 50px;
        width: 60%;
        min-width: 420px;
}
    
}

@media(max-width: 745px) {
    .cell_top {
        margin: 110px auto 65px;
    }
    .cell_img {
        width: 100%;
        max-width: 600px;
        min-width: 475px;
    }
    
    .surprised_flex {
        width: 95%;
        margin-bottom: 40px;
    }
    
    .surprised_flex2 {
        width: 95%;
        margin-bottom: 40px;
    }
    
    .surprised_text {
        width: 95%;
        min-width: 430px;
        max-width: 475px;
    }
    
    .surprised_text h3 {
    font-size: 16px;
        padding: 10px 10px;
}
    
    .surprised_text_1025 {
        width: 100%;
        min-width: 430px;
    }
    
    .cell_chance {
        padding: 40px 0;
    }
    
    .cell_chance p {
        font-size: 18px;
    }
    
    .cell_num {
        font-size: 24px;
    }
    
    .hair_growth {
    padding: 65px 0;
}
    
    .hair_growth h3 {
    width: 400px;
}
    
    .hair_growth_text {
        width: 95%;
    }
    
    .growth_img2 {
        min-width: 415px;
    }
    
    .structure {
    padding: 50px 0 0;
}
    
    .structure_flex {
    width: 95%;
        margin-bottom: 0;
}
    
    .structure h3 {
        width: 370px;
}
    
    .structure_text {
         width: 95%;
        min-width: 430px;
        max-width: 475px;
    }
    
    
}

@media(max-width: 475px) {
    
    .cell_top {
        margin: 100px auto 65px;
    }

     .cell_img {
        max-width: 475px;
        min-width: 320px;
    }
    
    .surprised_text {
        min-width: 100%;
    }
    
    .surprised_text_1025 {
        min-width: 100%;
    }

    .surprised_text h3 {
            padding: 8px 10px;
    }
    
    .cell_chance {
        padding: 30px 5px;
    }
    
    .cell_chance p {
        font-size: 15px;
    }
    
    .cell_num {
        font-size: 19px;
    }
    
    .hair_growth {
    padding: 60px 0;
}
    
    .surprised_img2 {
        width: 100%;
        min-width: 100%;
        margin-bottom: 30px;
     }
    
    .hair_growth h3 {
        font-size: 16px;
    width: 280px;
        padding: 10px 0;
        margin-bottom: 40px;
}
    
    .growth_img2 {
        width: 95%;
        margin: 0 auto 40px;
        min-width: auto;
    }
    
    .structure_img_sp {
        width: 100%;
        margin: 0 auto 40px;
        min-width: auto;
    }
    
    .structure h3 {
        font-size: 16px;
        padding: 10px 10px;
        width: 280px;
        margin: 0 auto 50px;
}
    
    .structure_text {
        min-width: 100%;
    }
    
    .aging_img {
     width: 100%;
        min-width: 100%;
        margin-bottom: 30px;
}
}

@media(max-width: 375px) {
    .surprised_flex {
        margin-bottom: 30px;
    }
    
    .surprised_flex2 {
        margin-bottom: 30px;
    }
    
    .cell_chance {
        padding: 30px 5px;
    }
    
    .cell_chance p {
        font-size: 13px;
    }
    
    .cell_num {
        font-size: 16px;
    }
}


/* --------------------------------------------
・プライバシーポリシー
 --------------------------------------------*/

.privacy {
    background: #ECE8E1;
}

.privacy_top {
    width: 90%;
    max-width: 850px;
    margin: 0 auto;
}

.privacy_top h2 {
    font-size: 22px;
    text-align: center;
    padding: 120px 0 40px;
}

.privacy_top p {
    margin-bottom: 80px;
    text-align: justify;
}

.privacy_content {
    padding-bottom: 80px;
    width: 90%;
    max-width: 850px;
    margin: 0 auto;
}


.privacy_content h3 {
    display: inline-block;
    background: #fff;
    padding: 10px 50px;
    margin-bottom: 40px;
    clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
    -webkit-clip-path: polygon(10% 0 , 90% 0 , 90% 100% , 10 100%);
    -ms-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
-o-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
-moz-clip-path: polygon(3% 0, 100% 0, 97% 100%, 0 100%);
    font-size: 22px;
}

.privacy_content p {
    padding-left: 3em;
    margin-bottom: 20px;
    text-align: justify;
}

@media(max-width: 1400px) {
    
}

@media(max-width: 1025px) {
    
}

@media(max-width: 745px) {
    .privacy_top h2 {
    font-size: 20px;
}
    
    .privacy_content h3 {
        font-size: 20px;
    }
    
    .privacy_content p {
    padding-left: 0;
}
    
}

@media(max-width: 475px) {
     .privacy_top h2 {
    font-size: 18px;
    padding: 90px 0 20px;
}
    
    .privacy_top p {
    margin-bottom: 50px;
}

    
    .privacy_content {
    padding-bottom: 50px;
    }
    
    .privacy_content h3 {
        font-size: 16px;
        padding: 10px 40px;
        margin-bottom: 25px;
    }
}



/* --------------------------------------------
・シャンプー・トリートメント
 --------------------------------------------*/

 .shampoo_bg {
    width: 100%;
    height: 100%;
    background: #ECE8E1;
 }

 .wrapper {
    max-width: 100%;
    height: 100%;
    max-width: 1200px;
}

 .zeroshamp,
 .treatment,
 .detail {     
     padding-top: 135px;
     position: relative;
     -ms-position: relative;
  -webkit-position: relative;
  -o-position: relative;
 }

 .detail {
    padding-bottom: 110px;
 }

 .zeroshamp h2,
 .treatment h2,
 .detail h2 {
     font-size: 28px;
     margin-bottom: 3rem;
     padding-bottom: .2em;
     line-height: 1.4;
 }
 .h1_border {
     border-bottom: .7px #333333 solid;
 }
 .zeroshamp p,
 .treatment p,
 .detail p {
     line-height: 1.7;
     text-align: justify;
 }
 .section-left {
     position: absolute;
     -ms-position: absolute;
  -webkit-position: absolute;
  -o-position: absolute;
     top: 135px;
     left: 0;
     width: 265px;
     padding: .8em 0;
     color: #fff;
     background: #00669A;
     font-size: 16px;
     text-align: center;
 }
 .img-topmargin {
     margin-top: 30px;
 }
 .section-center {
     width: 50%;
     margin: 0 auto;
 }
 
 
 
 .point {
     text-align: center;
     width: 90%;
     margin: 0 auto;
     margin-bottom: 65px;
 }
 .point_top {
     display: flex;
     -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
     justify-content: space-between;
     -webkit-justify-content: space-between;
-ms-justify-content: space-between;
-o-justify-content: space-between;
-moz-justify-content: space-between;
     align-items: center;
     -webkit-align-items: center;
-ms-align-items: center;
-o-align-items: center;
-moz-align-items: center;
     margin-top: 65px;
 }
 .point_topimg {
     max-width: 136px;
     margin-right: 20px;
     margin-left: 20px;
 }
 .point_headline {
     display: inline-block;
     width: 280px;
     border-bottom: 1px #6A4504 solid;
     padding-top: 1.5rem;
 }
 .point_bottomline {
     display: inline-block;
     border-bottom: 1px #6A4504 solid;
     width: 100%;
 }
 .point_list {
     display: inline-block;
     text-align: center;
 }
 
 
 .point_main {
     display: flex;
     -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
     justify-content: center;
     -webkit-justify-content: center;
-ms-justify-content: center;
-o-justify-content: center;
-moz-justify-content: center;
     margin-top: 50px;
     margin-bottom: 50px;
 }
 .point_main p {
     margin-right: 2rem;
 }
 
 
 .p_margin p {
     margin-bottom: 1rem;
 }

 .p_margin p:last-of-type {
    margin-bottom: 0;
}

 .p_margin img {
     margin-bottom: 50px;
 }

 .shampp_baner {
     margin: 60px auto 0;
 }


 @media screen and (max-width: 1400px) {
    .zeroshamp h2,
    .treatment h2,
    .detail h2 {
        font-size: 22px;
    }
    .point_main p {
        font-size: .98rem;
    }
    .section-left {
        font-size: 15px;
        width: 230px;
    }
}

@media screen and (max-width: 1025px) {
    .zeroshamp h2,
    .treatment h2,
    .detail h2 {
        font-size: 20px;
    }

    .detail {
        padding-bottom: 95px;
     }

    .section-left {
        position: inherit;
        top: 0;
        margin-bottom: 30px;
        margin-left: 15%;
    }
    .section-center {
        margin: 0 auto;
        width: 70%;
    }
    
    .point_main {
        flex-direction: column;
        -webkit-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
-moz-flex-direction: column;
        align-items: center;
        -webkit-align-items: center;
-ms-align-items: center;
-o-align-items: center;
-moz-align-items: center;
        margin: 30px auto;
    }
}

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

    .zeroshamp,
 .treatment,
 .detail {     
     padding-top: 110px;
 }

 .detail {
    padding-bottom: 80px;
 }

    .section-center {
        width: 90%;
        margin: 0 auto;
    }
    .zeroshamp h2,
    .treatment h2,
    .detail h2 {
        font-size: 16px;
        margin-bottom: 2rem;
    }
    .zeroshamp p,
    .treatment p,
    .detail p {
        font-size: 14px;
    }
    .section-left {
        position: inherit;
        font-size: 14px;
        margin-left: 5%;
        margin-bottom: 20px;
    }

    .shampoo_banner {
        margin: 50px auto 0;
    }

}

@media screen and (max-width: 475px) {
.zeroshamp,
 .treatment,
 .detail {     
     padding-top: 95px;
 }

 .section-left {
    padding: .5em 0;
}

 .point_main {
    margin: 15px auto;
}

.point_top {
    margin-top: 40px;
}

.point {
    margin-bottom: 50px;
}

.zeroshamp p,
    .treatment p,
    .detail p {
        font-size: 13px;
    }
}


@media screen and (max-width: 375px) {
    .zeroshamp h2,
    .treatment h2,
    .detail h2 {
        font-size: 14px;
    }

    .point_topimg {
        width: 100px;
        margin: 0 10px;
    }

}



/* --------------------------------------------
・フッター
 --------------------------------------------*/
footer {
	width: 100%;
    background: #333;
    color: #fff;
}

.footer_box {
        padding: 30px 0;
}
.company_name {
    border-bottom: 2px solid #fff;
}

.company_name p {
    font-size: 24px;
    padding: 15px 0 15px 40px;
}

.footer_lower {
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
-ms-justify-content: space-between;
-o-justify-content: space-between;
-moz-justify-content: space-between;
    padding: 25px 0 0 40px;
}

.company_info {
    width: 30%;
}

.company_info  p {
    line-height: 1.5;
}

.info_name {
    margin-top: 20px;
}

.adress_flex {
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
}

.adress_flex p a {
    color: #fff;
}

.producer_name {
    font-size: 22px;
}

.media_box {
    width: 70%;
}

.media_box p {
    font-size: 20px;
    margin-bottom: 25px;
    line-height: 1.3;
}

.media_flex {
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    gap: 35px;
    margin-bottom: 30px;
}

.contact_flex {
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    gap: 35px;
    -webkit-gap: 35px;
-ms-gap: 35px;
-o-gap: 35px;
-moz-gap: 35px;
}

.media_flex a , .contact_flex a {
    color: #fff;
}


@media(max-width: 1400px) {

    .footer_box {
        padding: 10px 0;
        width: 95%;
}

    .footer_lower {
        flex-direction: column;
        -webkit-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
-moz-flex-direction: column;
    }

    .company_info {
        display: flex;
        -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
        align-items: center;
        -webkit-align-items: center;
-ms-align-items: center;
-o-align-items: center;
-moz-align-items: center;
        width: 100%;
        margin-bottom: 50px;
        gap: 100px;
        -webkit-gap: 100px;
-ms-gap: 100px;
-o-gap: 100px;
-moz-gap: 100px;
    }

    .info_name {
        margin-top: 0;
    }

    .media_box {
        width: 100%;
    }

    .media_inner {
        display: flex;
        -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
        gap: 100px;
        -webkit-gap: 100px;	
-ms-gap: 100px;
-o-gap: 100px;
-moz-gap: 100px;
    }

    .media_flex , .contact_flex {
        flex-direction: column;
        -webkit-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
-moz-flex-direction: column;
        gap: 20px;
        -webkit-gap: 20px;
-ms-gap: 20px;
-o-gap: 20px;
-moz-gap: 20px;
    }
    
}

@media(max-width: 1025px) {
    .company_name p {
        font-size: 22px;
    }
}

@media(max-width: 745px) {

    .company_info {
        margin-bottom: 30px;
        flex-direction: column;
        -webkit-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
-moz-flex-direction: column;
        align-items: flex-start;
        -webkit-align-items: flex-start;
-ms-align-items: flex-start;
-o-align-items: flex-start;
-moz-align-items: flex-start;
        gap: 10px;
        -webkit-gap: 10px;
-ms-gap: 10px;
-o-gap: 10px;
-moz-gap: 10px;
    }

    .company_info p {
        font-size: 14px;
    }

    .media_inner {
        gap: 50px;
        -webkit-gap: 50px;
-ms-gap: 50px;
-o-gap: 50px;
-moz-gap: 50px;
    }

    .media_inner li {
        font-size: 14px;
    }

    .media_box p {
        font-size: 18px;
        margin-bottom: 20px;
    }

    .company_name p {
        font-size: 20px;
        padding: 15px 0 15px 15px;
    }

    .footer_lower {
    padding: 15px 0 15px 15px;
    }

    .producer_name {
        font-size: 18px;
    }

    .media_flex , .contact_flex{
        gap: 15px;
        -webkit-gap: 15px;
-ms-gap: 15px;
-o-gap: 15px;
-moz-gap: 15px;
    }
   
}

@media(max-width: 475px) {
    
    .company_name {
        border-bottom: 1px solid #fff;
    }
    .company_name p {
        font-size: 18px;
        padding: 15px 0 15px 0;
    }

    .footer_lower {
        padding: 15px 0 15px 0;
        }

    .producer_name {
        font-size: 16px;
    }

    .media_box p {
        font-size: 16px;
        margin-bottom: 15px;
    }

    .media_inner {
        flex-direction: column;
        -webkit-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
-moz-flex-direction: column;
        gap: 0;
        -webkit-gap: 0;
-ms-gap: 0;
-o-gap: 0;
-moz-gap: 0;
    }

    .media_flex {
        gap: 10px;
        -webkit-gap: 10px;
-ms-gap: 10px;
-o-gap: 10px;
-moz-gap: 10px;
    }

    .contact_flex {
        flex-direction: row;
        -webkit-flex-direction: row;
-ms-flex-direction: row;
-o-flex-direction: row;
-moz-flex-direction: row;
        gap: 20px;
        -webkit-ap: 20px;
-ms-ap: 20px;
-o-ap: 20px;
-moz-ap: 20px;
    }
    
}







 /* --------------------------------------------
・お問い合せ入力フォーム
 --------------------------------------------*/

.contact_p {
	padding: 130px 0 80px;
}

.contact_p h2 {
    font-size: 26px;
    color: #fff;
    background: #333;
    width: 70%;
    max-width: 600px;
    text-align: center;
    margin: 0 auto 50px;
    padding: 5px 0;
}

.contact_box {
    max-width:800px;
    margin: 0 auto;
    width: 90%;

}

.contact_p #content
{
	line-height: 2;
}
.contact_p table
{
	width: 100%;
	border: none;
	border-collapse: collapse;
}

.contact_p table th, .contact_p table td
{
	border: none;
	padding: 10px 5px;
	box-sizing: border-box;
}
.contact_p table th
{
	text-align: left;
	vertical-align: top;
	width: 200px;
}
.contact_p table textarea,
.contact_p table input[type="text"],
.contact_p table input[type="email"]
{
    max-width: 980px;
	width: 100%;
	box-sizing:border-box;
	border-radius: 5px;
	border: 1px solid #333;
	font-size: 16px;
	padding: 7px 5px;
	background: #fff;
}
.contact_p table select
{
	box-sizing:border-box;
	border-radius: 5px;
	border: 1px solid #333;
	font-size: 16px;
    background: #fff;
    color: #333;
}
.contact_p table .requi
{
	color:red;
	font-size: 14px;
	padding-left: 10px;
}
.contact_p .submit_btn
{
	text-align: center;
	margin-top: 20px;
}
.contact_p input[type="submit"]
{
	background:#333;
	border: none;
	font-size: 18px;
	color: #FFF;
	width: 150px;
	height: 60px;
	line-height: 1;
}
.contact_p input[type="submit"]:hover
{
	background:black;
	cursor: pointer;
}
.contact_p .con_info1
{
    text-align: center;
	font-size: 16px;
	margin-bottom: 40px;
}
.contact_p .con_info2
{
	margin-top: 60px;
}
.contact_p .con_info2 a
{
	text-decoration: underline;
}


@media(max-width: 1025px) {
    .contact_p h2 {
        font-size: 22px;
        width: 385px;
    }

    .contact_p table th
{
	text-align: left;
	vertical-align: top;
	width: 150px;
}

.contact_p table textarea,
.contact_p table input[type="text"],
.contact_p table input[type="email"],
.contact_p table select    {
        width: 100%;
        max-width: 425px;
	    min-width: 375px;
    }
    tr {
        display: flex;
        -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
        justify-content: center;
        -webkit-justify-content: center;
-ms-justify-content: center;
-o-justify-content: center;
-moz-justify-content: center;
        gap: 20px;
        -webkit-gap: 20px;
-ms-gap: 20px;
-o-gap: 20px;
-moz-gap: 20px;
    }
}

@media(max-width: 745px) {
    .contact_p h2 {
        font-size:18px;
        width: 300px;
        padding: 10px 0;
    }

    .contact_p #content {
        line-height: 1;
    }

    .contact_p table textarea,
.contact_p table input[type="text"],
.contact_p table input[type="email"],
.contact_p table select    {
        width: 100%;
        max-width: 375px;
	    min-width: auto;
    }

    .contact_p table th, .contact_p table td    {
	padding: 7px 5px;
}

    tr {
        flex-direction: column;
        -webkit-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
-moz-flex-direction: column;
        gap: 0;
        -webkit-gap: 0;
-ms-gap: 0;
-o-gap: 0;
-moz-gap: 0;
        width: 345px;
        margin: 0 auto 20px;
    }

    .contact_p input[type="submit"] {
	font-size: 16px;
	width: 130px;
	height: 50px;
}

    .contact_p .con_info2   {
	    font-size: 14px;
    }
}

@media(max-width: 475px) {
    .contact_box {
        width: 95%;
    }
    .contact_p {
        padding: 110px 0 80px;
    }

    .contact_p h2 {
        font-size:16px;
        width: 90%;
        max-width: 300px;
        padding: 10px 0;
        margin-bottom: 40px;
    }

    .contact_p table textarea,
.contact_p table input[type="text"],
.contact_p table input[type="email"],
.contact_p table select    {
        padding: 5px 5px;
    }

    .contact_p input[type="submit"] {
        font-size: 16px;
        width: 120px;
        height: 40px;
    }

    .contact_p .con_info1   {
	    font-size: 14px;
	    margin-bottom: 30px;
    }
    
}

@media(max-width: 375px) { 
    tr {
        width: 100%;
    }
}



/* --------------------------------------------
・お問い合せ確認
 --------------------------------------------*/

#confirm .contact_p {
    padding-top: 60px;
}

.contact_p .submit_btn
{
	text-align: center;
	margin-top: 20px;
}
.contact_p input[type="reset"]
{
	background:#333;
	border: none;
	font-size: 18px;
	color: #FFF;
	width: 150px;
	height: 60px;
	line-height: 1;
}
.contact_p input[type="reset"]:hover
{
	background:black;
	cursor: pointer;
}

.submit_flex {
    display: flex;
    -webkit-display: flex;
-ms-display: flex;
-o-display: flex;
-moz-display: flex;
    gap: 20px;
    -webkit-gap: 20px;
-ms-gap: 20px;
-o-gap: 20px;
-moz-gap: 20px;
    justify-content: center;
    -webkit-justify-content: center;
-ms-justify-content: center;
-o-justify-content: center;
-moz-justify-content: center;
}

@media(max-width: 745px) { 
    #confirm .contact_p h2 {
        padding: 12px 0;
        width: 330px;
    }

    .contact_p input[type="reset"] {
        font-size: 16px;
        width: 130px;
        height: 50px;
    }
}

@media(max-width: 475px) { 
    #confirm .contact_p h2 {
        padding: 10px 0;
        width: 270px;
    }

    .contact_p input[type="reset"] {
        font-size: 16px;
        width: 120px;
        height: 40px;
    }
}

/* --------------------------------------------
・お問い合せ完了
 --------------------------------------------*/

 .contact_top {
    background: #333;
    color: #FFF;
    width: 150px;
    height: 60px;
    text-align: center;
    margin: 80px auto 0;
    transition: .5s;
    -ms-transition: .5s;
-o-transition: .5s;
-moz-transition: .5s;
    border-radius: 8px;
}

.contact_top a {
    color: #fff;
}

.contact_top:hover {
    background: black;
}

.contact_top p {
    line-height: 3.4;
    font-size: 18px;
}

@media(max-width: 745px) { 
    .contact_top {
        width: 130px;
        height: 45px;
        margin: 60px auto 0;
    }

    .contact_top p {
        line-height: 2.5;
    }
}

@media(max-width: 475px) { 
    .contact_top {
        width: 115px;
        height: 40px;
    }

    .contact_top p {
        font-size: 16px;
    }
}


/* -----------------------------------------
追加css 240806 
------------------------------------------*/

.media--wrapper {
    max-width: 1300px;
    width: 100%;
    margin: 0 auto;
    padding: 20px 15px 0;
}
.media_B--inner {
    padding: 2rem 15px 5rem;
}
.media--wrapper h2 {
    padding: 1rem 2rem;
    border-top: 3px solid #3a3a3a;
    background: #f4f4f4;
    font-size: 24px;
}
@media screen and (min-width:765px) {
    .media--wrapper h2 {
        font-size: 26px;
    }   
}

/* 書籍 */
.media-B_flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3em;
    padding-bottom: 2rem;
}

.media_B-images {
    max-width: 400px;
    width: 75%;
}
@media screen and (min-width:765px) {
    .media_B-images {
        width: 100%;
    }
}

.madia_B-cont {
    flex-basis: 40%;
}
.media--wrapper h3 {
    position: relative;
    -ms-position: relative;
    -webkit-position: relative;
    -o-position: relative;
    margin: 35px 0 20px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 10px;
    line-height: 1.3;
    font-size: 26px;
}
.media--wrapper h3::before {
    content: "";
    position: absolute;
    -ms-position: absolute;
    -webkit-position: absolute;
    -o-position: absolute;
    bottom: -2px;
    left: 0;
    height: 2px;
    width: 150px;
    background: #006699;
}
.madia_B-cont p {
    margin-bottom: 5em;
}
a.btn_amzn {
	display: block;
	text-align: center;
	text-decoration: none;
	width: fit-content;
	margin: auto;
	padding: 1rem 2rem;
	font-weight: bold;
	/* border: 2px solid #27acd9; */
	background: #aca190;
	color: #fff;
	transition: 0.5s;
}
a.btn_amzn:hover {
	color: #aca190;
	background: #fff;
}
@media screen and (max-width:900px) {
    .media-B_flex {
        flex-direction: column;
        gap: 1em;
    }
}
@media screen and (max-width:500px) {
    .media--wrapper h3 {
        font-size: 18px;
    }
    .madia_B-cont p {
        margin-bottom: 2em;
    }
}

/* 既刊 */
.kikan_inner {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    padding: 2rem 0;
    gap: 5rem;
}
.kikan_flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
.kikan_flex p {
    font-size: 20px;
}
.kikan_img {
    width: 250px;
    width: 75%;
}
@media screen and (min-width:765px) {
    .kikan_img {
        width: 100%;
    }
}

/* メディア */
.media--inner {
    display: flex;
    gap: 1.8rem;
    align-items: start;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 1000px;
    padding: 2rem 0;
    margin: 0 auto;
}
@media screen and (max-width:1025px) {
    .media--inner {
        justify-content: center;
    }
}

.media_cont {
    max-width: 300px;
    width: 100%;
}

.media_cont::after{
    max-width: 300px;
    width: 100%;
    content: "";
    display: block;

}
.media_img {
    max-width: 300px;
    width: 75%;
    margin: 0 auto;
}
.media--inner h3 {
    position: relative;
    -ms-position: relative;
    -webkit-position: relative;
    -o-position: relative;
    margin: 35px 0 20px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 10px;
    line-height: 1.3;
    font-size: 20px;
}
.media--inner  h3::before {
    content: "";
    position: absolute;
    -ms-position: absolute;
    -webkit-position: absolute;
    -o-position: absolute;
    bottom: -2px;
    left: 0;
    height: 2px;
    width: 50px;
    background: #006699;
}


/* ----------------------------------------------
240822追加
---------------------------------------------- */
.slideBox {
    width: 100%;
    height: 500px;
    /* overflow: hidden; */
    position: relative;
}
@media screen and (max-width:900px) {
    .slideBox {
        height: 450px;
    }
}
@media screen and (max-width:745px) {
    .slideBox {
        height: 250px;
    }
}


/* imgのみ */
.item1 {
    opacity: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime 20s 0s infinite;
    animation: anime 20s 0s infinite;
}

.item1:nth-of-type(2) {
    -webkit-animation-delay: 10s;
    animation-delay: 10s;
}


  /* ふわっとアニメーション */
@keyframes anime {
    0% {
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    25% {
        opacity: 1;
    }
    40% {
        opacity: 1;
    }
    60% {
        opacity: 0;
        z-index: 9;
    }
    100% {
        opacity: 0;
    }
}

@-webkit-keyframes anime {
    0% {
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    25% {
        opacity: 1;
    }
    40% {
        opacity: 1;
    }
    60% {
        opacity: 0;
        z-index: 9;
    }
    100% {
        opacity: 0;
    }
}

/* 240910追加 */

.moukon_img {
    width: 50%;
    display: block;
    margin: auto;

}

.AGA_img {
    width: 70%;
    display: block;
    margin: auto;
}

.sitekain_img {
    width: 80%;
    display: block;
    margin: auto;
}

.kansaibou_top {
    width: 60%;
    display: block;
    margin: 50px auto;
}

@media(min-width:751px){
    .kansaibou_top{
        display: none !important;
    }
}