@charset "utf-8";
/*ディダクトゴシック*/
.noto-sans-jp{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
body {
    font-family: 'Noto Sans JP', sans-serif;
}
/*SP・header*/
.header{
    width:100%;
    height:90px;
    margin-left:auto;
    margin-right:auto;
    z-index: 9;
    box-shadow: 0px 2px 2px #f2f2f2;
    background-color: rgba(255, 255, 255, 0.63);
    position: relative;
}
.header__inner{
    display: flex;
    align-items: center;
    height: inherit;
    position: relative;
}
.header__title{
    width: 100%;
    font-size: 40px;
    text-align: center;
    color: #344148;
}
.header__title img{
    display: block;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    width: 60%;
    height: auto;
}
/*===========================================================
  SP・機能編  　5-1-20 クリックしたら円形背景が拡大（右上から）
===========================================================*/
/*SP・アクティブになったエリア*/
#g-nav.panelactive{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
	top: 0;
    right: inherit;
	width:100%;
    height: 100vh;
}
/*SP・丸の拡大*/
.circle-bg{
    position: fixed;
	z-index:3;
    /*丸の形*/
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: #f2f2f2;
    /*丸のスタート位置と形状*/
	transform: scale(0);/*scaleをはじめは0に*/
	right:-15px;
    top:-15px;
    transition: all .6s;/*0.6秒かけてアニメーション*/
}
.circle-bg.circleactive{
	transform: scale(50);/*クラスが付与されたらscaleを拡大*/
}   
/*SP・ナビゲーションの縦スクロール*/
#g-nav-list{
    display: none;/*はじめは表示なし*/
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
#g-nav.panelactive #g-nav-list{
     display: block; /*クラスが付与されたら出現*/
}
/*SP・ナビゲーション*/
#g-nav ul {
	opacity: 0;/*はじめは透過0*/
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}
/*SP・背景が出現後にナビゲーションを表示*/
#g-nav.panelactive ul {
    opacity:1;
    flex-wrap: wrap;
}
/*SP・リストのレイアウト設定*/
#g-nav.panelactive li{
	text-align: center; 
    width: 100%;
}
#g-nav.panelactive li a{
    padding:15px 0;
	display: block;
}
/*===================================
　SP・機能編 5-2-4	MENUがCLOSEに
===================================*/
/*hamburger 外側*/
.hamburger{
    position:fixed;
    display: block;
	top:10px;
	right: 10px;
	z-index: 999;/*ボタンを最前面に*/
	cursor: pointer;
    width: 55px;
    height: 55px;
	border-radius: 100px;
    background-color: #f2f2f2;
    box-shadow: 0px 2px 2px gray;
    border: 1px solid #f2f2f2;
}
/*hamburger 内側*/
.hamburger span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 13px;
    height: 2px;
    border-radius: 5px;
	background: #344148;
  	width: 50%;
}
.hamburger span:nth-of-type(1){
    top:13px;
}
.hamburger span:nth-of-type(2){
    top:19px;
}
.hamburger span:nth-of-type(3){
    top:25px;
}
.hamburger span:nth-of-type(3)::after {
	content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
	position: absolute;
	top:5px;
	left:-1px;
	color: #344148;
	font-size: 0.6rem;
	text-transform: uppercase;
}
/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/
.hamburger.active span:nth-of-type(1) {
    top: 14px;
    left: 14.5px;
    transform: translateY(6px) rotate(-45deg);
    width: 45%;
}
.hamburger.active span:nth-of-type(2) {
	opacity: 0;
}
.hamburger.active span:nth-of-type(3){
    top: 26px;
    left: 14.5px;
    transform: translateY(-6px) rotate(45deg);
    width: 45%;
}
.hamburger.active span:nth-of-type(3)::after {
	content:"Close";/*3つ目の要素のafterにClose表示を指定*/
    transform: translateY(0) rotate(-45deg);
	top:7px;
	left:6px;
}
/*SP・header nav link*/
.nav-items{
    padding: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.nav-items__item a{
    color: #344148;
    width: 100%;
    display: inline-block;
    text-align: center;
    font-size: 160%;
    margin-bottom: 24px;
    text-decoration:none;
    background-position: 0 0;
    background-size: 200% auto;
    transition: .3s;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #344148 50%);
}
.nav-items__item:last-child a{
    margin-bottom: 0;
}
.my-parts:hover {
    background-position: -100% 0;
    color: #f2f2f2;
}
/*SP・navのaタグの下線を消す*/
a{
    text-decoration: none;
}
.main{
    width: 100%;
    /*height: 1800px;*/
    /*background-color: aqua;*/
    background-color: #f2f2f2;
}
.header2{
    width:100%;
    height: 100vh;
    margin-top: -90px;
    margin-bottom: 20px;
    position: relative;
    z-index: 0;
}
/*SP・header2のslider*/
/*.slider__header {
    width: 90%;
    height: 90%;
    margin-inline: auto;
    overflow: hidden; /* 画像がはみ出ないようにする */
   /* border-radius: 30px;
}*/
.slider__header {
    width: 100%;
    height: 100vh;
    margin-inline: auto;
    overflow: hidden; /* 画像がはみ出ないようにする */
}
.slick-img img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
}     
/*SP・スマートフォンで見たときは"sp"のclassがついた画像が表示される*/
.pc { 
    display: none !important; 
}
.sp { 
    display: block !important; 
}
/*SP・sliderのズームアニメーション*/
@keyframes zoomUp {
    0% {
      transform: scale(1);
    }
    100% {
      transform: scale(1.15); /* 拡大率 */
    }
}
.add-animation {
    animation: zoomUp 10s linear 0s normal both;
}
/*SP・スクロールバー*/
/*スクロールダウンの位置*/
.scroll {
    position: absolute;
    right: 45%;
    bottom: 60px;
    color: #f2f2f2;
    text-shadow: 1px 2px 3px #808080;
}
/*線のアニメーション部分*/
.scroll::before {
    animation: scroll 2s infinite;
    background-color: #f2f2f2;
    box-shadow: 1px 2px 3px #808080;
    bottom: -55px;
    content: "";
    height: 45px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: 1px;
}
/*線のアニメーション*/
@keyframes scroll {
    0% {
      transform: scale(1, 0);
      transform-origin: 0 0;
    }
    50% {
      transform: scale(1, 1);
      transform-origin: 0 0;
    }
    51% {
      transform: scale(1, 1);
      transform-origin: 0 100%;
    }
    100% {
      transform: scale(1, 0);
      transform-origin: 0 100%;
    }
}
.add-zoom {
    animation: fadezoom 10s 0s forwards;
}
/*SP・section*/
.section{
    width:100%;
    /*height:500px;*/
    background-color: #f2f2f2;
}
h2{
    font-size: 30px;
    margin: 0;
    padding:20px 90px;
    color: #344148;
    font-weight: bold;
    position: relative;
}
h2::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 30px;
    display: inline-block;
    width: 40px;
    height: 1px;
    background-color: black;
}
/*SP・flex*/
.flex{
    width: 100%;
    margin-top: 50px;
}
.flex__inner{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f2f2f2;
}
h3{
    text-align: center;
    margin: 0;
    padding:20px 0px;
    color: #344148;
}
.h3__font__size__main{
    font-size: 35px;
}
.h3__font__size{
    font-size: 25px;
    line-height: 50px;
}
.flex__inner__item{
    margin-left: 30px;
    margin-right: 30px;
    margin-bottom: 20px; 
    line-height: 30px;
}
.flex__inner__item__ab{
    margin-bottom: 20px; 
    line-height: 30px;
}
.flex__inner__item__img{
    width: 30%;
    height: 30%;
    padding-bottom: 40px;
}
/*SP・私たちの強み*/
.card {
    counter-reset: num;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    max-width: 100%; 
    padding-top: 50px;
  }
  .card p{
    line-height: 25px;
  }
  .card h2{
    width: 100%;
    margin-bottom: 30px;
  }
  .card section {
    box-sizing: border-box;
    position: relative;
    counter-increment: num;
    padding: 30px 30px;
    margin: 0;
    width: 70%;
    background: #eee;
    margin-bottom: 50px;
  }
  
  .card section::before {
    position: absolute;
    left: 50%;
    top: -15px;
    content: counter(num);
    height: 30px;
    margin-left: -16px;
    text-align: center;
    line-height: 30px;
    font-weight: bold;
    color: #fff;
    width: 30px;
    background: #321E17;
    box-shadow: 5px 5px 0 rgba(255, 0, 0, .3);
  }
  
  .card section h3{
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 18px;
  }
/*SP・仕切り線*/
.border__bottom {
    border: 0;
    height: 1px;
    margin: 2.5rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.border__bottom::before {
    content: '◆◆◆◆◆◆◆◆';
    font-size: 1.25em;
    letter-spacing: .75em;
    opacity: .75;
    color: gray;
} 
/*--SP・固定背景の設定・プラン紹介--*/
.flex__inner__bg {
    box-sizing: border-box;
    color: #FFF;
    display: flex;
    height: 100vh;
    padding: 5%;
  }
.flex__inner__bg__padding{
    padding-top: 40px;
    padding-bottom: 20px;
}
h4 {
    text-align: center;
    font-size: 2rem;
    color: #344148;
    position: relative;
  }
h4::before{
    content: '◇';
    position: relative;
    top: 3px;
    left: -15px;
    font-size: 30px;
}
.cd-fixed-bg {
    position: relative;
    min-height: 100%;
    background-size: cover;
    /*background-attachment: fixed;*/
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 2;
}
/*--固定背景01--*/
.cd-fixed-bg.cd-bg-1  {
    background-image: url('image/w-plan1.jpg');
}
/*--固定背景02--*/
.cd-fixed-bg.cd-bg-2  {
    background-image: url('image/w-slider11.jpg');
}
.flex__inner__bg__item{
    background-color: #f2f2f2;
    position: absolute;
    right: 0;
    bottom: 0;
    padding-left: 50px;
    padding-right: 35px;
    padding-top: 30px;
    padding-bottom: 30px;
}
.flex__inner__bg__title{
    padding-bottom: 20px;
}
.flex__inner__bg__p{
    padding-left: 20px;
    padding-right: 20px;
    text-align: center;
    color: #344148;
    padding-bottom: 20px;
}
.textalign-center{
    text-align: center;
    color: #344148;
}
/*SP・プラン紹介のボタン*/
.btn,
a.btn,
button.btn {
    font-size: 1rem;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
}
.btn__left{
    margin-left: 22px;
}
a.btn-flat {
    overflow: hidden;
    padding: 10px 1.5rem;
    color: #f2f2f2;
    background: #344148;
    border-radius: 100vh;
}
a.btn-flat span {
    position: relative;
}
a.btn-flat:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    -webkit-transform: translateX(-96%);
    transform: translateX(-96%);
    background: gray;
}
a.btn-flat:hover:before {

    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}
/*SP・スクロールしたらふわっと*/
.js-scroll.-fadein {
    opacity: 0;
    transform: translateY(5rem);
}
.js-scroll.-fadein.js-active {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 3s ease, transform 3s ease;
}
/*SP・flex-7*/
.flex-7{
    width: 100%;
    height: 50px;
    background-color: #949494;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    margin-top: 30px;
}
.flex-7 a{
    color: #f2f2f2;
}
/*SP・丸ボタン*/
.btn-circle-border-simple {
    display: inline-block;
    text-decoration: none;
    color: #344148;
    width: 120px;
    height: 120px;
    line-height: 120px;
    border-radius: 50%;
    border: solid 2px #344148;
    box-shadow: inset 0 0 20px rgba(255, 255, 255, 0);
    outline: 1px solid;
    outline-color: rgba(255, 255, 255, .5);
    outline-offset: 0px;
    text-shadow: none;
    transition: all 1250ms cubic-bezier(0.19, 1, 0.22, 1);
    text-align: center;
    overflow: hidden;
    font-weight: bold;
    transition: .4s;
    animation:8s linear infinite rotation;
    margin-top: 10px;
    margin-bottom: 20px;
}
.btn-circle-border-simple:hover {
    border: 1px solid;
    box-shadow: inset 0 0 20px rgba(255, 255, 255, .5), 0 0 20px rgba(0, 0, 0, 0.2);
    outline-color: rgba(255, 255, 255, 0);
    outline-offset: 15px;
    text-shadow: 1px 1px 2px #427388; 
}
@keyframes rotation{
    0%{ transform:rotate(0);}
    100%{ transform:rotate(360deg); }
}
/*=================================
 SP・スライダー無限ループのためのcss
===================================*/
.test-slick {
    width: 90%;
    max-width: 800px;
    margin: 30px auto;
}
.test-slick__item {
    margin-right: 5px;
    margin-left: 5px;
}
.test-slick__item img {
    height: auto;
    width: 100%;
}
.slick-slide{
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}
/*==================================================
 SP・スライダークリックのためのcss
===================================*/
.slider__click{/*横幅94%で左右に余白を持たせて中央寄せ*/
    width:94%;
    margin:0 auto;
}
.slider__click img {
    width:60vw;/*スライダー内の画像を60vwにしてレスポンシブ化*/
    height:auto;
}
.slider__click .slick-slide {
	transform: scale(0.8);/*左右の画像のサイズを80%に*/
	transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/
	opacity: 0.5;/*透過50%*/
}
.slider__click .slick-slide.slick-center{
	transform: scale(1);/*中央の画像のサイズだけ等倍に*/
	opacity: 1;/*透過なし*/
}
/*矢印の設定*/
/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next {
    position: absolute;/*絶対配置にする*/
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #666;/*矢印の色*/
    border-right: 2px solid #666;/*矢印の色*/
    height: 15px;
    width: 15px;
}
.slick-prev {/*戻る矢印の位置と形状*/
    left: -1.5%;
    transform: rotate(-135deg);
}
.slick-next {/*次へ矢印の位置と形状*/
    right: -1.5%;
    transform: rotate(45deg);
}
/*ドットナビゲーションの設定*/
.slick-dots {
    text-align:center;
	margin:20px 0 0 0;
}
.slick-dots li {
    display:inline-block;
	margin:0 5px;
}
.slick-dots button {
    color: transparent;
    outline: none;
    width:4px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:#ccc;/*ドットボタンの色*/
}
.slick-dots .slick-active button{
    background:#333;/*ドットボタンの現在地表示の色*/
}
/*追従するトップへ戻るボタン*/
.pagetop{
    display: none;
    position: fixed;
    right: 15px;
    bottom: 60px;
}
.pagetop a{
    display: block;
    font-size: 0;
    width: 40px;
    height: 40px;
    text-align: center;
    background: #f2f2f2;
    border: solid 1px #f2f2f2;
    border-radius: 50%;
    line-height: 50px;
    box-shadow: 0 2px 10px -6px rgba(0,0,0,.5), 0 3px 10px -4px rgba(0,0,0,.2);
}
.pagetop a i{
    font-size: 1.2rem;
    color:#344148;
    line-height: 1.2rem;
}
.footer1{
    width:100%;
    height:200px;
    background-color:#f2f2f2;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-around;
    align-items: center;
}
footer div{
    text-align: center;
    color: #344148;
}
footer div i{
    padding-bottom: 20px;
}
html{
    scroll-behavior: smooth;
}
i{
    padding: 10px;
    color: #344148;
}
/*==================================================
        SP・home以外共通
===================================*/
.flex__inner__title{
    position: absolute;
    bottom: 40px;
    left: 20px;
    color: #f2f2f2;
}
.flex__inner__title__h5{
    font-size: 70px;
    padding-bottom: 20px;
}
/*==================================================
        SP・Q&A
===================================*/
.flex__inner__qa--1{
    padding-left: 30px;
    padding-right: 30px;
    text-align: center;
    line-height: 20px;
}
.flex__inner__qa--2{
    padding: 30px;
    margin: 40px;
    background-color: white;
    line-height: 20px;
}
.header2__img {
    width: 100%;
    height: 100vh;
    margin-inline: auto;
    overflow: hidden; /* 画像がはみ出ないようにする */
}
.header2__img img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
}
.flex__pama__qa{
    background-color: #f2f2f2;
    padding-right: 5px;
    padding-left: 5px;
    margin-bottom: -40px;
    padding-bottom: 50px;
}
/*==================================================
        SP・Plan
===================================*/
.flex__inner__pl--1{
    padding: 30px;
    line-height: 20px;
}
.flex__inner__pl--2{
    padding-bottom: 30px;
    line-height: 20px;
}
.flex__inner__pl__ul{
    padding-left: 20px;
    width: fit-content;
    margin: 30px auto;
    list-style: disc;
    line-height: 30px;
}
.flex__inner__p{
   padding-left: 30px;
   padding-right: 30px;
   padding-bottom: 30px;
    width: fit-content;
    margin: 30px auto;
    list-style: disc;
    line-height: 30px;
}
.p_line-he{
    line-height: 30px;
}
.flex__pl{
    background-color: #fff;
    padding-top: 30px;
    padding-bottom: 30px;
}
/*==================================================
        SP・Contact
===================================*/
.btn__white{
    padding-bottom: 30px;
}
.btn__white a{
    background: #fff;
    border: solid 2px #344148;
    border-radius: 9999px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    color: #333333;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.btn__white a:hover {
    background: #333333;
    color: #FFF;
}
.btn__white a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #333333;
    border-right: 3px solid #333333;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.btn__white a:hover:after {
    border-color: #FFF;
}
    /*.flex__form{
        margin-left: 20px;
        margin-right: 20px;  
    }
   .Form {
      margin-top: 40px;
      margin-left: auto;
      margin-right: auto;
      width: 100%;
     max-width: 720px;
    }
    .Form-Item {
      border-top: 1px solid #ddd;
      padding-left: 14px;
      padding-right: 14px;*/
      /*padding-top: 16px;
      padding-bottom: 16px;
      flex-wrap: wrap;
      width: 100%;
        display: flex;
      align-items: center;
      justify-content: center;
    }*/
    /*.Form-Item:nth-child(5) {
        border-bottom: 1px solid #ddd;
      }*/
    /*.Form-Item-Label {
      width: 100%;
      max-width: inherit;
      display: flex;
      align-items: center;
      letter-spacing: 0.05em;
      font-weight: bold;
      font-size: 15px;
    }
    .Form-Item-Label.isMsg {
      margin-top: 0;
      margin-bottom: auto;
    }
    .Form-Item-Label-Required {
      border-radius: 4px;
      margin-right: 8px;
      padding-top: 4px;
      padding-bottom: 4px;
      width: 32px;
      display: inline-block;
      text-align: center;
      background: #5bc8ac;
      color: #fff;
      font-size: 10px;
    }
    .Form-Item-Input {
      border: 1px solid #ddd;
      border-radius: 6px;
      margin-left: 0;
      padding-left: 1em;
      padding-right: 1em;
      margin-top: 18px;
      height: 40px;
      flex: inherit;
      width: 100%;
      max-width: 410px;
      background: #eaedf2;
      font-size: 15px;
    }
    .Form-Item-Textarea {
      border: 1px solid #ddd;
      border-radius: 6px;
      margin-top: 18px;
      margin-left: 0;
      padding-left: 1em;
      padding-right: 1em;
      height: 200px;
      flex: inherit;
      width: 100%;
      max-width: 410px;
      background: #eaedf2;
      font-size: 15px;
    }
    .Form-Btn {
      border-radius: 6px;
      margin-top: 24px;
      margin-left: auto;
      margin-right: auto;
      padding-top: 8px;
      padding-bottom: 8px;
      width: 160px;
      display: block;
      letter-spacing: 0.05em;
      background: #5bc8ac;
      color: #fff;
      font-weight: bold;
      font-size: 16px;
    }*/
/*==================================================
        SP・Flow
===================================*/
.flex__stepbar{
    padding-bottom: 20px;
}
.stepbar {
    width: 80%;
    margin: 0 auto;
    text-align: center;
}
.border-top{
    border-top: 1px solid #344148;
}
.stepbar .stepbarwrap .triangle {
    content: "";
    display: block;
    width: 0;
    border: solid 1em transparent;
    border-top-color: #344148;
    margin: 0 auto;
}
.stepbar .stepbarwrap .steptitle span {
    display: block;
    font-weight: bold;
    margin: 1em auto;
}
.stepbar .stepbarwrap .title {
    font-size: 1.2em;
    font-weight: bold;
    position: relative;
    display: inline-block;
    margin-bottom: 1em;
}
.title:before {
    content: '';
    position: absolute;
    bottom: -20px;
    display: inline-block;
    width: 60px;
    height: 2px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: gray;
    border-radius: 2px;
}
.stepbar .stepbarwrap .txt {
    width: 90%;
    display: block;
    margin: 2em auto;
    font-size: 0.9em;
    line-height: 25px;
    background-color: white;
    padding: 20px;
}
.stepbar:first-of-type .triangle:first-of-type {
    display: none;
}
/*------------------------------------------------
 type-btn 
------------------------------------------------*/
.type-btn {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 20px 20px 50px;
}

.type-btn li {
    background: #ccc;
    margin: 0 10px;
    padding: 10px;
    cursor: pointer;
    border-radius: 4px;
}
/*------------------------------------------------
 ABOUT
------------------------------------------------*/
.type-btn li.active {
    background-color: #FFF;
    color: #fff;
}
.cp_timeline04 {
    position: relative;
    margin-top: 50px;
    margin-left: 10px;
    margin-right: 10px;
    padding-bottom: 20px;
  }
  .cp_timeline04:before {
    position: absolute;
    top: 0px;
    top: -30px;
    left: 45px;
    width: 3px;
    height: 100%;
    content: '';
    background: #321E17;
  }
  .cp_timeline04 .timeline_item {
    margin: 0px 0px 0px 80px;
  }
  .cp_timeline04 .timeline_item .time_date .time {
    font-family: serif;
    font-size: 6em;
    font-weight: bold;
    position: relative;
    margin: 0;
    letter-spacing: 3px;
    color: #321e172a;
  }
  .cp_timeline04 .timeline_item .time_date .time:before {
    position: absolute;
    top: 50%;
    left: -42px;
    width: 10px;
    height: 10px;
    content: '';
    transform: rotate(45deg);
    border: 3px solid #321E17;
    background: #fff;
  }
  .cp_timeline04 .timeline_item .time_date .flag {
    font-size: 1.5em;
    font-weight: bold;
    margin: -60px 0 0 0;
    color: #321E17;
  }
  .cp_timeline04 .timeline_item .desc {
    font-size: 0.8em;
    line-height: 20px;
    margin-top: 10px;
    padding-left: 20px;
    border-left: 1px solid #321E17;
    margin-bottom: 60px;
  }
.flex_padding{
    padding-bottom: 30px;
}
  /*brの空白*/
  @media only screen and (max-width: 767px) {
    .cp_timeline04:before {
      left: 15px;
    }
    .cp_timeline04 .timeline_item .time_date .time:before {
      left: -32px;
    }
    .cp_timeline04 .timeline_item {
      margin: 0px 0px 0px 40px;
    }
    .cp_timeline04 .timeline_item .desc {
      padding-left: 0px;
      border-top: 1px solid #880e4f;
      border-left: none;
    }
  }

@media only screen and (max-width: 480px) {
    .type-btn {
        justify-content: space-between;
    }

    .type-btn li {
        width: 48%;
        text-align: center;
        margin: 0 0 10px 0;

    }
}
.flex__AB__inner__item__title__1{
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: 20px;
}
.flex__AB__inner__item__title__2{
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: 15px;
}
.flex__AB__inner__item{
    text-align: center;
    padding-bottom: 20px;
    line-height: 20px;
    font-size: 20px;
}
.margin__boder{
    margin-bottom: 40px;
}
.AB_ul{
    line-height: 30px;
    padding: 10px 30px;
     width: fit-content;
}
.AB_ul li::before{
    content:'◆';
    margin-right: 8px;
}
.flex__AB__inner{
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 30px;
}
.boder__huto{
    border-bottom: 2px solid #344148;
}
.boder__hoso{
    border-bottom: 2px solid #3441486b;
}
/*------------------------------------------------
 grid 
------------------------------------------------*/
.grid {
    position: relative;
}

.grid .item {
    display: block;
    position: absolute;
    width: 33%;
    z-index: 1;
}

.grid .item .item-content {
    position: relative;
    width: 100%;
    height: 100%;
}

.grid .item .item-content img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

@media only screen and (max-width: 768px) {
    .grid .item  {
        width: 49.5%;
    }
}


/*------------------------------------------------
fancybox
------------------------------------------------*/
.fancybox-thumbs {
    background: transparent !important;
}

.fancybox-thumbs__list a:before {
    border: 6px solid #FA999B;
}


/*------------------------------------------------
デザイン調整用
------------------------------------------------*/
ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

h1 {
    text-align: center;
}


/*================= PC =================*/
@media screen and (min-width:960px){
    /* パソコンで見たときは"pc"のclassがついた画像が表示される */
    .pc { 
        display: block !important; 
    }
    .sp { 
        display: none !important; 
    }
/*==================================================
        PC・Contact
===================================*/
.Form {
    margin-top: 80px;
    margin-left: auto;
    margin-right: auto;
    max-width: 720px;
  }
  .Form-Item {
    border-top: 1px solid #ddd;
    padding-top: 24px;
    padding-bottom: 24px;
    width: 100%;
    display: flex;
    align-items: center;
  }
  .Form-Item:nth-child(5) {
    border-bottom: 1px solid #ddd;
  }
  .Form-Item-Label {
    width: 100%;
    max-width: 248px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 18px;
  }
  .Form-Item-Label.isMsg {
    margin-top: 8px;
    margin-bottom: auto;
  }
  .Form-Item-Label-Required {
    border-radius: 6px;
    margin-right: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 48px;
    display: inline-block;
    text-align: center;
    background: #5bc8ac;
    color: #fff;
    font-size: 14px;
  }
  .Form-Item-Input {
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-left: 40px;
    padding-left: 1em;
    padding-right: 1em;
    height: 48px;
    flex: 1;
    width: 100%;
    max-width: 410px;
    background: #eaedf2;
    font-size: 18px;
  }
  .Form-Item-Textarea {
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-left: 40px;
    padding-left: 1em;
    padding-right: 1em;
    height: 216px;
    flex: 1;
    width: 100%;
    max-width: 410px;
    background: #eaedf2;
    font-size: 18px;
  }
  .Form-Btn {
    border-radius: 6px;
    margin-top: 32px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    padding-bottom: 20px;
    width: 280px;
    display: block;
    letter-spacing: 0.05em;
    background: #5bc8ac;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
  }
}