@charset "utf-8";
/* CSS Document */

/*--------------------------------------
　Main Index
---------------------------------------*/

/*------------
　body_PC
------------*/
body {
background: none;
min-width:0;
}

#contents {
  padding: 0;
}

.forTab{
position: relative;
z-index: 1;
}
.index{
}

img:not([width]) {
/*width:100%;*/
height:auto;
max-width: 100%;
}

.areaInner{
width: 1100px;
}



/*------------
contents_PC
------------*/

#contents{
margin: 0;
}
#contents::before{
}

.index{
width: 100%;
padding: 0 0 0;
}





/*--------------------------------------
　header_PC
---------------------------------------*/
#header {
    background: transparent;
}




/*--------------------------------------
　Main Visual (MV) 修正版
---------------------------------------*/
.mv_home {
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #ccd1d5;
    position: relative;
    margin-top: -8.2rem;
}

.mv_home .mvInr {
    display: flex;
    width: 100%;
    min-height: 670px;
    position: relative;
	    margin-top: 81px;
}

/* 左側 */
.mv_home .mvInr::before {
    content: "";
    position: absolute;
    left: calc(40% - 550px);
    top:0;
    bottom: 0;
    width: 1px;
    background-color: #ccd1d5;
    z-index: 3;
}

.mv_home .mvCatch,
.mv_home .mvTtl,
.mv_home .mvTxt,
.mv_home .byArea {
    position: absolute;
    left: calc(40% - 550px);
    padding-left: 4rem; 
    width: 700px;
    z-index: 10;
    box-sizing: border-box;
}

.mv_home .mvCatch {
    top: 11rem;
    font-size:5.4rem;
    font-weight: 700;
    line-height: 1.1;
    color: #292f33;
}
.mv_home .mvCatch span.gray {
    display: inline-block;
    font-size: 7.6rem;
    background:linear-gradient(to right, #e9eced 0%, #d6dbdd 100%);
    padding: 0 1rem 0.6rem;
    margin-bottom: 1.5rem;
	margin-right: 1rem;
}
.mv_home .mvCatch span.red {
    display: inline-block;
    font-size: 7.6rem;
    background:linear-gradient(to right, #fd7749 0%, #eb322d 100%);
    color: #fff;
    padding: 0 1rem 0.6rem;
	margin-right: 1rem;
}

.mv_home .mvTtl {
    top: 34rem;
    font-size: 3.2rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: #292f33;
}
.mv_home .mvTtl .redTxt {
    color: #eb322d;
    position: relative;
    display: inline-block;
}
.mv_home .mvTtl .redTxt::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0.2em;
    width: 100%;
    height: 2px;
    background-color: #eb322d;
}

.mv_home .mvTxt {
    top: 42rem;
    font-size: 1.4rem;
    line-height: 1.8;
    max-width:660px;
}

.mv_home .byArea {
    top: 55.5rem;
    margin: 0;
}
.mv_home .byArea .by {
    font-size: 1.1rem;
    color: #888;
}

/* 右側 */
.mv_home .mv-img {
  position: absolute;
    top: 0;
    right: calc(40% - 540px);
    width: 650px;
    height: 100%;
    z-index: 1;
    overflow: hidden;
}

@media screen and (max-width: 1400px) {
.mv_home .mv-img {
       width: 540px;
        right: calc(40% - 500px);
}
	.mv_home .mvCatch,
.mv_home .mvTtl,
.mv_home .mvTxt,
.mv_home .byArea {
    left: calc(40% - 511px);
}
}
.mv_home .mvImgArea {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.mv_home .slider {
    flex: 1;
    height: 50%;
    overflow: hidden;
}

.mv_home .slide,
.mv_home .slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/*--------------------------------------
　Main Visual (MV) ループ対応
---------------------------------------*/

@keyframes zoomUp {
    0% { transform: scale(1); }
    100% { transform: scale(1.15); }
}

.mv_home .slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1);
}

.img-zoomed {
    animation: zoomUp 7s linear forwards;
}

.mv_home .slider {
    height: 50%;
    overflow: hidden;
    position: relative;
    background: #fff;
}
.mv_home .slick-list,
.mv_home .slick-track {
    height: 100%;
}


/*--------------------------------------
　Text & Background Animation
---------------------------------------*/
.mvCatch {
    line-height: 1.4;
}

.mvCatch .bg-anim {
    display: inline;
    opacity: 0;
    position: relative;
    animation: bgShow 0.6s ease-out forwards;
}

/* 1文字ずつの動き */
.mvCatch .char {
    display: inline-block;
    opacity: 0;
    transform: translateX(-5px); 
    animation: textShow 0.5s ease-out forwards;
}

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

@keyframes textShow {
    0% { opacity: 0; transform: translateX(-5px); }
    100% { opacity: 1; transform: translateX(0); }
}





/*------------
sect01_PC
------------*/
#sect01 {
    position: relative;
    width: 100%;
    background: url("./img/sect01_img_bg_grad.png") no-repeat center center,
    url("./img/sect01_img_bg.jpg") no-repeat center center;
    background-size: 100% 100%, cover;
    padding: 60px 0;
    text-align: center;
}

#sect01 .areaInner {
    width: 1100px;
    margin: 4rem auto 3rem;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 600px;
}

#sect01 .whiteCircle {
  
}
#sect01 .whiteCircle::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.95);
    width: 700px;
    height: 700px;
    border-radius: 50%;
    z-index: 1;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

#sect01 .sectTtlArea,
#sect01 .txt {
    position: relative;
    z-index: 2;
    width: 100%;
    text-align: center;
}

#sect01 .themeTtl {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.8;
    color: #292f33;
    margin-bottom: 40px;
}

#sect01 .themeTtl .redTxt {
    color: #eb322d;
    font-size: 3.6rem;
}

#sect01 .themeTtl .strong {
    font-size: 3.6rem;
    display: block;
    margin-top: 10px;
    letter-spacing: 0.05em;
    line-height: 1.2;
}

#sect01 .txt p {
    font-size: 1.6rem;
    line-height: 2.2;
    text-align: center;
    color: #333;
    margin: 0;
}





/*------------
sect02_PC
------------*/
#sect02 {
    color: #fff;
}
#sect02 .sect02_1 {
    background: linear-gradient(90deg, #28343b 0%, #040c10 100%);
    padding: 90px 0;
}

#sect02 .fontEngArea {
    position: relative;
    margin-bottom: 30px;
}

#sect02 .fontEngArea::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 1px;
    background-color: #505356;
}

#sect02 .fontEng {
    font-family: 'poppins', sans-serif;
    font-size: 2rem;
    color: #F36460;
    letter-spacing: 0.1em;
}

#sect02 .sectTtlArea {
    margin-bottom: 80px;
}

#sect02 .sectTtl {
    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.4;
}

#sect02 .sectTtl .fontS {
    display: block;
    font-size: 3.4rem;
    margin-bottom: 8px;
}

#sect02 .boxWrap {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 65px;
    position: relative;
    padding-bottom: 100px;
}

#sect02 .boxWrap::before,
#sect02 .boxWrap::after {
    content: "";
    position: absolute;
    bottom: -40px;
    width: 500px;
    height: 1px;
    background-color: #6E6E6E;
    z-index: 10;
}

#sect02 .boxWrap::before {
    right: 50%;
    transform: skewY(11.1deg);
    transform-origin: right bottom;
}

#sect02 .boxWrap::after {
    left: 50%;
    transform: skewY(-11.1deg);
    transform-origin: left bottom;
}

#sect02 .boxWrap .txt p {
    margin-top: -7rem;
    color: #292f33;
    background:linear-gradient(180deg, #ffffff 0%, #e8edefed 100%);
    padding: 5.5rem 2.5rem 2.5rem;
}

#sect02 .box {
    width: 400px;
}


#sect02 .ttlArea {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

#sect02 .num {
    font-family: 'poppins', sans-serif;
    font-size: 4rem;
    font-weight: 300;
    color: #F36460;
    line-height: 1;
    padding-right: 15px;
    margin-right: 15px;
    border-right: 1px solid #b4b4b4;
    text-align: center;
}

#sect02 .num span {
    display: block;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    color: #B4B4B4;
}

#sect02 .ttl {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.4;
    align-items: center;
}

#sect02 .pic {
     width: 315px;
    height: auto;
    text-align: center;
    margin: auto;
    margin-bottom: 20px;
    overflow: hidden;
    /* border-radius: 50%; */
    /* background: #d9d9d9; */
}

#sect02 .pic img {
    width: 100%;
    height: 100%;
}

#sect02 .txt p {
    font-size: 1.4rem;
    line-height: 1.8;
    text-align: left;
}

#sect02 .moreover {
    background: linear-gradient(180deg, #13191E00 0%, #000000 100%);
    padding-top: 76px;
    position: relative;
    z-index: 1;
}

#sect02 .moreover .txt_bold {
    padding: 0 2px 1px;
    background: #df3c36;
    color: #fff;
}

#sect02 .moreover .ttlArea {
    display: block;
    text-align: center;
    margin-bottom: 60px;
}

#sect02 .moreover .ttl {
    font-size: 2.5rem;
    font-weight: 700;
}

#sect02 .moreover .ttl .strong {
    display: block;
    font-size: 3.4rem;
    margin-top: 5px;
}

#sect02 .botArea {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 50px;
    padding: 0 96px 70px;
}

#sect02 .moreover .pic {
    width:385px;
    height: auto;
    background-color: #fff;
    border-radius: 0;
    flex-shrink: 0;
    margin-bottom: 0;
}

#sect02 .moreover .txt {
    text-align: left;
    flex: 1;
}

#sect02 .moreover .txt p {
    font-size: 1.5rem;
    line-height: 2;
}


#sect02 .sect02_2 {
    background: url("./img/sect02_bg_grad.png") no-repeat left top, linear-gradient(180deg, #F6F8FA 0%, #E0E7EE 100%);
    background-size: 600px auto, auto;
    position: relative;
    overflow: hidden;
}


#sect02 .sect02_2::after {
content: "";
    position: absolute;
    top: -99px;
    right: -30px;
    width: 740px;
    height: 772px;
    background: url(./img/bg_circle.png) no-repeat center center;
    background-size: 100%;
    opacity: 0.2;
    z-index: 1;
}

#sect02 .sect02_2 .areaInner {
    width: 1100px;
    margin: 0 auto;
    padding: 80px 0 0;
    border-left: 1px solid #B4B4B4;
    position: relative;
}

#sect02 .explanationWrap {
    position: relative;
    padding: 0 0 140px 80px;
}

#sect02 .explanationWrap .ttlArea,
#sect02 .explanationWrap .txt {
    position: relative;
    z-index: 2;
}

#sect02 .explanationWrap .ttlArea {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.6;
    color: #292f33;
    margin-bottom: 50px;
}

#sect02 .explanationWrap .ttlArea p {
  line-height: 1.8;
}

#sect02 .explanationWrap .redTxt {
    color: #df3c36;
    font-size: 3.2rem;
    display: inline-block;
}

#sect02 .explanationWrap .txt {
    font-weight: 700;
    line-height: 1.7;
}

#sect02 .explanationWrap .txt p {
    font-size: 3.2rem;
    line-height: 1.8;
    color: #292f33;
}

#sect02 .explanationWrap .txt span.gray {
    background: linear-gradient(to right, #e1e6e7 0%, #d6dbdd 100%);
       padding: 0 1rem 0.3rem;
    font-size: 4rem;
	
}

#sect02 .explanationWrap .txt span.red {
    background: linear-gradient(to right, #F4774C 0%, #EB322D 100%);
    color: #fff;
     padding: 0 1rem 0.3rem;
    font-size: 4rem;
}

#sect02 .spv {
    margin: 0;
}

#sect02 .spv .inner {
    width: 100%;
    max-width: 900px;
    margin: 0;
}


#sect02 .spv .txtArea {
    max-width: 746px;
}


/*------------
sect03_PC
------------*/
#sect03 {
    padding: 100px 0;
}

#sect03 .fontEngArea {
    position: relative;
    margin-bottom: 30px;
}
#sect03 .fontEngArea::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 1px;
    background-color: #B4B4B4;
}


#sect03 .fontEng {
    font-family: 'poppins', sans-serif;
    font-size: 2rem;
    color: #F36460;
    letter-spacing: 0.1em;
}

#sect03 .sectTtlArea {
    margin-bottom: 50px;
}

#sect03 .sectTtl {
    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.4;
}

#sect03 .sectTtl .fontS {
    display: block;
    font-size: 3.4rem;
    margin-bottom: 8px;
}

#sect03 .sectTtlArea .redTxt {
    color:#df3c36;
}

#sect03 .reasonBlock {
    position: relative;
    margin-bottom: 180px;
    display: flex;
    align-items: flex-start;
    padding-top: 40px;
    box-sizing: border-box;
    z-index: 0;
}
#sect03 .reasonBlock::before {
    content: "";
    background-color:#1e282f;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 90%;
    z-index: -1;
}
#sect03 .reasonBlock:last-child {
    margin-bottom: 0;
}

#sect03 .reasonBlock:nth-of-type(odd) {
    margin-left: calc(50% - 50vw);
    width: calc(50vw + 700px);
}
#sect03 .reasonBlock:nth-of-type(even) {
    margin-left: auto;
    margin-right: calc(50% - 50vw);
    width: calc(50vw + 600px);
    flex-direction: row-reverse;
}

#sect03 .ttlArea {
    display: flex;
    align-items: center;
    gap: 25px;
    width: 490px;
    flex-shrink: 0;
    z-index: 15;
    color: #fff;
}
#sect03 .reasonBlock:nth-of-type(odd) .ttlArea {
    margin-left: calc(50vw - 550px);
}
#sect03 .reasonBlock:nth-of-type(even) .ttlArea {
    margin-right: calc(50vw - 670px);
    padding-left: 60px;
    width: 670px;
}

#sect03 .num {
    font-family: 'poppins', sans-serif;
    flex-shrink: 0;
    width: 76px;
    height: 76px;
    background-color:#ffffff14;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.1;
}

#sect03 .num span {
    display: block;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 2px;
}
#sect03 .num span { 
    font-size: 1.2rem;
    padding: 8px 0 0;
}

#sect03 .ttl {
    font-size: 2.8rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.4;
    white-space: nowrap;
}
#sect03 .ttl .strong {
    font-size: 3.8rem;
}
#sect03 .reasonBox {
    width: 500px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 15;
}
#sect03 .reasonBlock:nth-of-type(odd) .reasonBox {
    margin-left: 60px;
}
#sect03 .reasonBlock:nth-of-type(even) .reasonBox {
    margin-left: 60px;
}

/* 親要素：ボックス同士の隙間を作る */
#sect03 .reasonBox {
    display: flex;
    flex-direction: column;
    gap: 30px; /* ボックス間の余白（画像に合わせて調整） */
    width: 550px;
    z-index: 15;
}

/* 各アコーディオンボックス */
#sect03 .reasonBox .box {
 background: #fff;
    color: #292f33;
    cursor: pointer;
    list-style: none;
    position: relative;
	box-shadow: 0 4px 15px rgb(0 0 0 / 10%);
}

/* クリック領域（ヘッダー） */
#sect03 .reasonBox .box summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 60px 20px 40px; /* 上下左右の余白を調整 */
    list-style: none;
    outline: none;
}

/* Safariのデフォルト矢印を消す */
#sect03 .reasonBox .box summary::-webkit-details-marker {
    display: none;
}

/* 文字部分の並び */
#sect03 .reasonBox .summary-inner {
    display: flex;
    align-items: baseline; /* 文字の底辺を揃える */
    font-size: 2.8rem;
    font-weight: 700;
}

/* 赤い大きな数字 */
#sect03 .reasonBox .redTxt {
    font-family: 'poppins-semi', sans-serif;
    color: #df3c36;
    font-size: 5rem;
    line-height: 1;
    margin:0 5px 0 10px;
    position: relative;
    top: 5px;
}

/* 単位などの小さな文字 */
#sect03 .reasonBox .small {
    font-size: 2rem;
    font-weight: 700;
}

/* --- プラスマイナスアイコンの実装 --- */
#sect03 .reasonBox .box summary::before,
#sect03 .reasonBox .box summary::after {
    content: "";
    position: absolute;
    right: 30px;
    top: 50%;
    background-color: #292f33;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* summaryを基準にする */
#sect03 .reasonBox .box summary {
    position: relative;
    display: flex;
    align-items: center;
    padding-right: 60px; /* 右側にアイコン用の余白を固定 */
}

/* マイナス（横棒）: 常に表示 */
#sect03 .reasonBox .box summary::after {
    content: "";
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 2px;
    background-color: #292f33;
}

/* プラス（縦棒）: 閉じている時だけ表示 */
#sect03 .reasonBox .box summary::before {
    content: "";
    position: absolute;
    right: 39px; /* 横棒の中央 (30 + 10 - 1) */
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 20px;
    background-color: #292f33;
    transition: 0.3s;
}

/* 開いた時は縦棒を消す（マイナスだけ残る） */
#sect03 .reasonBox .box[open] summary::before {
    opacity: 0;
    transform: translateY(-50%) rotate(90deg);
}

/* --- アコーディオン展開後のコンテンツエリア --- */
#sect03 .reasonBox .content {
    padding: 0 40px 30px; /* 上の余白を詰め、左右下を広げる */
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.6;
}

#sect03 .pic {
    position: absolute;
    bottom: -30px;
    height: 310px;
    z-index: 10;
}
#sect03 .reasonBlock:nth-of-type(odd) .pic {
    left: 0;
    width: calc(50vw - 60px);
}
#sect03 .reasonBlock:nth-of-type(even) .pic {
    right: 0;
    width: calc(50vw - 60px);
}

#sect03 .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}



/*------------
sect04_PC
------------*/
#sect04 {
    background-color: #F4F7F9;
    padding: 0 0 100px;
    margin-top: 150px;
}

#sect04 .areaInner {
    width: 1100px;
}

#sect04 .sectTop {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 80px;
    position: relative;
    padding: 0 0 6rem;
}
#sect04 .sectTop::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 1px;
    background-color: #B4B4B4;
}

#sect04 .sectTtlArea {
    width: 57rem;
}

#sect04 .obi {
    display: inline-block;
    position: relative;
    top: -3.5rem;
    background: linear-gradient(to right, #F4774C 0%, #EB322D 100%);
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    margin-left: calc(550px - 50vw); 
    padding-left: calc(50vw - 550px);
    margin-bottom: 1rem;
    padding-right: 3rem;
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    z-index: 1;
}

#sect04 .sectTtl {
    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.5;
    color: #292f33;
}

#sect04 .sectTtl .fontS {
    display: block;
    font-size: 3.2rem;
    margin-bottom: 10px;
}

#sect04 .sectTtl .redTxt {
    color: #df3c36;
}

#sect04 .sectTxtArea {
    width: 57rem;
    position: relative;
    padding-top: 30px;
}

#sect04 .sectTxtArea .fontEng {
    font-family: 'poppins', sans-serif;
    font-size: 11rem;
    color: #3D4A5C0D;
    line-height: 1;
    z-index: 1;
    margin-bottom: 1rem;
    letter-spacing: -0.04em;
}

#sect04 .sectTxtArea p {
    position: relative;
    z-index: 2;
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 0;
}

#sect04 .blockTtl {
    font-size: 3.2rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 60px;
}

#sect04 .jobBox {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    margin-bottom: 60px;
}

#sect04 .box {
    width: calc(33.333% - 20px);
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s;
    cursor: pointer;
}

#sect04 .box:hover {
    transform: translateY(-5px);
}

#sect04 .box .ttl {
    background-color: #1e282f;
    color: #fff;
    padding: 25px 10px 25px 30px;
    font-size: 2.6rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    margin: 0;
    border-bottom: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

#sect04 .box .ttl::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    border-top: 10px solid #1e282f;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
}

#sect04 .box .ttl::before {
    content: "";
    position: absolute;
    left: 25px;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 50%;
    overflow: hidden;
}

#sect04 .box01 .ttl::before { background-image: url("./img/sect04_ico01.jpg"); }
#sect04 .box02 .ttl::before { background-image: url("./img/sect04_ico02.jpg"); }
#sect04 .box03 .ttl::before { background-image: url("./img/sect04_ico03.jpg"); }
#sect04 .box04 .ttl::before { background-image: url("./img/sect04_ico04.jpg"); }
#sect04 .box05 .ttl::before { background-image: url("./img/sect04_ico05.jpg"); }
#sect04 .box06 .ttl::before { background-image: url("./img/sect04_ico06.jpg"); }

#sect04 .box .txt {
    padding: 30px 20px 20px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    flex: 1;
}

#sect04 .box .redTxt {
    display: block;
    font-size: 2rem;
    color:#df3c36;
}

#sect04 .box .more {
display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: 'poppins', sans-serif;
    font-size: 1.7rem;
    font-weight: 700;
    border-radius: 9999px;
    padding-bottom: 15px;
    background: #e7f3fb;
    letter-spacing: 0;
    width: fit-content;
    margin: 0 auto 1.5rem;
    padding: 0 2.5rem;
}

#sect04 .box .more::after {
    content: "+";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background-color: #EA322D;
    color: #fff;
    border-radius: 50%;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1;
    padding:5px;
}

#sect04 .btn-internal {
    width: 44rem;
    margin: 0 auto;
}





/*------------
Modal Base & Overlay
------------*/
body.modal-open {
    overflow: hidden;
}

.modalWrap {
    display: none; 
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(41, 58, 69, 0.8);
    z-index: 99999 !important;
    overflow-y: auto;
    padding: 30px 20px 60px;
    box-sizing: border-box;
}

.modalBox {
    background: #fff;
    background: url("./img/modal_bg.jpg") no-repeat center bottom #fff;;
    background-size: contain;
    width: 100%;
    max-width: 1194px;
    margin: 0 auto;
    position: relative;
    box-sizing: border-box;
    padding-bottom: 40px;
}

.modalWrap .btnClose {
    position: fixed;
    top: 30px;
    right: 30px;
    width: 56px;
    height: 56px;
    cursor: pointer;
    z-index: 100000 !important;
    background: #3d4a5ca1;
}

.modalWrap .btnClose::before,
.modalWrap .btnClose::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 3px;
    background: #fff;
}

.modalWrap .btnClose::before { transform: rotate(45deg); }
.modalWrap .btnClose::after { transform: rotate(-45deg); }

body.modal-open #fixNav,
body.modal-open #fixNav_sp,
body.modal-open #fixNav_sp_top,
body.modal-open #page-top,
body.modal-open #gNav_pc,
body.modal-open #gNav {
    z-index: 1 !important;
}
body.modal-open #header {
    z-index: 1;
}


/*------------
Modal Header
------------*/
.modalHeader {
    display: flex;
    align-items: stretch;
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #B4B4B4;
}

.modalBox .ttlArea {
    flex: 1;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #B4B4B4;
}

.modalBox .ttlArea .tit {
    background-color: #28343b;
    padding: 25px 40px;
}

.modalBox .ttlArea .ttl {
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    padding-left: 70px;
    position: relative;
    border: none;
    margin: 0;
}

.modalBox .ttlArea .ttl::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 45px;
    height: 45px;
    background-size: cover;
    border-radius: 50%;
}

.modalBox.box01 .ttl::before { background-image: url("./img/sect04_ico01.jpg"); }
.modalBox.box02 .ttl::before { background-image: url("./img/sect04_ico02.jpg"); }
.modalBox.box03 .ttl::before { background-image: url("./img/sect04_ico03.jpg"); }
.modalBox.box04 .ttl::before { background-image: url("./img/sect04_ico04.jpg"); }
.modalBox.box05 .ttl::before { background-image: url("./img/sect04_ico05.jpg"); }
.modalBox.box06 .ttl::before { background-image: url("./img/sect04_ico06.jpg"); }

.modalBox .ttlArea .title {
    padding: 25px 40px;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    flex: 1;
}

.modalBox .ttlArea .redTxt {
    color: #df3c36;
    font-size: 3.6rem;
}

.modalBox .personArea {
    width: 50%;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    background: #fff;
    flex-shrink: 0;
}

.modalBox .personLeft {
    flex: 1;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #B4B4B4;
}

.modalBox .personTtl {
    background: linear-gradient(to right, #F4774C 0%, #EB322D 100%);
    color: #fff;
    padding: 8px 30px;
    font-size: 1.4rem;
    font-weight: 700;
}

.modalBox .personTxt {
    padding: 15px 30px;
    flex: 1;
}

.modalBox .personTxt p {
  font-size: 1.4rem;
  line-height: 1.8;
}

.modalBox .personName { font-size: 1.4rem; margin-bottom: 10px; }
.modalBox .personJob { display: flex; gap: 8px; margin-bottom: 15px; }
.modalBox .jobLi {
    background: #E8EEF2;
    padding: 0px 10px 2px;
    font-size: 1.5rem;
    font-weight: 700;
}

.modalBox .personPic {
    width: 222px;
    flex-shrink: 0;
}
.modalBox .personPic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/*------------
Modal QA Area
------------*/
.modalBox .qaWrap {
    position: relative;
    padding: 50px 40px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}


.modalBox .personPicBg {
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: 570px;
    height: 570px;
    z-index: 1;
    pointer-events: none;
}
.modalBox .personPicBg::before {
    content: "";
    position: absolute;
    top: -1.8rem;
    left: -1.8rem;
    width: 60.5rem;
    height: 60.5rem;
    background: url(./img/bg_circle.png) no-repeat center center;
    background-size: 100%;
    z-index: 1;
	opacity: 0.7;
}
.modalBox .personPicBg img {
    height: 37rem;
    width: 37rem;
    object-fit: cover;
    border-radius: 100%;
    position: absolute;
    top: calc(50% - 18.5rem);
    left: calc(50% - 18.5rem);
}

.modalBox .qaBox {
    position: relative;
    z-index: 2;
    background: #F4F7F9;
    padding: 0;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    width: 410px;
    box-sizing: border-box;
    margin-bottom: 40px;
}

.modalBox .qaBox:nth-of-type(3) {
    margin-top: 100px;
}

.modalBox .qaBox.row {
    width: 100%;
    display: flex;
    gap: 5px;
    margin-top: 0;
}

.modalBox .q {
    font-size: 2rem;
    font-weight: 700;
    padding-left: 60px;
    position: relative;
    min-width: 32rem;
    padding: 2rem 2.5rem 2rem 6.5rem;
    border-bottom: 1px solid #B4B4B4;
    height: fit-content;
}

.modalBox .qaBox.row .q {
    border-right: 1px solid #B4B4B4;
    height: auto;
    border-bottom:none;
}


.modalBox .q::before {
    content: "Q.";
    position: absolute;
    left: 2rem;
    top: 13px;
    font-family: 'poppins', sans-serif;
    font-size: 4rem; /* 40px相当 */
    color: #CACFD4;
    line-height: 1;
}

.modalBox .aTxtArea {
    padding: 22px 35px 32px;
}

.modalBox .aTtl {
    color:#375073;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.modalBox .aTxt p {
    font-size: 1.4rem;
    line-height: 1.8;
}

/* モーダル内共通ボタン */
.modalBox .btn-internal {
    width: 44rem;
    margin: 0 auto;
}
.modalBox .btn-internal a {
  width: 100%;
}

.modalBox .btnShowMore {
  display: none;
}





/*------------
sect05_PC
------------*/
#sect05 {
    padding: 100px 0;
    background-color: #fff;
    overflow: hidden;
}

#sect05 .fontEngArea {
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    margin-bottom: 30px;
}

#sect05 .fontEngArea::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 1px;
    background-color: #B4B4B4;
}

#sect05 .fontEng {
    font-family: 'poppins', sans-serif;
    color: #F36460;
    font-size: 2rem;
    letter-spacing: 0.1em;
}

#sect05 .fontJp {
    font-size: 1.8rem;
    font-weight: 700;
    color: #292f33;
}

#sect05 .sectTtl {
    font-size: 4.8rem;
    font-weight: 700;
    margin-bottom: 8rem;
    line-height: 1.4;
}

#sect05 .sectTtl .fontS {
    display: block;
    font-size: 3.4rem;
    margin-bottom: 8px;
}

#sect05 .redTxt {
    color: #df3c36;
}

#sect05 .achievementsBlock {
    display: flex;
    align-items: flex-start;
    margin-bottom: 90px;
    position: relative;
}

#sect05 .achievementsBlock:nth-child(5) {
    margin-bottom: -40px;
}

#sect05 .txtArea {
    width: 570px;
    background-color: #F4F7F9;
    padding: 40px 50px 30px;
    position: relative;
    z-index: 10;
    box-sizing: border-box;
    margin-top: 65px;
}

#sect05 .achievementsBlock:nth-of-type(odd) .txtArea {
    margin-right: -35px;
    order: 1;
}
#sect05 .achievementsBlock:nth-of-type(odd) .pic {
    margin-top: 0;
    order: 2;
}

#sect05 .achievementsBlock:nth-of-type(even) .txtArea {
    margin-left: -35px;
}

#sect05 .caseNum {
    position: absolute;
    top: -50px;
    left: 0;
    font-family: 'poppins', sans-serif;
    font-size: 6rem;
    color: #E8EEF2;
    z-index: 1;
    line-height: 1;
}
#sect05 .achievementsBlock:nth-of-type(even) .caseNum {
    position: absolute;
    top: -50px;
    left: auto;
    right: 0;
}

#sect05 .ttl {
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 25px;
    line-height: 1.6;
    position: relative;
    z-index: 2;
}

#sect05 .ttl .fontS {
    display: block;
    font-size: 2.8rem;
}

#sect05 .txt p {
    font-size: 1.4rem;
    line-height: 2.1;
}

#sect05 .pic {
    width: 600px;
    height: auto;
    flex-shrink: 0;
    z-index: 5;
}

#sect05 .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#sect05 .botArea {
    text-align: center;
    padding: 140px 0 0;
    position: relative;
}

#sect05 .botArea::before {
    content: "";
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 1000px;
    height: 225px;
    background: linear-gradient(to bottom, #fff 0%, rgba(235, 50, 45, 0.2) 100%);
    clip-path: polygon(0 0, 100% 0, 50% 100%); /* 逆三角形 */
    z-index: 1;
}

#sect05 .botInr {
    position: relative;
    z-index: 2;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
}

#sect05 .botInr p {
    text-align: center;
    padding: 0;
}

#sect05 .botInr .badge {
    background: linear-gradient(to right, #F4774C 0%, #EB322D 100%);
    color: #fff;
    padding: 0 1rem;
    margin: 0 0.5rem;
}





/*------------
sect06_PC
------------*/
#sect06 {
    background-color: #F4F7F9;
    padding: 100px 0;
    overflow: visible;
}

#sect06 .areaInner {
    position: relative;
    padding: 0 0 8.5rem;
}

#sect06 .fontEng {
    font-family: 'poppins', sans-serif;
    color: #3D4A5C0D;
    font-size: 11rem;
    line-height: 1;
    position: absolute;
    top: -60px;
    right: 0;
    z-index: 1;
    pointer-events: none;
}

#sect06 .picBg {
    position: absolute;
    left: -330px;
    top: -40px;
    width: 624px;
    height: 624px;
    z-index: 5;
}

#sect06 .circleDeco {
    position: relative;
    width: 100%;
    height: 100%;
}

#sect06 .circleDeco::before {
  content: "";
  position: absolute;
  top: -4.1rem;
  left: -4.1rem;
  width: 70.5rem;
  height: 70.5rem;
  background: url(./img/bg_circle.png) no-repeat center center;
  background-size: 100%;
  z-index: 1;
opacity: 0.3;
}

#sect06 .circleDeco img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 430px;
    height: 430px;
    border-radius: 50%;
    object-fit: cover;
}

#sect06 .sectTtlArea,
#sect06 .txtArea {
    width: 890px;
    margin-left: auto;
    position: relative;
    z-index: 10;
}

#sect06 .sectTtl {
    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 60px;
    letter-spacing: -0.035em;
}

#sect06 .sectTtl .fontS {
    display: block;
    font-size: 3.2rem;
    margin-bottom: 8px;
    letter-spacing: 0em;
}

#sect06 .sectTtl .red {
    display: inline-block;
    background: linear-gradient(to right, #F4774C 0%, #EB322D 100%);
    color: #fff;
    padding: 0.2rem 1.5rem;
    margin-right: 0.5rem;
    font-size: 2.8rem;
    vertical-align: middle;
}

#sect06 .redTxt {
    color: #df3c36;
}

#sect06 .txtBox {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 30px;
}

#sect06 .growthTtl {
    background-color: #1e282f;
    color: #fff;
    display: flex;
    align-items: center;
    padding: 15px 30px;
    gap: 30px;
    width: 380px;
    flex-shrink: 0;
}

#sect06 .growthTtl .num {
    font-family: 'poppins', sans-serif;
    font-size: 2.4rem;
	opacity: 0.5;
    line-height: 1;
}

#sect06 .growthTtl .ttl {
    font-size: 4rem;
    font-weight: 700;
    margin: 0;
    line-height: 1;
}

#sect06 .txt p {
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 5px 0;
}

#sect06 .careerPath {
    padding: 8rem 0 0;
    border-top: 1px solid #B4B4B4;
}

#sect06 .careerPath .areaInner {
    padding: 0;
    border: none;
}

#sect06 .pathTtl {
    font-size: 3.2rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 40px;
}

#sect06 .pathTtl .redTxt {
    font-size: 4.8rem;
    font-weight: 700;
}


#sect06 .whitearea {
    background: #fff;
    padding: 40px 30px 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    max-width: 1100px;
    margin: 0 auto;
}

#sect06 .pathImgWrap .inner {
    text-align: center;
	margin-top: 1rem;
}

#sect06 .pathImgWrap p {
  width:80%;
	  text-align: center;
margin: 0 auto 2rem;
}





/*------------
sect07_PC
------------*/
#sect07 {
    background-color: #e2e9ed;
    padding: 100px 0 70px;
    overflow: hidden;
}

#sect07 .areaInner {
    position: relative;
}

#sect07 .sectTop {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    margin-bottom: 80px;
}

#sect07 .pic {
    position: absolute;
    left: -100px;
    top: 0;
    width: 518px;
    height: auto;
}

#sect07 .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#sect07 .sectTtlArea {
    width: 630px;
    position: relative;
    z-index: 10;
}

#sect07 .badge {
    display: inline-block;
    background: linear-gradient(to right, #F4774C 0%, #EB322D 100%);
    color: #fff;
    padding: 0.5rem 1.4rem;
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 5px;
    letter-spacing: -0.028em;
}
/*
#sect07 .badge-group {#sect06 .sectTtl
    display: inline-flex;
    background: linear-gradient(to right, #F4774C 0%, #EB322D 100%);
    width: fit-content;
}
#sect07 .badge-group .badge {
    background: transparent;
    padding: 0.6rem 0 0.8rem;
}
#sect07 .badge-group .badge {
    background: transparent;
    padding: 0.6rem 0 0.8rem;
}
#sect07 .badge-group .badge:first-child {
    padding-left: 2rem;
}
#sect07 .badge-group .badge:last-child {
    padding-right: 2rem;
}
*/

#sect07 .sectTtl {
    font-size: 4rem;
    font-weight: 700;
    color: #292f33;
    margin-bottom: 30px;
}

#sect07 .txt p {
    font-size: 1.4rem;
    line-height: 1.8;
}

#sect07 .scheduleArea {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 40px;
}

#sect07 .scheduleBox {
    width: 520px;
}

#sect07 .schedulettl {
    background-color: #1e282f;
    color: #fff;
    padding: 20px;
    font-size: 2.2rem;
    font-weight: 700;
    position: relative;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

#sect07 .schedulettl::after {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    border-top: 12px solid #1e282f;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
}

#sect07 .day {
    background-color: #fff;
    margin-bottom: 10px;
    padding: 22px 15px;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    color: #292f33;
}

#sect07 .day:last-child {
    margin-bottom: 0;
}





/*------------
sect08_PC
------------*/
#sect08 {
    padding: 100px 0;
    background-color: #fff;
    overflow: hidden;
}

#sect08 .fontEngArea {
    position: relative;
    margin-bottom: 30px;
}

#sect08 .fontEngArea::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 1px;
    background-color: #B4B4B4;
}

#sect08 .fontEng {
    font-family: 'poppins', sans-serif;
    color: #F36460;
    font-size: 2rem;
    letter-spacing: 0.1em;
}

#sect08 .sectTtl {
    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 60px;
}

#sect08 .sectTtl a {
    display: inline-block;
    color: #292f33;
    text-decoration: none;
    padding-right: 60px;
    background: url("./img/arrow1.png") no-repeat right center;
    background-size: 36px auto;
}

#sect08 .dataBox {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

#sect08 .box {
    display: block;
    width: calc(100% / 3 - 20px);
    background-color: #F4F7F9;
    text-decoration: none;
}

#sect08 .box .pic {
    width: 100%;
    height: auto;
    overflow: hidden;
}

#sect08 .box .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#sect08 .box .txt {
    padding: 20px 25px 10px;
}

#sect08 .dataTtl {
    font-size: 2.2rem;
    font-weight: 700;
    color: #292f33;
    line-height: 1.5;
}

#sect08 .redTxt {
    color: #df3c36;
}

#sect08 .more {
    font-family: 'poppins', sans-serif;
    font-size: 1.8rem;
    color: #292f33;
    text-align: right;
    padding: 0 25px 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
	font-weight: 700;
    gap: 10px;
}

#sect08 .more::after {
    content: "";
    width: 24px;
    height: 24px;
    background: url("./img/arrow1.png") no-repeat center;
    background-size: contain;
}





/*------------
sect09_PC
------------*/
#sect09 {
    background-color: #F4F7F9;
    padding: 90px 0 100px;
    margin-top: 50px;
}

#sect09 .areaInner {
    position: relative;
}

#sect09 .obi {
    display: inline-block;
    position: absolute;
    top: -11rem;
    background:#1e282f;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    margin-left: calc(550px - 50vw);
    padding-left: calc(50vw - 550px);
    margin-bottom: 1rem;
    padding-right: 3rem;
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    z-index: 10;
}


#sect09 .sectTtl {
    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 60px;
}

#sect09 .sectTtl a {
    display: inline-block;
    color: #292f33;
    text-decoration: none;
    padding-right: 60px;
    background: url("./img/arrow1.png") no-repeat right center;
    background-size: 36px auto;
}

#sect09 .columnBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px 40px;
}

#sect09 .box {
    display: flex;
    align-items: center;
    width: 520px;
    background-color: #fff;
    text-decoration: none;
    padding: 20px 30px 20px;
    position: relative;
    box-sizing: border-box;
    border-bottom: 1px solid #B4B4B4;
}

#sect09 .num {
    font-family: 'poppins', sans-serif;
    font-size: 2.4rem;
    color: #F36460;
    width: 60px;
    flex-shrink: 0;
}

#sect09 .txt {
    flex: 1;
}

#sect09 .columnTtl {
    font-size: 2.2rem;
    font-weight: 700;
    color: #292f33;
    line-height: 1.5;
    margin: 0;
}

#sect09 .more {
    position: absolute;
    bottom: 10px;
    right: 20px;
    font-family: 'poppins', sans-serif;
    font-size: 1.8rem;
    color: #292f33;
    display: flex;
    align-items: center;
    gap: 10px;
	font-weight: 700;
}

#sect09 .more::after {
    content: "";
    width: 24px;
    height: 24px;
    background: url("./img/arrow1.png") no-repeat center;
    background-size: contain;
}





/* End_PC */





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



/*------------
index_SP
------------*/
.areaInner {
width: auto;
padding: 0 5%;
}
.spBr {
  display: block !important;
}






/*--------------------------------------
　header_SP
---------------------------------------*/
#header .logo .inner {
display: block;
width: 13rem;
height: auto;
}
#header .siteName h1 {
font-size: 1.1rem;
font-weight: normal;
}





/*--------------------------------------
　Main Visual (MV) SP対応
---------------------------------------*/
.mv_home {
    margin-top: 0;
}

.mv_home .mvInr {
    display: flex;
    flex-direction: column;
    min-height: auto;
    padding-bottom: 3rem;
	    margin-top: 0;
}

.mv_home .mv-img {
    order: -1; 
    position: relative; 
    width: 100%;
	    right:0;
    height: 120px;
    margin-bottom: 30px;
    z-index: 1;
    overflow: hidden;
}

.mv_home .mvImgArea {
    display: flex;
    flex-direction: row; 
    height: 100%;
}

.mv_home .slider {
    flex: 1;
    height: 100%;
}

.mv_home .mvCatch,
.mv_home .mvTtl,
.mv_home .mvTxt,
.mv_home .byArea {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    padding: 0 5%;
    box-sizing: border-box;
}

.mv_home .mvCatch {
    font-size: 3rem;
    line-height: 1.3;
    margin-bottom: 2rem;
}

.mv_home .mvCatch span.gray,
.mv_home .mvCatch span.red {
    font-size: 3.8rem;
    padding: 0.2rem 1rem;
    margin-bottom: 0.5rem;
    display: inline-block;
}

.mv_home .mvTtl {
    font-size: 2.25rem;
    margin-bottom: 2rem;
    letter-spacing: 0;
}

.mv_home .mvTtl .redTxt {
    font-size: 2.25rem;
    border-bottom: 2px solid #eb322d;
    padding-bottom: 2px;
    letter-spacing: 0;
}

/* PC版の疑似要素（下線）を消す */
.mv_home .mvTtl .redTxt::after {
    display: none;
}

.mv_home .mvTxt {
    font-size: 1.4rem;
    margin-bottom: 2.5rem;
}

.mv_home .byArea {
    margin-top: 0;
}

/*--------------------------------------
　header_SP
---------------------------------------*/

#header {
    background: #fff;
    position: relative;
}





/*------------
sect01_SP
------------*/
#sect01 {
    padding: 0 0 20px;
}

#sect01 .areaInner {
    width: 100%;
    padding: 10px;
    min-height: auto;
    display: block;
	margin: 4rem auto 2rem;
}

#sect01 .whiteCircle::before {
   display:none;
	width: 90vw;
    height: 90vw;
    max-width: 400px;
    max-height: 400px;
    background: none;
    border-radius: 0;
	    box-shadow:none;
    top: calc(100% - 160px);
}

#sect01 .sectTtlArea {
    margin-bottom: 30px;
}

#sect01 .themeTtl {
    font-size: 1.6rem;
    margin-bottom: 20px;
}

#sect01 .themeTtl .redTxt {
    font-size: 2rem;
    display: inline-block;
}

#sect01 .themeTtl .strong {
    font-size: 2.4rem;
    margin-top: 5px;
    line-height: 1.5;
}

#sect01 .txt p {
  font-size: 1.4rem;
        line-height: 1.8;
        margin: auto;
        width: 95%;
        text-align: left;
        padding: 2rem 1.5rem 2rem;
        background: rgba(255, 255, 255, 0.65);
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}







/*------------
sect02_SP
------------*/
#sect02 .sect02_1 {
    padding: 40px 0 0;
}

#sect02 .areaInner {
  padding: 0 5% 0;
}

	#sect02 .fontEng {
    font-size: 1.7rem;
}
#sect02 .fontEngArea {
    margin-bottom: 20px;
}

#sect02 .sectTtlArea {
    text-align: left;
	margin-bottom: 50px;
}

#sect02 .sectTtl {
    font-size: 2.4rem;
}

#sect02 .sectTtl .fontS {
    font-size: 2rem;
}

#sect02 .boxWrap {
    flex-direction: column;
    align-items: center;
    gap: 40px;
    padding-bottom: 90px;
}


#sect02 .box,
#sect02 .box:nth-child(2),
#sect02 .box:nth-child(3) {
    width: 100%;
    margin-top: 0;
}

#sect02 .boxWrap::before,
#sect02 .boxWrap::after {
    width: 50.5%;
    bottom: 20px;
}

#sect02 .boxWrap::before {
    transform: skewY(15deg);
}

#sect02 .boxWrap::after {
    transform: skewY(-15deg);
}

#sect02 .num {
    font-size: 4rem;
}

#sect02 .num span {
    font-size: 1.4rem;
}

#sect02 .ttl {
    font-size: 2rem;
}

#sect02 .pic {
    width: 250px;
    height: auto;
    margin: 0 auto 20px;
}

#sect02 .txt p {
    font-size: 1.5rem;
}

#sect02 .moreover {
    background: linear-gradient(180deg, rgba(19, 25, 30, 0) 0%, #000000 100%);
    margin-top: -60px;
    padding-top: 60px;
    position: relative;
    z-index: 1;
	margin-left: -2rem;
        margin-right: -2rem;
}

#sect02 .moreover .ttlArea {
    margin-bottom: 30px;
    padding: 0 20px 0;
    text-align: center;
}

#sect02 .moreover .ttl {
    font-size: 1.8rem;
    font-weight: 700;
}

#sect02 .moreover .ttl .strong {
    display: block;
    font-size: 2.2rem;
    margin-top: 5px;
}

#sect02 .botArea {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    padding: 0 5% 40px;
}

#sect02 .moreover .pic {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    margin-bottom: 0;
}

#sect02 .moreover .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#sect02 .moreover .txt {
    text-align: left;
    width: 100%;
}

#sect02 .moreover .txt p {
    font-size: 1.5rem;
    line-height: 1.8;
}


#sect02 .sect02_2 {
    background-size: 80% auto, auto;
}

#sect02 .sect02_2::after {
    width: 80vw;
    height: 80vw;
    top: 0;
    right: -15vw;
    background-size: contain;
    opacity: 0.15;
}

#sect02 .sect02_2 .areaInner {
    width: 100%;
    padding: 60px 20px 0;
    border-left: none;
}

#sect02 .explanationWrap {
    padding: 0 0 70px 0;
}

#sect02 .explanationWrap .ttlArea {
    margin-bottom: 20px;
}

#sect02 .explanationWrap .ttlArea p {
    font-size: 1.9rem;
    line-height: 1.7;
}

#sect02 .explanationWrap .redTxt {
    font-size: 1.9rem;
    margin-top: 5px;
}

#sect02 .explanationWrap .txt p {
    font-size: 1.9rem;
    line-height: 1.6;
}

#sect02 .explanationWrap .txt span.gray,
#sect02 .explanationWrap .txt span.red {
    padding: 0 0.5rem;
	font-size:2.4rem;
}



#sect02 .spv .txtArea {
    max-width: 100%;
}





/*------------
sect03_SP
------------*/
#sect03 {
    padding: 60px 0;
    overflow: hidden;
}

#sect03 .fontEngArea {
    padding: 0 5%;
    margin-bottom: 20px;
}

	#sect03 .fontEng {
    font-size: 1.7rem;
}
#sect03 .sectTtlArea {
    padding: 0 5%;
    margin-bottom: 30px;
}

#sect03 .sectTtl {
    font-size: 2.4rem;
    line-height: 1.5;
}

#sect03 .sectTtl .fontS {
    font-size: 2rem;
}

#sect03 .reasonBlock {
    width: 100vw !important;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: 60px;
    padding: 30px 20px 0;
    height: auto;
    display: block;
    flex-direction: column;
}

#sect03 .reasonBox .box summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0px 15px 0; /* 上下左右の余白を調整 */
    list-style: none;
    outline: none;
}

#sect03 .areaInner {
    padding: 0;
}

#sect03 .ttlArea {
    width: 100% !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    position: static;
}

#sect03 .num {
    width: 60px;
    height: 60px;
    font-size: 2.4rem;
}

#sect03 .num span {
    font-size: 1rem;
    padding-top: 5px;
}

#sect03 .ttl {
    font-size: 1.8rem;
    white-space: normal;
}

#sect03 .ttl .strong {
    font-size: 2.4rem;
}

#sect03 .reasonBox {
    width: 100%;
    margin: 0 0 0 0 !important;
    position: static;
	gap: 20px;
}

#sect03 .reasonBox .box {
    font-size: 1.6rem;
    padding: 0 20px 3px;
}

#sect03 .reasonBox .box summary::before {
    right: 5px;
}
#sect03 .reasonBox .box summary::after {
    right: -4px;
}
    
#sect03 .reasonBox .content {
    padding: 0 5px 20px; /* 上の余白を詰め、左右下を広げる */
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.6;
}

#sect03 .reasonBox .summary-inner {
    display: inline;
    font-size: 2.2rem;
}

#sect03 .reasonBox .redTxt {
    font-size: 2.8rem;
    margin:0;
	top:0;
}

#sect03 .reasonBox .small {
    font-size: 1.7rem;
}

#sect03 .pic {
    position: relative;
    width: calc(100% + 20px) !important;
    margin-left: -20px;
    height: 220px;
    bottom: -20px;
    left: auto;
    right: auto;
}
#sect03 .reasonBlock:nth-of-type(even) .pic {
  margin-left: 0px;
}

#sect03 .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}



/*------------
sect04_SP
------------*/
#sect04 {
    padding: 0 0 50px;
    margin-top: 20px;
}

#sect04 .areaInner {
    width: 100%;
    padding: 0 5%;
}

#sect04 .sectTop {
    display: block;
    margin-bottom: 40px;
    padding: 0 0 4rem;
}

#sect04 .sectTtlArea,
#sect04 .sectTxtArea {
    width: 100%;
}

#sect04 .obi {
    top: -2rem;
    margin-left: -5.6%;
    padding-left: 5.6%;
    font-size: 1.5rem;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
	padding-right: 2rem;
}

#sect04 .sectTtl {
    font-size: 2.4rem;
}

#sect04 .sectTtl .fontS {
    font-size: 2rem;
}

#sect04 .sectTxtArea {
    padding-top: 20px;
}

#sect04 .sectTxtArea .fontEng {
    font-size: 6rem;
    position: absolute;
    top: -150px;
    right: 0;
    margin-bottom: 0.5rem;
    z-index: 0;
}

#sect04 .blockTtl {
    font-size: 1.8rem;
    margin-bottom: 30px;
}

#sect04 .jobBox {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 10px;
    margin-bottom: 40px;
}

#sect04 .box {
    width: calc(50% - 5px);
}

#sect04 .box:hover {
    transform: translateY(0px);
}

#sect04 .box .ttl {
    padding: 15px 15px 15px 30px;
    font-size: 1.6rem;
    line-height: 1.3;
}

#sect04 .box .ttl::before {
    left: 8px;
    width: 24px;
    height: 24px;
}

#sect04 .box .ttl::after {
    border-top-width: 8px;
    border-left-width: 8px;
    border-right-width: 8px;
    bottom: -8px;
}

#sect04 .box .txt {
    padding: 20px 10px 15px;
    font-size: 1.2rem;
}

#sect04 .box .redTxt {
    font-size: 1.6rem;
    margin: 0.5rem 0 0;
}

#sect04 .box .more {
    font-size: 1.4rem;
    gap: 5px;
	padding: .3rem 1.5rem;
}

#sect04 .box .more::after {
    width: 18px;
    height: 18px;
    font-size: 1.4rem;
}

#sect04 .btn-internal {
width: 85%;
}
#sect04 .btn-internal a {
    font-size: 1.4rem;
    min-height: 6rem;
    padding: 1rem 4rem;
}





/*------------
Modal Base & Overlay
------------*/
.modalWrap { padding: 80px 10px 40px; }
.modalWrap .btnClose { top: 20px; right: 15px; width: 40px; height: 40px; }

.modalHeader { flex-direction: column; }
.modalBox .ttlArea { border-right: none; border-bottom: 1px solid #B4B4B4; width: 100%; }
.modalBox .ttlArea .tit { padding: 1.5rem 2rem; }
.modalBox .ttlArea .ttl { font-size: 1.8rem; padding-left: 5px; text-align: center; }
.modalBox .ttlArea .ttl::before { width: 35px; height: 35px; }
.modalBox .ttlArea .title { padding: 1.7rem; font-size: 1.3rem; text-align: center; }
.modalBox .ttlArea .redTxt {
    font-size: 2.4rem;
    text-align: center;
}
.modalBox .personTtl {
  font-size: 1.2rem;
  padding: 0.6rem 1.5rem;
}

.modalBox .personName {
    font-size: 1.4rem;
    margin-bottom: 7px;
}
.modalBox .personJob {
    margin-bottom: 0;
	        align-items: stretch;
}
.modalBox .jobLi {
            font-size: 1.3rem;
        margin-bottom: 5px;
        width: fit-content;
	        line-height: 1.3;
	display: flex;
        align-items: center;
        padding: 2px 10px 2px;
}
.modalBox .personArea { width: 100%; flex-direction: row; }
.modalBox .personPic { width: 18rem; }
.modalBox .personTxt { padding: 1rem 1.5rem 1rem; }
.modalBox .qaWrap { padding: 1rem 1.5rem 0; display: block; }

.modalBox .personPicBg::before {
    content: "";
    position: absolute;
    top: -1.65rem;
    left: -1.6rem;
    width: 31.8rem;
    height: 31.8rem;
    background: url(./img/bg_circle.png) no-repeat center center;
    background-size: 100%;
    z-index: 1;
}
	
.modalBox .personPicBg { width: 280px; height: 280px; margin-bottom: 30px; position: relative; top: 20px; left: 0; transform: none; margin: 0 auto 10px; }
.modalBox .personPicBg img {
    height: 19.5rem;
    width: 19.5rem;
    object-fit: cover;
    border-radius: 100%;
    position: absolute;
    top: calc(50% - 9.5rem);
    left: calc(50% - 9.5rem);
}
.modalBox .qaBox { width: 100% !important; margin: 0 0 20px 0 !important; border: 1px solid #B4B4B4; overflow: hidden; box-shadow: none; }
.modalBox .qaBox.row { display: block; }
.modalBox .q { padding: 15px 15px 15px 50px; font-size: 1.6rem; }
.modalBox .q::before { font-size: 3rem; left: 15px; top: 12px; }

	.modalBox .qaBox.row .q {
    border-right: none;
		border-bottom: 1px solid #B4B4B4;
}
	.modalBox .aTxtArea {
    padding: 15px 20px 30px;
}
	.modalBox .aTtl {
    font-size: 1.8rem;
}
.btnShowMore {
    display: none;
    width: 240px;
    margin: 20px auto;
    border: 1px solid #EA322D;
    color: #EA322D;
    background: #fff;
    border-radius: 50px;
    height: 50px;
    line-height: 48px;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    cursor: pointer;
    position: relative;
    padding-right: 20px;
}
.btnShowMore::after {
    content: "+";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background: #EA322D;
    color: #fff;
    border-radius: 50%;
    font-size: 1.8rem;
    line-height: 22px;
}
.modalBox .btn-internal { width: 90%; }





/*------------
sect05_SP
------------*/
#sect05 {
    padding: 50px 0;
}

#sect05 .fontEngArea {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 20px;
}

#sect05 .fontEngArea::after {
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
}

#sect05 .fontEng {
    font-size: 1.7rem;
    line-height: 1;
}

#sect05 .fontJp {
    font-size: 1.8rem;
    line-height: 1.6;
    margin: 0 0 8px;
}

#sect05 .sectTtl {
    font-size: 2.4rem;
    margin-bottom: 40px;
}

#sect05 .sectTtl .fontS {
    font-size: 1.8rem;
    margin-bottom: 5px;
}

#sect05 .achievementsBlock {
    display: block;
    margin-bottom: 40px;
}

#sect05 .achievementsBlock:last-child {
    margin-bottom: 0;
}

#sect05 .pic {
    width: 100%;
    height: auto;
    margin: 0;
}

#sect05 .txtArea {
    width: 92%;
    margin: -30px auto 0 !important;
    padding: 30px 20px 25px;
}

#sect05 .caseNum {
    font-size: 3rem;
    top: -1px;
    left: 15px;
    color: rgba(255, 255, 255, 0.95);
    /* text-shadow: 0px 0px 2px rgba(0,0,0,0.25); */
}

#sect05 .achievementsBlock:nth-of-type(even) .caseNum {
    font-size: 3rem;
    top: -1px;
    right: 15px;
    color: rgba(255, 255, 255, 0.95);
    /* text-shadow: 0px 0px 2px rgba(0,0,0,0.25); */
}

#sect05 .ttl {
    font-size: 2rem;
    margin-bottom: 15px;
}

#sect05 .ttl .fontS {
    font-size:2rem;
}

#sect05 .txt p {
    font-size: 1.4rem;
    line-height: 1.7;
}

#sect05 .botArea {
    padding: 80px 0 0;
}

#sect05 .botArea::before {
    width: 100%;
    height: 150px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

#sect05 .botInr, #sect05 .botInr p {
    font-size: 1.8rem;
    line-height: 1.8;
}

#sect05 .botInr .strong {
    font-size: 2.2rem;
    margin-top: 5px;
}

#sect05 .botInr .badge {
    padding: 0 0.8rem;
}





/*------------
sect06_SP
------------*/
#sect06 {
    padding: 50px 0 60px;
}

#sect06 .areaInner {
    padding: 0 5% 2rem;
}

#sect06 .fontEng {
    font-size: 5.5rem;
    top: -40px;
    right: 5%;
}

#sect06 .picBg {
    position: relative;
    left: 0;
    top: 0;
    width: 320px;
    height: 320px;
    margin: 7rem auto -40px;
}

#sect06 .circleDeco img {
    width: 230px;
    height: 230px;
}

#sect06 .sectTtlArea,
#sect06 .txtArea {
    width: 100%;
}

#sect06 .sectTtl {
    font-size:2.6rem;
    margin-bottom: -15px;
}

#sect06 .sectTtl .fontS {
    font-size: 2rem;
}

#sect06 .sectTtl .red {
    font-size: 2rem;
    padding: 0.2rem 1rem;
}

#sect06 .circleDeco::before {
  content: "";
  position: absolute;
  top: -12.15rem;
  left: -2.8rem;
  width: 37.5rem;
  height: 37.5em;
  background: url(./img/bg_circle.png) no-repeat center center;
  background-size: 100%;
  z-index: 1;
}

#sect06 .txtBox {
    display: block;
    margin-bottom: 30px;
}

#sect06 .growthTtl {
    display: flex;
    width: 100%;
    align-items: center;
    padding: 10px 15px;
    gap: 15px;
    margin-bottom: 15px;
}

#sect06 .growthTtl .num {
    font-size: 1.8rem;
    line-height: 1;
}

#sect06 .growthTtl .ttl {
    font-size: 2rem;
    line-height: 1.8;
}

#sect06 .txt p {
    font-size: 1.4rem;
    line-height: 1.7;
}

#sect06 .careerPath {
    padding: 45px 0 0;
}

#sect06 .careerPath .areaInner {
    padding: 0 5%;
}

#sect06 .pathTtl {
    font-size: 1.8rem;
    margin: 0 0 30px;
}

#sect06 .pathTtl .redTxt {
    font-size: 2.8rem;
}
#sect06 .whitearea {
    padding: 15px;
	        max-width: 100%;
}
	
#sect06 .pathImgWrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

#sect06 .pathImgWrap .inner {
    width: 800px;
    text-align: center;
}

#sect06 .pathImgWrap img {
    width: 100%;
}





/*------------
sect07_SP
------------*/
#sect07 {
    padding: 60px 0 20px;
}

#sect07 .areaInner {
    padding: 0 5%;
    position: relative;
}

#sect07 .sectTop {
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
    position: relative;
}

#sect07 .pic {
    position: static;
    width: 100%;
}

#sect07 .orange-badges {
    position: absolute;
    top: -50px;
    left: 0;
    gap: 5px;
}

#sect07 .badge {
    font-size: 1.5rem;
    padding: 0.5rem 1rem;
    margin: 0;
    line-height: 1.3;
    white-space: nowrap;
}

#sect07 .sectTtlArea {
    width: 100%;
    padding-top: 70px;
}

#sect07 .sectTtl {
    font-size: 2.4rem;
    line-height: 1.6;
    margin-bottom: 15px;
}

#sect07 .txt p {
    font-size: 1.4rem;
}

#sect07 .scheduleArea {
    display: block;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 15px;
}

#sect07 .scheduleBox {
    width: 100%;
    margin-bottom: 0;
}

#sect07 .schedulettl {
    padding: 12px 5px;
    font-size: 2rem;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#sect07 .schedulettl::after {
    border-top-width: 8px;
    border-left-width: 8px;
    border-right-width: 8px;
    bottom: -8px;
}

#sect07 .day {
    padding: 10px 5px;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: -0.01em;
    word-break: break-all;
}





/*------------
sect08_SP
------------*/
#sect08 {
    padding: 60px 0;
    background-color: #fff;
}

#sect08 .areaInner {
    padding: 0 5%;
}

#sect08 .fontEngArea {
    margin-bottom: 20px;
}

#sect08 .fontEngArea::after {
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
}

#sect08 .fontEng {
    font-size: 1.7rem;
}

#sect08 .sectTtl {
    font-size: 2.4rem;
    margin-bottom: 30px;
}

#sect08 .sectTtl a {
    padding-right: 30px;
    background-size: 24px auto;
}

#sect08 .dataBox {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 10px;
}

#sect08 .box {
    width: calc(50% - 5px);
    background-color: #F4F7F9;
    display: flex;
    flex-direction: column;
}

#sect08 .box .pic {
    height: auto;
}

#sect08 .box .txt {
    padding: 15px 10px 10px;
    flex: 1;
}

#sect08 .dataTtl {
    font-size: 1.5rem;
    line-height: 1.5;
}

#sect08 .more {
    font-size: 1.4rem;
    padding: 0 10px 10px;
    gap: 5px;
}

#sect08 .more::after {
    width: 18px;
    height: 18px;
}





/*------------
sect09_SP
------------*/
#sect09 {
    padding: 0 0 60px;
    background-color: #F4F7F9;
    margin-top: 20px;
}

#sect09 .obi {
    position: relative;
    top: -2rem;
    font-size: 1.5rem;
    margin-left: -5.6%;
    padding-left: 5.6%;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
}

#sect09 .sectTtl {
    font-size: 2.4rem;
    margin-bottom: 30px;
}

#sect09 .sectTtl a {
    background-size: 24px auto;
    padding-right: 30px;
}

#sect09 .columnBox {
    display: block;
}

#sect09 .box {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    background-color: #fff;
    padding: 15px 15px;
    margin-bottom: 0;
    box-sizing: border-box;
    border-bottom: 1px solid #B4B4B4;
    text-decoration: none;
    gap: 10px;
}

#sect09 .num {
    font-size: 1.8rem;
    width: 2.5rem;
    flex-shrink: 0;
}

#sect09 .txt {
    flex: 1;
    padding-right: 0;
}

#sect09 .columnTtl {
    font-size: 1.5rem;
    line-height: 1.5;
}

#sect09 .more {
    position: static;
    /*align-self: flex-end;*/
    font-size: 1.2rem;
    line-height: 1;
    padding: 0 0 0px 0;
    flex-shrink: 0;
    gap: 5px;
}

#sect09 .more::after {
    width: 16px;
    height: 16px;
}
/*  End_SP */
}

@media screen and (max-width: 480px) {
	#sect02,
  #spv {
    scroll-margin-top: 90px; /* ヘッダーの高さ分 */
  }
	}



#sect07 .scheduleBox.wh {
    background: #fff;
    padding: 25px 4rem;
}
#sect07 .scheduleBox.wh .title {
	font-size: 2.2rem;
	text-align: center;
	font-weight: bold;
	border-bottom: 1px solid #B4B4B4;
	margin-bottom: 1rem;
	padding-bottom: 2rem;
}

#sect07 .scheduleBox.wh ul{
    margin: 15px 0 15px;
    padding: 0 10px;
}

#sect07 .scheduleBox.wh ul li {
    position: relative;
    padding: 3px 0 3px 20px;
	font-weight: bold;
}

#sect07 .scheduleBox.wh ul li::before{
    position: absolute;
    content: "";
    top: 1.0rem;
    left: .2rem;
    width: 1.2rem;
    height: 1.5rem;
    background: url(./img/ul_icon.png) 0 0 no-repeat;
    background-size: 1.2rem auto;
}
#sect07 .scheduleBox.wh .info{
   font-weight: bold;
   font-size: 1.8rem;
   color: #df3c36;
   margin: 1rem 0 0.5rem;
}

#sect07 .scheduleBox.wh .info span{
   font-size: 1.5rem;
}

#sect07 .scheduleBox.wh .caption{
    font-size: 1.2rem;
}

@media screen and (max-width: 480px) {
#sect07 .scheduleBox.wh {
     margin: 2rem 0 0;
	  padding: 20px 15px;
}
	#sect07 .scheduleBox.wh .title {
    font-size: 2rem;
}
#sect07 .scheduleBox.wh .info{
	line-height: 1.4;
   margin: 1.5rem 0 1rem;
}
	#sect07 .scheduleBox.wh ul li {
	line-height: 1.6;
}

	}