@charset "utf-8";

/*------------------------------------------------------------------------------
Css name: content.css
Css info: コンテンツスタイル
------------------------------------------------------------------------------*/
/*//////////////////////////////////////////////////////// */
/* 共通-------------*/
/*//////////////////////////////////////////////////////// */
@media screen and (max-width:959px){/*スマホ用指定*/
br.pc{
    display: none;
    }
span.pc{
    display: none;
    }
.pconly{
    display: none;
    }
}
@media print, screen and (min-width:960px){/*PC・タブレット用指定*/
br.sp{
    display: none;
    }
span.sp{
    display: none;
    }
.sponly{
    display: none;
    }
}

.underline {
    text-decoration: underline;
    text-underline-offset:8px;
}

/*スクロールフェードインアニメーションの指定*/
.animate {
  opacity: 0;
  transition: all 0.9s ease 0s;
}
/* 画面内に入った時に付与するクラス */
.animate.show {
  opacity: 1 !important;
  transform: none !important;
}

/* フェードインの向きを指定 */
.animate.fadeUp {
  transform: translateY(24px);
}
.animate.fadeDown {
  transform: translateY(-24px);
}
.animate.fadetoLeft {
  transform: translateX(24px);
}
.animate.fadetoRight {
  transform: translateX(-24px);
}

/*上下ふわふわアニメーションの指定*/
.fuwaanime{
    animation-name: fuwaAnime;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-duration: 1.5s;
}
@keyframes fuwaAnime {
    0% {
        transform: translate(0,0px) scale(0.95,0.95);
    }

    100% {
        transform: translate(0,-15px) scale(1,1);

    }
}

/* tableを横スクロール */
@media screen and (max-width:959px){/*スマホ・タブレット用指定*/
.scroll{
    overflow: auto; /*tableをスクロールさせる*/
    white-space: nowrap; /*tableのセル内にある文字の折り返しを禁止*/
    }
.scroll::-webkit-scrollbar{ /*tableにスクロールバーを追加*/
    height: 5px;
    }
.scroll::-webkit-scrollbar-track{ /*tableにスクロールバーを追加*/
    background: #F1F1F1;
    }
.scroll::-webkit-scrollbar-thumb { /*tableにスクロールバーを追加*/
    background: #BCBCBC;
    }   
.scroll table{
    width:200%;
    }
}




/*//////////////////////////////////////////////////////// */
/* home ------------*/
/*//////////////////////////////////////////////////////// */

/* home-header
 ------------------------------------------------------------*/

#home-header .content-box {
	background: #f9f9f9;
}
/* レイアウト */
@media screen and (max-width:959px){/*タブレット用指定*/

    #home-header {
        background: url(../images/home-header_bg-s.jpg) no-repeat;
        background-position: center center;
        background-size: cover; 
        padding: 40px 24px 60px;
    }
}
@media print, screen and (min-width:960px) and (max-width:1299px){/*PC用指定*/

    #home-header {
        /* 背景画像右寄せ、縦100% */
        background: url(../images/home-header_bg.jpg) no-repeat;
        background-position: right center;
        background-size: auto 100%; 
    }
}
@media screen and (min-width:1300px){/*PC用指定*/

    #home-header {
        /* 背景画像右寄せ、縦100% */
        background: url(../images/home-header_bg.jpg) no-repeat;
        background-position: right center;
        background-size: calc(100% - 300px) auto; 
    }
}

@media screen and (max-width:959px){/*タブレット用指定*/

#home-header .content-box {
	width: 372px; /* 420px - （余白　24px × 2）*/
	max-width: calc(100% - 148px);
	display: block;
	text-align: center;
	margin: 0 auto;
	padding: 32px 24px 64px;
	border-radius: 24px;
	}
	#home-header .content-box img {
		max-width: 100%;
		width: 234px;
		height: auto;
		margin-bottom: 40px;
	}
	#home-header .content-box .txt-s1 {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-weight: 500;
        font-size: clamp(16px, 1.8vw, 18px);
        line-height: 2.0rem;
        letter-spacing: 0.05em;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

#home-header .content-box {
	display: inline-block;
	padding: 72px 100px 46px 90px;
	border-top-right-radius: 100px;
	}
	#home-header .content-box img {
		width: 234px;
		height: auto;
		margin-bottom: 60px;
	}
	#home-header .content-box .txt-s1 {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-weight: 500;
        font-size: clamp(20px, 2.0vw, 20px);
        line-height: 2.4rem;
        letter-spacing: 0.05em;
        min-height: 155px;
    }
}

/* home-box01
 ------------------------------------------------------------*/
#home-box01 {
  position: relative;
  isolation: isolate;
}
#home-box01 .home-box01__bg {
  position: sticky;
  top: 0;
  height: 100vh;
  margin-bottom: -100vh;
  z-index: -1;
}
@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box01 .home-box01__bg {
      background: #eaeaea url("../images/home-box01_bg-s.svg") top center / 100% auto no-repeat;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box01 .home-box01__bg {
      background: #eaeaea url("../images/home-box01_bg.svg") top center / cover no-repeat;
    }
}
#home-box01 .box-s1 {
  position: relative;
}


/* caption box
-------------------- */
@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box01 .caption-box {
        padding: 80px 0 120px;
    }
    #home-box01 .caption-box .tit-s1 {
        font-size: clamp(32px, 3.2vw, 32px);
        font-family: "Zen Kaku Gothic New", sans-serif;
        line-height: 4.0rem;
        letter-spacing: 0.15em;
        font-weight: 900;
        text-align: center;
    }
    #home-box01 .caption-box .tit-s1 {
        margin-bottom: 280px;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box01 .caption-box {
        padding: 200px 0 324px;
    }
    #home-box01 .caption-box .tit-s1 {
        font-size: clamp(50px, 5.0vw, 50px);
        font-family: "Zen Kaku Gothic New", sans-serif;
        line-height: 5.0rem;
        letter-spacing: 0.15em;
        font-weight: 900;
        text-align: center;
    }
    #home-box01 .caption-box .tit-s1 {
        margin-bottom: 380px;
    }
}

@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box01 .caption-box .txt-s1 {
        font-size: clamp(20px, 2.0vw, 20px);
        font-family: "Zen Kaku Gothic New", sans-serif;
        line-height: 2.4rem;
        letter-spacing: 0.1em;
        font-weight: 600;
        text-align: center;
    }
    #home-box01 .caption-box .txt-s1.s1 {
        margin-bottom: 72px;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box01 .caption-box .txt-s1 {
        font-size: clamp(26px, 2.6vw, 26px);
        font-family: "Zen Kaku Gothic New", sans-serif;
        line-height: 3.0rem;
        letter-spacing: 0.1em;
        font-weight: 600;
        text-align: center;
    }
    #home-box01 .caption-box .txt-s1.s1 {
        margin-bottom: 72px;
    }
}

/* image box
-------------------- */

/* 白背景 */
@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box01 .img-box {
        position: relative;
    }
    #home-box01 .img-box .bg-white {
      position: absolute;
      background: #fff;
      inset: 0;
      z-index: -1;
      width: 100%;
      height: calc(100% - 100px);
      top: 100px;
      left: 0;
      right: 0;
      margin: auto;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box01 .img-box {
        position: relative;
    }
    #home-box01 .img-box .bg-white {
      position: absolute;
      background: #fff;
      inset: 0;
      z-index: -1;
      width: 100%;
      height: calc(100% - 240px);
      top: 240px;
      left: 0;
      right: 0;
      margin: auto;
    }
}
/* レイアウト */
@media screen and (max-width:959px){/*スマホ用指定*/

    #home-box01 .img-box .content-box {
        width: calc(100% - 24px);
        box-sizing: border-box;
        padding:0 0 80px;
        margin:0 auto;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        align-items: flex-start;
    }

    #home-box01 .img-box .img-s1.s1 {
        width: 56%;
        margin-bottom: 38px;
    }
    #home-box01 .img-box .img-s1.s2 {
        width: 50%;
        margin: 10% 0 0 -8%;
    }
    #home-box01 .img-box .img-s1.s3 {
        width: 42%;
        margin: 0 0 0 8%;
    }
    #home-box01 .img-box .img-s1.s4 {
        width: 56%;
        margin: 24px 24px 0 -13%;
    }
}
@media screen and (min-width:960px) and (max-width:1299px){/*スマホ・タブレット用指定*/

    #home-box01 .img-box .content-box {
        width: calc(100% - 48px);
        box-sizing: border-box;
        padding:0 0 130px;
        margin:0 auto;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        align-items: flex-start;
    }

    #home-box01 .img-box .img-s1.s1 {
        width: 56%;
        margin-bottom: 38px;
    }
    #home-box01 .img-box .img-s1.s2 {
        width: 50%;
        margin: 10% 0 0 -8%;
    }
    #home-box01 .img-box .img-s1.s3 {
        width: 34%;
        margin: 32px 0 0 8%;
    }
    #home-box01 .img-box .img-s1.s4 {
        width: 58%;
        margin: 54px 40px 0 -18%;
    }
}
@media print, screen and (min-width:1300px){/*PC用指定*/

    #home-box01 .img-box .content-box {
        width: 1300px;
        box-sizing: border-box;
        padding:0 0 130px;
        margin:0 auto;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        align-items: flex-start;
    }

    #home-box01 .img-box .img-s1.s1 {
        width: 734px;
        margin-bottom: 38px;
    }
    #home-box01 .img-box .img-s1.s2 {
        width: 616px;
        margin: 116px 0 0 -60px;
    }
    #home-box01 .img-box .img-s1.s3 {
        width: 563px;
        margin: -10px 0 0 52px;
    }
    #home-box01 .img-box .img-s1.s4 {
        width: 716px;
        margin: 54px 40px 0 -80px;
    }
}

/* vision-box
-------------------- */

/* レイアウト */
@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box01 .vision-box .img-box .img-s1 {
        max-width: 100%;
        width: 433px;
        height: auto;
        display: block;
        margin: 0 auto;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box01 .vision-box .content-box{
        position: relative;
        }
        #home-box01 .vision-box .img-box {
            position: absolute;
            right: 0;
            top: 60px;
            }
            #home-box01 .vision-box .img-box .img-s1 {
                width: 433px;
                height: auto;
            }
}

@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box01 .vision-box .item-box .tit-s1 {
        margin-bottom: 16px;
    }
    #home-box01 .vision-box .item-box .tit-s2 {
        margin-bottom: 24px;
    }
    #home-box01 .vision-box .item-box .txt-s1 {
        margin-bottom: 32px;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box01 .vision-box .item-box .tit-s1 {
        margin-bottom: 30px;
    }
    #home-box01 .vision-box .item-box .tit-s2 {
        margin-bottom: 30px;
    }
    #home-box01 .vision-box .item-box .txt-s1 {
        margin-bottom: 96px;
    }
}

/* キャプション */
/* 1 */
#home-box01 .vision-box .item-box .tit-s1 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(20px, 2.0vw, 20px);
    font-weight: 700;
    letter-spacing: 0.05em;
    position: relative;
    }
    #home-box01 .vision-box .item-box .tit-s1::before {
        /* 装飾の丸（テキストを挿入しないよう背景で描画） */
        content: '';
        display: inline-block;
        width: 1.05em;
        height: 1em;
        background: radial-gradient(circle 0.43em at 0.475em 50%, #ea6d9f 96%, transparent 100%);
        vertical-align: -0.12em;
        margin-right: 4px;
    }
/* 2 */
#home-box01 .vision-box .item-box .tit-s2 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(40px, 4.0vw, 40px);
    font-weight: 700;
    line-height: 2em;
    letter-spacing: 0.08em;
}
@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box01 .vision-box .item-box .tit-s2 {
        font-size: clamp(24px, 2.4vw, 24px);
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box01 .vision-box .item-box .tit-s2 {
        font-size: clamp(40px, 4.0vw, 40px);
    }
}
/* 3 */
#home-box01 .vision-box .item-box .txt-s1 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(16px, 1.6vw, 16px);
    font-weight: 500;
    line-height: 2em;
    letter-spacing: 0.1em;
}

/* リスト */
#home-box01 .vision-box .item-box .lis-s1 li {
    position: relative;
    }
    #home-box01 .vision-box .item-box .lis-s1 li span {
        display: block;
        line-height: 2rem;
        text-align: center;
        background: #ffffff;
        border: 2px solid #231815;
    }

@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box01 .vision-box .item-box .lis-s1 li span {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-size: clamp(16px, 1.6vw, 16px);
        font-weight: 700;
        padding: 4px 0;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box01 .vision-box .item-box .lis-s1 li span {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-size: clamp(20px, 2.0vw, 20px);
        font-weight: 700;
        padding: 8px 0;
    }
}

@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box01 .vision-box .item-box .lis-s1 li {
        padding-bottom: 32px;
    }
    #home-box01 .vision-box .item-box .lis-s1 li::after {
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 16px solid transparent;
        border-left: 16px solid transparent;
        border-top: 16px solid #000000;
        border-bottom: 0;
        box-sizing: 0;
        position: absolute;
        bottom: 8px;
        left: 0;
        right: 0;
        margin: auto;
        }
        #home-box01 .vision-box .item-box .lis-s1 li.item.s4::after { content: none; }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box01 .vision-box .item-box .lis-s1 {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
    }
    #home-box01 .vision-box .item-box .lis-s1 li {
        min-width: 220px;
        padding-right: 40px;
    }
    #home-box01 .vision-box .item-box .lis-s1 li::after {
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-top: 14px solid transparent;
        border-bottom: 14px solid transparent;
        border-left: 14px solid #000000;
        border-right: 0;
        box-sizing: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 16px;
        margin: auto;
        }
        #home-box01 .vision-box .item-box .lis-s1 li.item.s4 { padding-right: 0; }
        #home-box01 .vision-box .item-box .lis-s1 li.item.s4::after { content: none; }
}

/* コンテンツフッター画像 */
@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box01 .vision-box {
        padding-bottom: 100px;
        background: #fff url(../images/home-box01_footer-bg-s.png) no-repeat;
        background-position: center bottom;
        background-size: 100% auto;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box01 .vision-box {
        padding-bottom: 260px;
        background: #fff url(../images/home-box01_footer-bg.png) no-repeat;
        background-position: center bottom;
        background-size: 100% auto;
    }

}

/* message-box
 ------------------------------------------------------------*/
#home-box02 {
    position: relative;
}
@media screen and (max-width:479px){/*スマホ用指定*/

    #home-box02 {
        background: #cee5f5;
        background-image: url('../images/home-box02_bg-s.png');
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: center bottom;
    }
    #home-box02 .content-box {
        padding-top: 80px;
        padding-bottom: 320px;
    }
}
@media screen and (min-width:480px) and (max-width:959px){/*スマホ・タブレット用指定*/

    #home-box02 {
        background: #cee5f5;
        background-image: url('../images/home-box02_bg-s.png');
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: center bottom;
    }
    #home-box02 .content-box {
        padding-top: 160px;
        padding-bottom: 580px;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box02 {
        min-height: 1000px;
        background-image: url('../images/home-box02_bg.jpg');
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        background-attachment: fixed;
    }
    #home-box02 .content-box {
        padding-top: 280px;
        padding-bottom: 280px;
    }
}
/* caption-box */
@media screen and (max-width:959px){/*タブレット用指定*/

}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box02 .content-box {
        display: flex;
        justify-content: right;
    }
    #home-box02 .item-box {
        min-width: 460px;
    }
}

/* caption box
-------------------- */
@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box02 .item-box .tit-s1 {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-size: clamp(40px, 4.0vw, 40px);
        font-weight: 600;
        letter-spacing: 0.08em;
        margin-bottom: 32px;
    }
    #home-box02 .item-box .txt-s1 {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-size: clamp(16px, 1.6vw, 16px);
        font-weight: 500;
        line-height: 2.0rem;
        letter-spacing: 0.1em;
    }
    #home-box02 .item-box .txt-s1.s1 { margin-bottom: 24px; }
    #home-box02 .item-box .txt-s1.s2 { margin-bottom: 32px; }

    #home-box02 .item-box .txt-s2 {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-size: clamp(16px, 1.6vw, 16px);
        font-weight: 600;
        line-height: 2.0rem;
        letter-spacing: 0.08em;
        text-align: right;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box02 .item-box .tit-s1 {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-size: clamp(60px, 6.0vw, 60px);
        font-weight: 600;
        letter-spacing: 0.08em;
        margin-bottom: 40px;
    }
    #home-box02 .item-box .txt-s1 {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-size: clamp(20px, 2.0vw, 20px);
        font-weight: 500;
        line-height: 2.0rem;
        letter-spacing: 0.1em;
    }
    #home-box02 .item-box .txt-s1.s1 { margin-bottom: 50px; }
    #home-box02 .item-box .txt-s1.s2 { margin-bottom: 64px; }

    #home-box02 .item-box .txt-s2 {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-size: clamp(20px, 2.0vw, 20px);
        font-weight: 600;
        line-height: 2.0rem;
        letter-spacing: 0.08em;
        text-align: right;
    }
}

/* home-box03： 
 ------------------------------------------------------------*/
#home-box03 {
    position: relative;
}

#home-box03 .home-box03-box {
    padding: 80px 0 180px;
    margin-top: -60px;
    border-top-left-radius: 60px;
    border-top-right-radius: 60px;
    }
    #home-box03 .box-s3 {
        padding-bottom: 60px;
    }

    #home-box03 .box-s1 { background: #96ceed; }
    #home-box03 .box-s2 { background: #fbc6d2;  }
    #home-box03 .box-s3 { background: #f5ecba; }


/* セクションタイトルBOX
-------------------- */
#home-box03 .home-box03-box .sec-tit-box {
    text-align: center;
    margin-bottom: 90px;
    }
    #home-box03 .home-box03-box .sec-tit-box .tit-s2 {
        margin-bottom: 30px;
    }
    #home-box03 .home-box03-box .sec-tit-box .line {
        display: inline-block;
        width: 54px;
        height: 2px;
        background: #1c1c1c;
    }

/* キャプション */
/* 1 */
#home-box03 .home-box03-box .sec-tit-box .tit-s1 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(20px, 2.0vw, 20px);
    font-weight: 700;
    letter-spacing: 0.05em;
    position: relative;
    }
    #home-box03 .home-box03-box .sec-tit-box .tit-s1::before {
        /* 装飾の丸（テキストを挿入しないよう背景で描画） */
        content: '';
        display: inline-block;
        width: 1.05em;
        height: 1em;
        background: radial-gradient(circle 0.43em at 0.475em 50%, #ffffff 96%, transparent 100%);
        vertical-align: -0.12em;
        margin-right: 8px;
    }
@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box03 .home-box03-box .sec-tit-box .tit-s1 {
        font-size: clamp(18px, 1.8vw, 20px);
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box03 .home-box03-box .sec-tit-box .tit-s1 {
        font-size: clamp(20px, 2.0vw, 20px);
    }
}
/* 2 */
#home-box03 .home-box03-box .sec-tit-box .tit-s2 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(40px, 4.0vw, 40px);
    font-weight: 700;
    line-height: 2em;
    letter-spacing: 0.08em;
}
@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box03 .home-box03-box .sec-tit-box .tit-s2 {
        font-size: clamp(24px, 2.4vw, 24px);
    }
}


/* コンテンツBOX
-------------------- */

/* レイアウト */
@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box03 .home-box03-box .sec-item-box {
        max-width: 560px;
        margin: 0 auto;
    }
    #home-box03 .home-box03-box .sec-item-box .tit-box{
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        margin-bottom: 60px;
    }
    #home-box03 .home-box03-box .sec-item-box .tit-box .tit-s1 {
        margin-right: 12px;
    }
    #home-box03 .home-box03-box .sec-item-box .tit-box .img-s1 {
        margin-left: 12px;
        max-width: 60%;
        height: auto;
        }
        #home-box03 .home-box03-box .sec-item-box .tit-box .img-s1.s1 { width: 200px; height: auto; }
        #home-box03 .home-box03-box .sec-item-box .tit-box .img-s1.s2 { width: 180px; height: auto; }
        #home-box03 .home-box03-box .sec-item-box .tit-box .img-s1.s3 { width: 240px; height: auto; }

    #home-box03 .home-box03-box .sec-item-box .item-box {
    }
    #home-box03 .home-box03-box .sec-item-box .item-box .img-s1 {
        width: 100%;
        margin-bottom: 24px;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box03 .home-box03-box .sec-item-box {
        display: flex;
        flex-flow: row nowrap;
        justify-content: flex-start;
    }
    #home-box03 .home-box03-box .sec-item-box .tit-box {
        width: 298px;
        margin-right: 100px;
    }
    #home-box03 .home-box03-box .sec-item-box .tit-box .tit-s1 {
        margin-bottom: 40px;
        }
        #home-box03 .home-box03-box .sec-item-box .tit-box .img-s1 {
            max-width: unset;
            }
            #home-box03 .home-box03-box .sec-item-box .tit-box .img-s1.s1 { width: 292px; height: auto; }
            #home-box03 .home-box03-box .sec-item-box .tit-box .img-s1.s2 { width: 288px; height: auto; }
            #home-box03 .home-box03-box .sec-item-box .tit-box .img-s1.s3 { width: 390px; height: auto; }

    #home-box03 .home-box03-box .sec-item-box .item-box {
        width: 600px;
        margin-top: 80px;
        }
        #home-box03 .home-box03-box .sec-item-box .item-box .img-s1 {
            width: 100%;
            margin-bottom: 40px;
        }
}
@media print, screen and (min-width:1100px){/*PC用指定*/

    #home-box03 .home-box03-box .sec-item-box .tit-box .img-s1.s2 {
        margin-left: -16px;
    }
    #home-box03 .home-box03-box .sec-item-box .tit-box .img-s1.s3 {
        margin-left: -64px;
    }
}

/* title BOX（左） */
#home-box03 .home-box03-box .sec-item-box .tit-box .num {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
}
#home-box03 .home-box03-box .sec-item-box .tit-box .tit-s1 {
    writing-mode: vertical-rl;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    }
    #home-box03 .home-box03-box .sec-item-box .tit-box .tit-s1 span.s1 {
        display: block;
    }

@media screen and (max-width:959px){/*タブレット用指定*/
    
    #home-box03 .home-box03-box .sec-item-box .tit-box .num {
        font-size: clamp(24px, 2.4vw, 24px);
    }
    #home-box03 .home-box03-box .sec-item-box .tit-box .tit-s1 {
        font-size: clamp(40px, 4.0vw, 40px);
    }
    #home-box03 .home-box03-box .sec-item-box .tit-box .tit-s1 span.s1 {
        font-size: clamp(16px, 1.6vw, 16px);
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box03 .home-box03-box .sec-item-box .tit-box .num {
        font-size: clamp(30px, 3.0vw, 30px);
    }
    #home-box03 .home-box03-box .sec-item-box .tit-box .tit-s1 {
        font-size: clamp(60px, 6.0vw, 60px);
    }
    #home-box03 .home-box03-box .sec-item-box .tit-box .tit-s1 span.s1 {
        font-size: clamp(20px, 2.0vw, 20px);
    }
}

/* コンテンツ（右） */
#home-box03 .home-box03-box .sec-item-box .item-box .tit-s1 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    letter-spacing: 0.1rem;
}
#home-box03 .home-box03-box .sec-item-box .item-box .txt-s1 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(16px, 1.6vw, 16px);
    font-weight: 400;
    line-height: 2rem;
    letter-spacing: 0.08rem;
    margin-bottom: 36px;
}
#home-box03 .home-box03-box .sec-item-box .item-box .lis-s1 .tit {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(16px, 1.6vw, 16px);
    font-weight: 700;
    line-height: 2rem;
    letter-spacing: 0.1rem;
}
#home-box03 .home-box03-box .sec-item-box .item-box .lis-s1 .item {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(16px, 1.6vw, 16px);
    font-weight: 400;
    line-height: 2rem;
    padding-left: 20px;
    position: relative;
    }
    #home-box03 .home-box03-box .sec-item-box .item-box .lis-s1 .item::before {
        /* 装飾の丸（テキストを挿入しないよう背景で描画） */
        content: '';
        position: absolute;
        width: 1em;
        height: 1em;
        background: radial-gradient(circle 0.43em at 0.53em 50%, #ffffff 96%, transparent 100%);
        left: 0;
        top: calc(17px - 0.5em);
    }

@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box03 .home-box03-box .sec-item-box .item-box .tit-s1 {
        font-size: clamp(24px, 2.4vw, 24px);
        line-height: 3rem;
        margin-bottom: 24px;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box03 .home-box03-box .sec-item-box .item-box .tit-s1 {
        font-size: clamp(30px, 3.0vw, 30px);
        line-height: 4rem;
        margin-bottom: 40px;
    }
}


/* home-box04：contact
 ------------------------------------------------------------*/
@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box04 {
        padding: 80px 0 60px;
        background: url(../images/home-box04_bg-s.jpg) no-repeat;
        background-position: center top;
        background-size: cover;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box04 {
        padding: 140px 0 96px;
        background: url(../images/home-box04_bg.jpg) no-repeat;
        background-position: center top;
        background-size: cover;
    }
}

#home-box04 .txt-s1 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(26px, 2.6vw, 26px);
    font-weight: 600;
    color: #ffffff;
    text-align: center;
    margin-bottom: 84px;
}
@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box04 .txt-s1 {
        font-size: clamp(20px, 2.0vw, 20px);
        line-height: 2rem;
        margin-bottom: 32px;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box04 .txt-s1 {
        font-size: clamp(26px, 2.6vw, 26px);
        line-height: 2.6rem;
        margin-bottom: 84px;
    }
}

#home-box04 .btn-s1 {
    max-width: 250px;
    height: 60px;
    background: #fff;
    border-radius: 10px;
    display: block;
    margin: 0 auto;
    position: relative;
    text-align: center;
    }
    #home-box04 .btn-s1 a {
        display: block;
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-size: clamp(24px, 2.4vw, 24px);
        color: #1c1c1c;
        line-height: 60px;
        position: relative;
    }
    #home-box04 .btn-s1 a::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 27px;
        width: 12px;
        height: 12px;
        margin: auto;
        border-top: 1px solid #1c1c1c;
        border-right: 1px solid #1c1c1c;
        transform: rotate(45deg);
        box-sizing: border-box;
    }

@media screen and (max-width:959px){/*タブレット用指定*/

#home-box04 .btn-s1 {
    max-width: 100%;
    width: 200px;
    height: 48px;
    }
    #home-box04 .btn-s1 a {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-size: clamp(18px, 1.8vw, 18px);
        line-height: 48px;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

#home-box04 .btn-s1 {
    max-width: 250px;
    height: 60px;
    }
    #home-box04 .btn-s1 a {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-size: clamp(24px, 2.4vw, 24px);
        line-height: 60px;
    }
}


/* home-box05：ぜひ今後もご覧ください
 ------------------------------------------------------------*/
#home-box05 {
    background: #fff;
}
#home-box05 .content-box .txt-s1 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: clamp(20px, 2.0vw, 20px);
    text-align: center;
    line-height: 3.0rem;
}

@media screen and (max-width:959px){/*タブレット用指定*/

    #home-box05 {
        padding: 40px 0 60px;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #home-box05 {
        padding: 80px 0;
    }
}

/*//////////////////////////////////////////////////////// */
/* 下層ページ共通パーツ ------------*/
/*//////////////////////////////////////////////////////// */



/*//////////////////////////////////////////////////////// */
/* aaa XXXページ ------------*/
/*//////////////////////////////////////////////////////// */

/* -box01
 ------------------------------------------------------------*/


/*//////////////////////////////////////////////////////// */
/* contact お問い合わせ ------------*/
/*//////////////////////////////////////////////////////// */

/* box-s1　テキスト
 ------------------------------------------------------------*/

/* 見出し */
#contact-box01 .box-s1 .tit-s1 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(40px, 4.0vw, 40px);
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 2.0rem;
    color: #1c1c1c;
}
@media screen and (max-width:959px){/*タブレット用指定*/

	#contact-box01 .box-s1 .tit-s1 {
	    font-size: clamp(24px, 2.4vw, 24px);
    	margin-bottom: 40px;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

	#contact-box01 .box-s1 .tit-s1 {
	    font-size: clamp(40px, 4.0vw, 40px);
    	margin-bottom: 72px;
    }
}

/* キャプション */
#contact-box01 .box-s1 .txt-s1 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(16px, 1.6vw, 16px);
    font-weight: 400;
    letter-spacing: 0.05em;
    margin-bottom: 64px;
}

@media screen and (max-width:959px){/*タブレット用指定*/

	#contact-box01 .box-s1 .txt-s1 {
    	margin-bottom: 40px;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

	#contact-box01 .box-s1 .txt-s1 {
    	margin-bottom: 64px;
    }
}

/* box-s2 フォーム
 ------------------------------------------------------------*/
#contact-form span.required {
    display: inline-block;
    font-size: clamp(12px, 1.3vw, 13px);
    background: #d01c24;
    color: #fff;
    padding: 2px 6px;
    margin-left: 16px;
}

/* レイアウト
-------------------- */
#contact-form .lis-s1 {
    margin-bottom: 108px;  
}

#contact-form .itme-box {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #d6d6d6;
    }
    #contact-form .itme-box.first-item {
        border-top: 1px solid #d6d6d6;
    }
    #contact-form .itme-box.last-item {
        border-bottom: none;
    }

@media screen and (max-width:959px){/*タブレット用指定*/

    #contact-form .itme-box .name {
    	display: block;
    	width: 100%;
    	margin-bottom: 16px;
    }
    #contact-form .itme-box .item {
    	display: block;
    	width: 100%;
    }
}
@media print, screen and (min-width:960px){/*PC用指定*/

    #contact-form .itme-box .name {
        width: 360px;
    }
    #contact-form .itme-box .item {
        width: calc(100% - 360px);
    }
}

#contact-form .itme-box .lis-chk {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
}

/* fotm parts
-------------------- */
#contact-form .itme-box .txt-s1 {
	line-height: 2.4rem;
}

/* チェックボックス */
#contact-form .itme-box .chk-s1 {
	display: inline-flex;
	align-items: center;
	column-gap: 4px;
	line-height: 46px;
	min-width: 252px;
	cursor: pointer;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(18px, 1.8vw, 18px);
	}
	#contact-form .itme-box .chk-s1 label {
		line-height: inherit;
		cursor: pointer;
	}
	#contact-form .itme-box .chk-s1.s2 {
		line-height: 56px;
		min-width:136px;
	}

#contact-form .itme-box .chk-s1 .checkbox {
	appearance: none;
	position: relative;
	width: 16px;
	height: 16px;
	border: 1px solid #767676;
	cursor: pointer;
	}
	#contact-form .itme-box .chk-s1 .checkbox:checked::after {
		/* チェック時のスタイル */
		content: "";
		position: absolute;
		top: 0;
		left: 2px;
		width: 12px;
		height: 6px;
		border-bottom: 2px solid #383838;
		border-left: 2px solid #383838;
		transform: rotate(-45deg);
	}

/* input */
#contact-form .itme-box input[type="text"],
#contact-form .itme-box input[type="tel"],
#contact-form .itme-box input[type="email"],
#contact-form .itme-box textarea {
    border: 1px solid #767676;
    border-radius: 6px;
    padding: 6px 10px;
    cursor: pointer;
    font-size: clamp(18px, 1.8vw, 18px);
}
#contact-form .itme-box input.input-w400 {
    width: 400px;
}
#contact-form .itme-box input.input-w500 {
    width: 478px;
}
#contact-form .itme-box input.input-w146 {
    width: 146px;
}
#contact-form .itme-box input.input-full,
#contact-form .itme-box textarea.input-full {
    width: calc(100% - 24px);
}
/*
#contact-form .itme-box input.tel {
    width: 186px;
}
#contact-form .itme-box input.email {
    width: 400px;
} */

#contact-form ::placeholder { color: #707070; font-size: 18px; }

@media screen and (max-width:959px){/*スマホ・タブレット用指定*/

	#contact-form .itme-box .txt-s1 {
		line-height: 1.8rem;
	}

	#contact-form .itme-box .chk-s1 {
    	font-size: clamp(16px, 1.6vw, 16px);
    	line-height: 2rem;
	}

	#contact-form .itme-box input[type="text"],
	#contact-form .itme-box input[type="tel"],
	#contact-form .itme-box input[type="email"],
	#contact-form .itme-box textarea,
	#contact-form ::placeholder {
    	font-size: clamp(16px, 1.6vw, 16px);
	}

	#contact-form .itme-box input.input-w400,
	#contact-form .itme-box input.input-w500 {
		width: calc(100% - 24px);
	}
	#contact-form .itme-box input.input-w146 {
		max-width: calc(100% - 24px);
	}
}

/* labelの直後に入力欄を置くため、注意書き・認証画像はorderで上に表示 */
#contact-form .itme-box .item.s8,
#contact-form .itme-box .item.s9 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
	#contact-form .itme-box .item.s8 .txt-s1,
	#contact-form .itme-box .item.s9 .auth {
		order: -1;
	}
	#contact-form .itme-box .item.s8 .textarea-wrap {
		display: block;
		align-self: stretch;
	}

/* 認証文字 */
#contact-form .itme-box .auth {
	max-width: calc(100% - 24px);
    width: 294px;
    height: auto;
    padding-bottom: 16px;
}

/* button */
#contact-form .nav {
    margin-bottom: 60px;
    text-align: center;
}
#contact-form .nav .button span {
        position: relative;
        display: inline-block;
        max-width: calc(100% - 16px);
        width: 400px;
    }
    #contact-form .nav .button input {
        height: 60px;
        width: 100%;
        text-align: center;
        background: #fff;
        border: 1px solid #1c1c00;
        border-radius: 6px;
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-weight: 500;
        font-size: clamp(24px, 2.4vw, 24px);
        cursor: pointer;
        position: relative;
    }
    #contact-form .nav .button span::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 27px;
        width: 12px;
        height: 12px;
        margin: auto;
        border-top: 1px solid #1c1c00;
        border-right: 1px solid #1c1c00;
        transform: rotate(45deg);
        box-sizing: border-box;
    }
    #contact-form .nav .button-back span::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: unset;
        left: 27px;
        width: 12px;
        height: 12px;
        margin: auto;
        border-top: 1px solid #1c1c00;
        border-right: transparent;
        border-left: 1px solid #1c1c00;
        border-bottom: transparent;
        transform: rotate(-45deg);
        box-sizing: border-box;
    }

@media screen and (max-width:959px){/*タブレット用指定*/

	#contact-form .nav .button input {
	    font-size: clamp(18px, 1.8vw, 18px);
	}
}
@media print, screen and (min-width:960px){/*PC用指定*/

	#contact-form .nav .button input {
	    font-size: clamp(24px, 2.4vw, 24px);
	}
}

    #contact-form .nav .button input:hover { opacity: 0.6; }



/*//////////////////////////////////////////////////////// */
/* news ------------*/
/*//////////////////////////////////////////////////////// */

