@charset "UTF-8";

/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

@import url('https://fonts.googleapis.com/css2?family=Kumbh+Sans:wght@300;400;500;600;700&family=Montserrat&family=Noto+Sans+JP:wght@400;500;700&display=swap');
@font-face {
    font-family: 'BroadcastMatter';
    src: url('./fonts/BroadcastMatter.eot');
    src: url('./fonts/BroadcastMatter.eot?#iefix') format('embedded-opentype'), url('./fonts/BroadcastMatter.eot') format('svg'), url('./fonts/BroadcastMatter.ttf') format('truetype'), url('./fonts/BroadcastMatter.woff') format('woff'), url('./fonts/BroadcastMatter.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}


/*==================================================
ふわっ
===================================*/

/* 下から */

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

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

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

/* 左から */

.fadeLeft {
    animation-name:fadeLeftAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity:0;
}

@keyframes fadeLeftAnime {
    from {
        opacity: 0;
        transform: translateX(-100px);
    }

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

/* 右から */

.fadeRight {
    animation-name:fadeRightAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity:0;
}

@keyframes fadeRightAnime {
    from {
        opacity: 0;
        transform: translateX(100px);
    }

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

/* 拡大 */
.zoomIn{
    animation-name:zoomInAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
}
  
  @keyframes zoomInAnime{
    from {
        transform: scale(0.6);
        opacity: 0;
    }
  
    to {
        transform: scale(1);
        opacity: 1;
    }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.zoomInTrigger, 
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger {
    opacity: 0;
}


/*****************************************
***************** ヘッダー ****************
*****************************************/
.c-headLogo__img{
	width: 11.625rem;
}
.c-gnav>.menu-item>a:after {
    bottom: 32px;
    left: calc(50% - 21px);
    width: 42px;
    height: 1px;
    background-color: #8FC2D6;
}
.c-gnav > .current-menu-item > a::after {
    transform: scaleX(1);
}
.c-gnav>.menu-item>a .ttl {
    font-size: 18px;
    font-family: 'Kumbh Sans', sans-serif;
    font-weight: 300;
    letter-spacing: .2em;
}

.c-smallNavTitle {
    font-size: 12px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    letter-spacing: .3em;
    color: #C5C5C5;
}
.c-gnav > .current-menu-item .c-smallNavTitle,
.c-gnav>.menu-item.-current .c-smallNavTitle {
    color: #8FC2D6;
}

@media screen and (min-width: 960px) {
    .c-smallNavTitle {
        top: 15px;
    }
}

@media screen and (min-width: 1081px) {
    .c-gnav>.menu-item>a {
        padding: 0 22px;
    }
}

@media screen and (max-width: 959px) {
    .p-spMenu {
        color: #fff;
    }
    .-right .p-spMenu__inner {
        -webkit-transform: translateX(100vw);
        transform: translateX(100vw);
    }
    [data-spmenu=opened] .p-spMenu__inner {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    .p-spMenu__inner {
        width: 100vw;
        background: none;
    }
    .p-spMenu__inner::before {
        top: 56px;
        height: calc(100% - 56px);
        background: rgba(29, 49, 118, .9);
    }
    [data-spmenu=opened] .c-iconBtn__icon {
        color: #fff;
    }
    [data-spmenu=opened] .p-spMenu__closeBtn .c-iconBtn__icon {
        color: #000;
    }
    .p-spMenu__body {
        padding: 0;
    }
    .c-widget__title.-spmenu {
        display: none;
    }
    .p-spMenu__nav {
        margin-top: 0;
    }
    .c-listMenu a {
        position: relative;
        padding: 40px 50px;
        font-family: 'Kumbh Sans', sans-serif;
        font-weight: 300;
        font-size: 46px;
        line-height: 1.23;
        letter-spacing: 0.2em;
    }
    .c-listMenu a:before {
        display: none;
    }
    .c-smallNavTitle {
        position: absolute;
        font-size: 22px;
        left: 350px;
        top: 50%;
        transform: translateY(-50%);
    }
    .p-spMenu__overlay {
        background: none;
    }
}

@media screen and (max-width: 599px) {
    .c-listMenu a {
        padding: 20px 30px;
        font-size: 20px;
    }
    .c-smallNavTitle {
        font-size: 12px;
        left: 150px;
    }
}

.menu-item.menu-button {
    /* 通常の .menu-item スタイルをリセット */
    all: unset;
    
    /* ここに必要なスタイルを追加 */
    /* 特に高さを設定する場合、以下のように設定することができます。 */
    display: inline-block; /* ボタンをインラインブロック要素として配置 */
    margin: 0; /* 余白をリセット */
    padding: 5px 15px; /* パディングを調整 */
    color: #232df6; /* テキスト色を設定 */
    text-decoration: none; /* テキストの下線を消す */
    text-align: center; /* テキストを中央揃えに */
    cursor: pointer; /* カーソルをポインターにする */
    transition: color 0.3s, border-color 0.3s; /* トランジションを設定 */
	align-self: center; /* 自身を中央に配置 */
}

/* "お問い合わせ" ボタンのスタイルを調整 */
.menu-item.menu-button > a {
    display: inline-block; /* 他のメニューアイテムと一致するように設定 */
    padding: 10px 20px; /* 他のメニューアイテムに合わせたパディング */
    background-color: #232df6; /* ボタンの背景色 */
    color: #FFFFFF; /* テキストの色 */
    font-size: 18px; /* 他のメニューアイテムと一致するフォントサイズ */
    border-radius: 20px; /* 角を丸くする */
    border: none; /* ボーダーを削除 */
    text-decoration: none; /* 下線を削除 */
    line-height: normal; /* 他のメニューアイテムと一致する行の高さ */
    height: auto; /* 高さの自動調整 */
    box-shadow: none; /* ボックスシャドウを削除 */
}

/* "お問い合わせ" ボタンの不自然な線を削除 */
.menu-item.menu-button > a::after,
.menu-item.menu-button > a::before {
    content: none; /* before または after によって生成された線を削除 */
}

/* ホバー時のスタイル */
.menu-item.menu-button > a:hover {
    background-color: #FFFFFF; /* ホバー時の背景色 */
    color: #5DA4B6; /* ホバー時のテキスト色 */
}

@media screen and (max-width: 768px) {
    .menu-item.menu-button {
        margin-top: 30px !important;
    }
}

/*****************************************
***************** フッター ****************
*****************************************/

#before_footer_widget {
    position: relative;
    margin-top: 0;
    padding: 72px 0;
    background: url(./img/bg_footer_contact.png) no-repeat center / cover;
}

#before_footer_widget::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(112.45deg, #73BCCC 1.21%, #328ACA 99.63%);
    opacity: 0.9;
}

.l-footerContact .p-topTtl__en,
.l-footerContact .p-topTtl__jp {
    color: #fff;
}

.l-footerContact .p-topTtl::after {
    background: #fff;
}

.p-footerContact {
    position: relative;
    text-align: center;
    max-width: 869px;
    margin: 54px auto 0;
    padding: 47px 15px 45px;
    background-color: #fff;
    box-shadow: 5px 10px 40px rgba(145, 145, 145, 0.25);
    border-radius: 15px;
}

.p-footerContact figure {
    margin-bottom: 23px;
}

.p-footerContact .cmn-btn {
    margin-top: 20px;
}

.l-footer__inner {
    display: flex;
    flex-wrap: wrap;
}

.l-footer__widgetArea {
    position: relative;
    width: 50%;
    padding: 82px 15px;
    background: rgba(47, 52, 53, .82) url(./img/bg_footer.jpg) no-repeat center / cover;
}

.l-footer__widgetArea::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(47, 52, 53, .82);
}

.l-footer__widgetArea .l-container {
    position: relative;
    max-width: 665px;
    margin: 0 0 0 auto;
    padding: 0;
}

.l-footer__widgetArea .l-container .w-footer__box {
    padding: 0;
}

.l-footer__foot {
    width: 50%;
    padding: 0;
}

.l-footer__foot .l-container {
    padding: 0;
}
.l-footer .widget_media_image img{
	width: 11.625rem;
}
.l-footer__nav {
    flex-direction: column;
    justify-content: flex-start;
    height: 477px;
    padding: 85px 75px;
    max-width: 750px;
}

.l-footer__nav li {
    width: 48%;
    max-width: 250px;
}

.l-footer__nav a {
    padding: 0;
    font-size: 16px;
    line-height: 54px;
    border: none !important;
}

.l-footer__nav li::before {
    display: block;
    margin-bottom: 20px;
    padding-bottom: 20px;
    font-family: 'Kumbh Sans', sans-serif;
    font-weight: 300;
    font-size: 22px;
    line-height: 27px;
    letter-spacing: .2em;
    color: #FFF;
    border-bottom: 1px solid #484B4B;
}

.l-footer__nav li:first-child::before {
    content: 'Company';
}

.l-footer__nav li:nth-last-child(3)::before {
    content: 'Service';
}

.l-footer__nav li:nth-last-child(2) {
    margin-top: 40px;
}

.l-footer__nav li:nth-last-child(2)::before {
    content: 'Recruit';
}

.l-footer__nav li:last-child {
    position: absolute;
    bottom: 22px;
    right: 355px;
    z-index: 2;
}

.l-footer__nav li:last-child a {
    font-size: 14px;
    line-height: 35px;
    letter-spacing: 0.2em;
    color: #828282;
}

.l-footer__nav li:last-child a::after {
    content: '|';
    display: inline-block;
    margin: 0 20px;
}

.l-footer__nav li:last-child a:hover::after {
    text-decoration: none;
}

.l-footer .copyright {
    position: relative;
    padding: 24px 45px 22px;
    text-align: right;
    font-size: 14px;
    line-height: 35px;
    letter-spacing: 0.2em;
    color: #828282;
    border-top: 1px solid #4B4B4B;
}

@media screen and (max-width: 1200px) {
    .l-footer__nav li:last-child {
        bottom: 60px;
        right: 0;
        width: 50%;
        max-width: none;
        text-align: center;
    }
    .l-footer__nav li:last-child a::after {
        display: none;
    }
    .l-footer .copyright {
        padding: 60px 15px 22px;
        text-align: center;
    }
}

@media screen and (max-width: 959px) {
    .l-footer__widgetArea {
        width: 100%;
    }
    .l-footer__widgetArea .l-container {
        margin: 0 auto;
    }
    .l-footer__foot {
        width: 100%;
    }
    .l-footer__nav {
        margin: 0 auto;
    }
    .l-footer__nav li:last-child {
        width: 100%;
    }
}

@media screen and (max-width: 480px) {
    .l-footer .widget_media_image img {
        width: 11.625rem;
    }
    .l-footer__nav {
        height: 385px;
        padding: 50px 15px;
    }
    .l-footer__nav li::before {
        font-size: 16px;
    }
    .l-footer .copyright {
        letter-spacing: 0;
    }
}


/*****************************************
****************** common ****************
*****************************************/

body {
    font-family: 'Noto Sans JP', sans-serif;
}

.inner {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}

.l-content {
    margin-bottom: 0;
	z-index: 0;
}

.l-mainContent {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 2.18;
    letter-spacing: 0em;
}
.p-breadcrumb__list{
	display: block;
}
.p-breadcrumb__item{
	display: inline-block;
}
.p-breadcrumb__text {
    letter-spacing: 5px;
    white-space: initial;
}

.p-breadcrumb__item .icon-home:before {
    display: none;
}

.p-breadcrumb__item:after {
    border-color: #8FC2D6;
}
.p-breadcrumb__item span {
    color: #B5B5B5;
}

.p-breadcrumb__item:last-child span {
    opacity: 1;
    color: #333;
}
.single span.p-breadcrumb__text{
	display: block;
}
.post_content .cmn-btn-area{
	text-align: center;
	margin-bottom: 60px!important;
}
.cmn-btn a {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 400px;
    padding: 16px;
    padding-right: 40px;
    text-align: center;
    font-weight: 500;
    font-size: 17px;
    line-height: 25px;
    color: #000;
    background: #FFF;
    border: 2px solid #fff;
    box-shadow: 5px 5px 30px rgba(0, 0, 0, 0.1);
    border-radius: 50px;
}

.cmn-btn a::after {
    content: '\f054';
    position: absolute;
    right: 15px;
    top: 50%;
    font-family: 'Font Awesome 6 Free';
    font-weight: bold;
    transform: translateY(-50%);
}

.cmn-btn--grey a {
    background: #E6E6E6;
    border-color: #E6E6E6;
}


.cmn-btn--blue a {
    color: #fff;
    background-color: #8FC2D6;
    border-color: #8FC2D6;
}

.p-topTtl {
    position: relative;
    text-align: center;
    padding-bottom: 28px;
}

.p-topTtl::after {
    content: '';
    position: absolute;
    left: calc(50% - 35px);
    bottom: 0;
    width: 70px;
    height: 5px;
    background: linear-gradient(112.45deg, #73BCCC 1.21%, #328ACA 99.63%);
    border-radius: 5px;
}

.p-topTtl__en {
    font-family: 'Kumbh Sans', sans-serif;
    font-weight: 600;
    font-size: 70px;
    line-height: 1.24;
    letter-spacing: .2em;
    color: #000;
}

.p-topTtl__jp {
    font-weight: 500;
    font-size: 25px;
    line-height: 1.44;
    letter-spacing: .2em;
    color: #000;
}

.p-subTtl__en {
    position: relative;
    z-index: 1;
    font-family: 'Kumbh Sans', sans-serif;
    font-weight: 700;
    font-size: 90px;
    line-height: 1.245;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #E6E6E6;
}

.p-subTtl__jp {
    position: relative;
    z-index: 1;
    font-weight: 500;
    font-size: 25px;
    line-height: 1.44;
    letter-spacing: 0.3em;
    color: #000;
}
@media screen and (min-width: 960px) {
	.cmn-btn--grey a:hover {
	    background-color: #fff;
	}

	.cmn-btn--blue a:hover {
	    color: #8FC2D6;
	    background-color: #fff;
	}
}
@media screen and (min-width: 600px) {
    .p-breadcrumb__text {
        font-size: 14px;
        line-height: 20px;
    }
}

@media screen and (max-width: 959px) {
    .p-topTtl__en {
        font-size: 50px;
    }
    .p-subTtl__en {
        font-size: 60px;
    }
}

@media screen and (max-width: 480px) {
    .p-breadcrumb__text {
        letter-spacing: 2px;
    }
    .p-topTtl__en,
    .p-subTtl__en {
        font-size: 36px;
    }
    .p-topTtl__jp,
    .p-subTtl__jp {
        font-size: 18px;
    }
    .post_content .cmn-btn-area{
		margin-bottom: 4em!important;
	}
    .cmn-btn a {
        font-size: 12px;
    }
}


/*****************************************
***************** TOPページ ***************
*****************************************/

.p-mainVisual::after {
    content: '';
    position: absolute;
    left: 45.5%;
    top: 72%;
    width: 54.5%;
    height: 239px;
    background: url(./img/ttl_top_mv.png) no-repeat left top / contain;
}

.p-mainVisual__textLayer {
    align-items: flex-start;
    max-width: 1200px;
    text-align: left;
}

.p-mainVisual__slideTitle {
    font-weight: 700;
    font-size: 60px;
    line-height: 1.2;
    letter-spacing: 0.2em;
}

.p-mainVisual__slideTitle span {
    font-size: 140%;
}

.p-mainVisual__slideText {
    margin-top: 1.7em;
    font-family: 'Montserrat', sans-serif;
    font-size: 27px;
    line-height: 1.55;
    letter-spacing: 0.1em;
    color: #FFF;
    text-transform: uppercase;
    opacity: 0.7;
    text-shadow: 2.06276px 2.06276px 6.87587px rgba(0, 0, 0, 0.07);
}

.top #content {
    padding-top: 0;
}

.l-topNews {
    padding: 77px 0;
}

.p-topNews {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.p-topNews .p-topTtl {
    margin-right: 20px;
    text-align: left;
}

.p-topNews .p-topTtl::after {
    left: 0;
}

.p-topNews .p-newsList {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    max-width: 900px;
    margin: 0 -10px;
}

.p-topNews .p-newsList__item {
    width: calc(33.33% - 20px);
    margin: 0 10px;
    padding: 20px;
    background: #FFF;
    box-shadow: 5px 10px 40px rgba(145, 145, 145, 0.25);
    border-radius: 15px;
}

.p-topNews .p-newsList__item figure {
    height: 135px;
    margin-bottom: 16px;
    overflow: hidden;
}

.p-topNews .p-newsList__item figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-topNews .p-newsList__item h3 {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.28;
    letter-spacing: 0.1em;
    color: #000;
}

.p-topNews .p-newsList__item-date {
    margin: 16px 0 14px;
    font-family: 'Kumbh Sans', sans-serif;
    font-weight: 300;
    font-size: 14px;
    line-height: 1.21;
    letter-spacing: 0.2em;
    color: #4B4B4B;
}

.p-newsList__item-cat {
    display: inline-block;
    padding: 2px 10px;
    font-weight: 500;
    font-size: 12px;
    line-height: 17px;
    letter-spacing: 0.1em;
    color: #000;
    border: 1px solid #B5B5B5;
    border-radius: 30px;
}

.l-topNews .cmn-btn {
    margin-top: 69px;
}

.l-topService {
    position: relative;
    padding: 122px 0 113px;
    background: #F5F5F5 url(./img/bg_top_service.png) repeat-y top / 100% auto;
}

.l-topService h3 {
    margin: 56px 0 97px;
    font-weight: 400;
    font-size: 30px;
    line-height: 1.44;
    text-align: center;
    color: #333;
}

.p-topService {
    position: relative;
    padding-bottom: 62px;
}

.p-topService::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 143px;
    width: 55vw;
    background: url(./img/img_top_service01.jpg) no-repeat top center / cover;
    border-radius: 0 20px 20px 0;
    z-index: -1;
}

.p-topService::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 32.875vw;
    height: 582px;
    background: url(./img/img_top_service02.jpg) no-repeat bottom center / cover;
    border-radius: 20px 0 0 20px;
    z-index: -1;
}

.p-topService .en {
    position: relative;
    text-align: right;
    font-family: 'BroadcastMatter';
    font-size: 114px;
    line-height: .64;
    color: #8FC2D6;
    transform-origin: right top;
    transform: rotate(-6.68deg);
    left: 60px;
}

.p-topService__txt {
    position: relative;
    max-width: 680px;
    margin-left: auto;
    margin-top: 110px;
    padding: 45px 50px;
    background: #FFF;
    box-shadow: 20px 20px 40px rgba(145, 145, 145, 0.25);
    border-radius: 15px;
}

.l-topService .cmn-btn {
    margin-top: 47px;
}

.l-voice {
    position: relative;
    padding: 120px 0;
    background: #F5F5F5;
}

.l-topVoice {
    padding: 114px 0 34px;
    background: none;
}

.p-voiceList {
    margin: 60px 0 120px !important;
}

.p-voiceList__item {
    display: flex;
    flex-wrap: wrap;
    padding: 25px;
    background: #FFFFFF;
    border: 2px solid #8FC2D6;
    box-shadow: 5.54276px 11.0855px 44.3421px rgba(145, 145, 145, 0.25);
    border-radius: 15px;
    transform: scale(.85);
    opacity: .2;
}

.p-voiceList .slick-current .p-voiceList__item {
    transform: scale(1);
    opacity: 1;
}

.p-voiceList__item figure {
    width: 50%;
    margin-right: 25px;
}

.p-voiceList__item-cont {
    flex: 1;
}

.p-voiceTtl {
    padding-bottom: 22px;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.25;
    letter-spacing: 0.1em;
    color: #000;
}

.p-voiceCont {
    position: relative;
    padding-top: 20px;
    letter-spacing: .1em;
}

.p-voiceCont::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 60%;
    height: 1px;
    background-color: #8FC2D6;
}

.p-voiceCont__company {
    font-weight: 500;
    font-size: 20px;
    line-height: 1.5;
    color: #000;
}

.p-voiceCont__department {
    font-size: 17px;
    line-height: 1.47;
    color: #000;
}

.p-voiceCont__name {
    font-weight: 500;
    font-size: 26px;
    line-height: 1.46;
    color: #000;
}

.p-voiceCont__name span {
    margin-left: 18px;
    font-size: 67%;
    font-weight: 400;
    color: #B5B5B5;
}

.slick-dots {
    bottom: -59px;
}

.slick-dots li {
    width: 5.25vw;
    height: 4px;
    margin: 0 3px;
}

.slick-dots li button {
    width: 100%;
    height: 100%;
    padding: 0;
    background-color: #dedede;
}

.slick-dots li.slick-active button {
    background-color: #8FC2D6;
}

.slick-dots li button:before {
    display: none;
}

.slick-prev,
.slick-next {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: #8FC2D6 !important;
    box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1);
    z-index: 2;
}

.slick-prev {
    left: 13vw;
}

.slick-next {
    right: 13vw;
}

.slick-prev:before,
.slick-next:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(./img/icn_arrow.png) no-repeat center / auto;
    opacity: 1;
}

.slick-prev::before {
    transform: rotateY(180deg);
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

.l-topRecruit {
    position: relative;
    padding: 120px 0;
    background: url(./img/bg_top_recruit.png) no-repeat left bottom / 100% auto;
}

.l-topRecruit .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.p-topRecruit__cont {
    width: 55%;
}

.p-topRecruit__cont .p-topTtl {
    text-align: left;
}

.p-topRecruit__cont .p-topTtl::after {
    left: 0;
}

.p-topRecruit__cont figure {
    display: none;
}

.p-topRecruit__cont h3 {
    margin: 82px 0 43px;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.44;
    letter-spacing: .2em;
    color: #333;
}

.p-topRecruit__cont p {
    max-width: 570px;
}

.p-topRecruit__cont .cmn-btn {
    margin-top: 57px;
}

.l-topRecruit figure {
    width: 45%;
}

.l-topRecruit figure img {
    transform-origin: left top;
    transform: scale(1.1);
}

@media screen and (max-width: 1360px) {
    .p-topService .en {
        font-size: 8vw;
        left: 4vw;
    }
    .p-mainVisual__slideTitle {
        font-size: 4.75vw;
    }
    .p-mainVisual__slideText {
        font-size: 2vw;
    }
}

@media screen and (max-width: 1200px) {
    .slick-prev,
    .slick-next {
        width: 70px;
        height: 70px;
        z-index: 2;
    }
    .slick-prev {
        left: 0;
    }
    .slick-next {
        right: 0;
    }
}

@media screen and (max-width: 1024px) {
    .p-topNews .p-topTtl {
        width: 100%;
        margin: 0 0 40px;
        text-align: center;
    }
    .p-topNews .p-topTtl::after {
        left: calc(50% - 35px);
    }
    .p-topNews .p-newsList {
        flex: none;
        width: 100%;
        max-width: none;
    }
    .p-topService::before {
        height: 44.25vw;
    }
    .p-topService::after {
        height: 36.375vw;
    }
}

@media screen and (max-width: 959px) {
    .p-mainVisual::after {
        display: none;
    }
    .p-mainVisual__textLayer {
        display: block;
        padding: 5% 4vw;
    }
    .p-mainVisual__slideTitle {
        font-size: 8.5vw;
    }
    .p-mainVisual__slideText {
        margin-top: 1em;
        font-size: 3.6vw;
    }
}

@media screen and (max-width: 768px) {
    .p-topNews .p-newsList__item h3 {
        font-size: 15px;
    }
    .p-topNews .p-newsList__item-date {
        font-size: 12px;
    }
    .l-voice,
    .l-topService {
        padding: 70px 0;
    }
    .l-topService h3 {
        margin: 40px 0 60px;
        font-size: 20px;
    }
    .p-topService .en {
        font-size: 12vw;
    }
    .p-topService__txt {
        margin-top: 70px;
    }
    .l-topVoice {
        padding: 70px 0 20px;
    }
    .p-voiceTtl {
        font-size: 18px;
    }
    .p-voiceCont__company {
        font-size: 15px;
    }
    .p-voiceCont__department {
        font-size: 12px;
    }
    .p-voiceCont__name {
        font-size: 18px;
    }
    .l-topRecruit {
        padding: 60px 0 70px;
    }
    .p-topRecruit__cont {
        width: 100%;
    }
    .p-topRecruit__cont .p-topTtl,
    .p-topRecruit__cont .cmn-btn {
        text-align: center;
    }
    .p-topRecruit__cont .p-topTtl::after {
        left: calc(50% - 35px);
    }
    .p-topRecruit__cont figure {
        display: block;
        width: 100%;
        text-align: center;
        margin-top: 40px;
    }
    .p-topRecruit__cont h3 {
        margin-top: 30px;
        font-size: 20px;
    }
    .l-topRecruit .inner>figure {
        display: none;
    }
}

@media screen and (max-width: 480px) {
    .p-topNews .p-newsList {
        margin: 0;
    }
    .p-topNews .p-newsList__item {
        width: 100%;
        margin: 0 0 15px;
    }
    .p-topNews .p-newsList__item:last-child {
        margin-bottom: 0;
    }
    .p-topService__txt {
        padding: 30px 20px;
    }
    .p-voiceList__item {
        padding: 15px;
    }
    .p-voiceList__item figure {
        width: 100%;
        margin: 0 0 15px;
    }
    .slick-prev,
    .slick-next {
        width: 40px;
        height: 40px;
    }
    .slick-prev:before,
    .slick-next:before {
        background-size: 25px auto;
    }
}


/*****************************************
*********** 固定ページでのタイトル *********
*****************************************/

.u-obf-cover {
    object-position: right bottom;
}

.c-pageTitle {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    font-weight: 500;
    font-size: 1.3em;
    line-height: 1.4;
    letter-spacing: .3em;
}

.c-pageTitle__subTitle {
    position: relative;
    top: -2px;
    margin-left: 0;
    font-family: 'Kumbh Sans', sans-serif;
    font-style: normal;
    font-size: 2.9em;
    font-weight: 600;
    letter-spacing: .13em;
    opacity: 1;
}

@media screen and (max-width: 599px) {
    .c-pageTitle {
        align-items: flex-start;
        font-size: 1em;
    }
    .c-pageTitle__subTitle {
        font-size: 2em;
    }
}


/*****************************************
************* アーカイブページ ************
*****************************************/

.p-breadcrumb {
    position: relative;
    z-index: 2;
}

.l-topMV {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 11em;
    margin: 0;
    padding: 1.5em 0;
    overflow: hidden;
    z-index: 2;
}

.l-topMV .l-topTitleArea__body {
    color: #fff;
    position: relative;
    text-shadow: 1px 1px 0 rgb(0 0 0 / 10%);
    width: 100%;
    z-index: 3;
}

.p-archiveContent {
    max-width: 1000px;
    margin: 0 auto;
}

.p-postList__item {
    position: relative;
    padding: 20px;
    background-color: #fff;
    box-shadow: 5px 10px 40px rgba(145, 145, 145, 0.25);
    border-radius: 15px;
}

.p-postList__item .p-newTag {
    position: absolute;
    left: 0;
    top: 0;
    width: 83px;
    height: 83px;
    background: url(./img/icn_new.png) no-repeat center / 100%;
    z-index: 1;
}

.-type-list .p-postList__link {
    align-items: normal;
}

.-type-list .p-postList__thumb {
    border-radius: 6px;
}

.-type-list .p-postList__body {
    padding-bottom: 40px;
    line-height: 1.69;
}

.-type-list .p-postList__title {
    margin-bottom: 16px;
    line-height: 1.46;
    letter-spacing: 1px;
}

.-type-list .p-postList__excerpt::after {
    content: '続きを読む >';
    color: #8FC2D6;
}

.p-postList__meta {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.p-postList__times {
    font-family: 'Kumbh Sans', sans-serif;
    font-size: 18px;
    line-height: 22px;
    letter-spacing: 0.2em;
    color: #4B4B4B;
}

.p-topNews .p-newsList__item-date::before,
.c-postTimes__posted:before {
    content: url(./img/icn_calendar.png);
    display: inline-block;
    margin-right: 15px;
    vertical-align: -3px;
}

.p-postList__cat {
    display: inline-block;
    padding: 4px 12px;
    font-size: 15px;
    line-height: 19px;
    letter-spacing: 0.1em;
    color: #4B4B4B;
    border: 1px solid #B5B5B5;
    border-radius: 100px;
}

.p-postList__cat::before {
    content: '#';
    display: inline-block;
    font-family: 'Noto Sans JP', sans-serif !important;
}

.c-pagination {
    padding: 136px 0 171px;
}

.c-pagination .wp-pagenavi {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

[class*=page-numbers],
.c-pagination .wp-pagenavi a.page,
.c-pagination .wp-pagenavi span.current {
    display: inline-block;
    min-width: 79px;
    height: 79px;
    line-height: 79px;
    margin: 0 20px;
    padding: 0;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 20px;
    border-radius: 50%;
    border: none;
    color: #fff;
    background-color: #E3E3E3;
}

[class*=page-numbers].current,
[class*=page-numbers]:hover,
.c-pagination .wp-pagenavi a.page:hover,
.c-pagination .wp-pagenavi span.current {
    background-color: #8FC2D6;
}

.c-pagination .wp-pagenavi span.extend {
    position: relative;
    margin: 0 20px;
    padding: 0;
    font-size: 20px;
    border: none;
}

.c-pagination .wp-pagenavi a.previouspostslink,
.c-pagination .wp-pagenavi a.nextpostslink,
.c-pagination .wp-pagenavi a.last,
.c-pagination .wp-pagenavi a.first {
    position: relative;
    margin: 0 20px;
    padding: 0;
    font-size: 0;
    border: none;
}

.c-pagination .wp-pagenavi a.last {
    margin-right: 0 !important;
}

.c-pagination .wp-pagenavi a.first {
    margin-left: 0 !important;
}

.c-pagination .wp-pagenavi a.first::before,
.c-pagination .wp-pagenavi a.last::before {
    content: url(./img/icn_last.png);
    display: inline-block;
}

.c-pagination .wp-pagenavi a.previouspostslink::before,
.c-pagination .wp-pagenavi a.nextpostslink::before {
    content: url(./img/icn_next.png);
    display: inline-block;
}

.c-pagination .wp-pagenavi a.first::before,
.c-pagination .wp-pagenavi a.previouspostslink::before {
    transform: rotateY(180deg);
}

.l-articleMain {
    position: relative;
    padding-bottom: 100px;
}

.l-articleMain::before {
    content: '';
    position: absolute;
    left: 0;
    top: -200px;
    bottom: 0;
    width: 100%;
    background-color: #F5F5F5;
    z-index: -1;
}

.l-articleMain article {
    position: relative;
    padding: 54px 5% 180px;
    background-color: #fff;
    border-radius: 10px;
}

.l-articleMain article .p-articleMetaShare {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.l-articleMain article .p-articleMetas__times {
    margin: 0;
    font-family: 'Kumbh Sans', sans-serif;
    font-size: 18px;
    line-height: 36px;
    color: #4B4B4B;
}

.l-articleMain article .p-articleMetas__times .c-postTimes__modified,
.l-articleMain article .p-articleMetas__times .c-postTimes__posted {
    margin-right: 1.5em;
}

.l-articleMain article .p-articleMetas__times .c-postTimes__modified:before {
    letter-spacing: 0;
    content: '\f021';
    font-family: 'Font Awesome 6 Free' !important;
    font-weight: bold;
}

.l-articleMain article .c-shareBtns.-top {
    margin: 0 0 0 auto;
}

.l-articleMain article .c-shareBtns .c-shareBtns__icon {
    font-size: 0;
}

.l-articleMain article .c-shareBtns__item.-facebook a.c-shareBtns__btn {
    width: 124px;
    height: 36px;
    background: url(./img/icn_share_facebook.png);
    background-size: 100%;
}

.l-articleMain article .c-shareBtns__item.-twitter a.c-shareBtns__btn {
    width: 124px;
    height: 36px;
    background: url(./img/icn_share_twitter.png);
    background-size: 100%;
}

.l-articleMain article .c-shareBtns__item.-copy .c-shareBtns__btn {
    width: 158px;
    height: 36px;
    background: url(./img/icn_link_copy.png);
    background-size: 100%;
}

.c-copyedPoppup {
    bottom: auto;
    top: calc(100% + 2px);
}

.l-articleMain article .p-articleMetas.-top {
    margin-top: 0;
}

.l-articleMain article .p-articleMetas__termList {
    margin-top: 30px;
}

.l-articleMain article .p-articleMetas__termList::before {
    display: none;
}

.l-articleMain article .c-categoryList__link {
    padding: 4px 11px;
    font-family: 'Kumbh Sans', sans-serif;
    font-weight: 300;
    font-size: 15px;
    line-height: 1.26;
    letter-spacing: 0.1em;
    color: #4B4B4B;
    background-color: #fff;
    border: 1px solid #B5B5B5;
    border-radius: 100px;
}

.l-articleMain article .c-categoryList__link::before {
    content: '#';
}

.l-articleMain article .p-articleThumb{
	position: relative;
	overflow: hidden;
	padding-top: 56.25%;
}
.l-articleMain article .p-articleThumb .p-articleThumb__img{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.l-articleMain article #toc_container {
    width: 100% !important;
    max-width: 925px;
    margin-left: auto;
    margin-right: auto;
    padding: 28px 36px;
    background: #F5F5F5;
}

.l-articleMain article div#toc_container p.toc_title {
    position: relative;
    text-align: left;
    font-size: 16px;
    font-weight: 500;
    line-height: 23px;
}

.l-articleMain article #toc_container span.toc_toggle {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 0;
}

.l-articleMain article #toc_container span.toc_toggle a {
    font-weight: 500;
    font-size: 13px;
    line-height: 19px;
    letter-spacing: 0.29em;
    text-decoration-line: underline;
    color: #B5B5B5;
}

.l-articleMain article #toc_container p.toc_title+ul.toc_list {
    margin-top: 34px;
    padding-left: 30px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .1em;
}

.l-articleMain article div#toc_container ul.toc_list a {
    position: relative;
    display: inline-block;
    margin-bottom: 18px;
    padding-left: 34px;
    line-height: 2;
    text-decoration: underline;
}

.l-articleMain article div#toc_container ul.toc_list a span.toc_number {
    position: absolute;
    left: 0;
    top: 0;
    display: inline-block;
    width: 34px;
    font-family: 'Montserrat';
    font-weight: 600;
    color: #000;
    text-decoration: none;
}

.l-articleMain article div#toc_container ul.toc_list a span.toc_number::after {
    content: '.';
}

.l-articleMain article div#toc_container ul.toc_list a+ul li a {
    padding-left: 68px;
}

.l-articleMain article div#toc_container ul.toc_list a+ul li a span.toc_number {
    width: 68px;
    padding-left: 26px;
    color: #B5B5B5;
}

.l-articleMain article div#toc_container ul.toc_list a+ul li a span.toc_number::before {
    content: '';
    position: absolute;
    left: 0;
    top: calc(50% - 5px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 10px;
    border-color: transparent transparent transparent #8fc2d6;
}

.l-articleMain article #toc_container ul ul {
    margin-left: 34px;
}

.l-articleMain article .post_content h1 {
    padding-bottom: 15px;
    font-size: 27px;
    line-height: 1.44;
    border-bottom: 2px solid #E6E6E6;
}

.l-articleMain article .post_content h2 {
    color: #000;
}

.l-articleMain article .post_content h3 {
    border-left: 5px solid #8FC2D6;
}

.l-articleMain article .post_content h4 {
    font-size: 18px;
}

.l-articleMain article .post_content h5 {
    font-size: 12px;
}

.l-articleMain article .post_content h6 {
    font-size: 12px;
    color: #B5B5B5;
}

.l-articleMain article .post_content ul li::marker,
.l-articleMain article .post_content ol li::marker {
    color: #8FC2D6;
}

.l-articleMain article .post_content .wp-block-table td {
    vertical-align: middle;
}

.l-articleMain article .post_content .wp-block-table td:first-of-type {
    min-width: 217px;
    padding: 20px 30px;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.45;
    letter-spacing: 0.3em;
    color: #000;
    background: #F5F5F5;
}

.l-articleMain article .post_content blockquote {
    padding: 3em 0 3em 2.25em;
    background-color: #fff;
    border-left: 6px solid #8FC2D6;
}

.l-articleMain article .post_content blockquote::before {
    content: url(./img/icn_blockquote.png);
    position: absolute;
    left: 35px;
    top: 0;
    display: block;
    line-height: 0;
}

.l-articleMain article .post_content blockquote::after {
    content: url(./img/icn_blockquote.png);
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    line-height: 0;
}

.l-articleMain article .post_content .c-balloon__text {
    padding: 2em;
}

.l-articleMain article .post_content .c-balloon .c-balloon__iconImg {
    height: auto;
}

.l-articleMain article .post_content ol {
    padding-left: 2em;
}

.l-articleMain article .p-articleFoot {
    display: none;
}

.l-articleMain article .c-shareBtns.-bottom {
    position: absolute;
    right: 5%;
    bottom: 56px;
    margin: 0;
}

.l-articleMain article .c-secTitle,
.l-articleRelated .c-secTitle {
    padding-left: 0;
    padding-right: 0;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.44;
    border: none;
}

.l-articleMain article .p-authorBox {
    align-items: center;
    padding: 0;
    border: none;
}

.l-articleMain article .p-authorBox .p-authorBox__l {
    width: 214px;
    line-height: 0;
}

.l-articleMain article .p-authorBox .avatar {
    width: 214px;
    height: 214px;
    border: 9px solid #FFFFFF;
    filter: drop-shadow(0px 0px 14px rgba(0, 0, 0, 0.15));
}

.l-articleMain article .p-authorBox .p-authorBox__r {
    width: calc(100% - 214px - 1.5em);
    border: none;
}

.l-articleMain article .p-authorBox .p-authorBox__r .p-authorBox__position {
    margin: 0 0 10px;
    font-family: 'Noto Sans JP', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
    line-height: 2;
    color: #B5B5B5;
}

.l-articleMain article .p-authorBox .p-authorBox__r .p-authorBox__name {
    margin: 0 0 13px;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.45;
    letter-spacing: 0.12em;
    color: #000;
}

.l-articleMain article .p-authorBox .p-authorBox__r .p-authorBox__desc {
    font-weight: 500;
    font-size: 14px;
    line-height: 2;
    color: #000;
}

.l-articleMain .p-singlePagination {
    position: relative;
    max-width: 1000px;
    margin: 90px auto 0;
}

.l-articleMain .p-singlePagination .p-pnLinks__item:before {
    width: .9em;
    height: .9em;
    border-width: 2px;
}

.l-articleMain .p-singlePagination .p-pnLinks__link {
    font-weight: 700;
}

.l-articleMain .p-singlePagination .p-pnLinks .-next .p-pnLinks__link {
    padding-right: 2.5em;
}

.l-articleMain .p-singlePagination .p-pnLinks .-prev .p-pnLinks__link {
    padding-left: 2.5em;
}

.l-articleMain .p-singlePagination .cmn-btn {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 314px;
    transform: translate(-50%, -50%);
}

.l-articleMain .p-singlePagination .p-pnLinks__title {
    display: none;
}

.l-articleMain .p-singlePagination .p-pnLinks__item.-prev .p-pnLinks__link::before {
    content: '前の記事へ';
}

.l-articleMain .p-singlePagination .p-pnLinks__item.-next .p-pnLinks__link::before {
    content: '次の記事へ';
}

.l-articleRelated {
    padding-bottom: 120px;
}

.l-articleRelated .p-relatedPosts .p-postList__item {
    position: relative;
    width: calc(25% - 1em);
    padding: 20px;
    margin: 0 0.5em 20px;
}

.l-articleRelated .p-relatedPosts .p-postList__item .p-postList__meta {
    position: relative;
    display: block;
}

.l-articleRelated .p-relatedPosts .p-postList__item .p-postList__meta .p-postList__times {
    font-size: 14px;
    line-height: 17px;
}

@media screen and (min-width: 600px) {
    .l-topMV {
        min-height: 240px;
        padding: 1em 0;
    }
    .c-pageTitle {
        font-size: 1.5em;
    }
    .-type-list .p-postList__title {
        font-size: 26px;
    }
    .c-postTitle__ttl {
        font-size: 30px;
    }
}

@media screen and (max-width: 960px) {
    .l-articleRelated .p-relatedPosts .p-postList__item {
        width: calc(33.33% - 1em);
    }
    .c-pagination .wp-pagenavi a.page,
    .c-pagination .wp-pagenavi span.current {
        min-width: 60px;
        height: 60px;
        line-height: 60px;
        margin: 0 5px;
        font-size: 18px;
    }
    .c-pagination .wp-pagenavi span.extend,
    .c-pagination .wp-pagenavi a.previouspostslink,
    .c-pagination .wp-pagenavi a.nextpostslink,
    .c-pagination .wp-pagenavi a.last,
    .c-pagination .wp-pagenavi a.first {
        margin: 0 10px;
    }
}

@media screen and (max-width: 599px) {
    .l-articleMain article {
        padding: 30px 5% 100px;
    }
    .p-postList__item {
        padding: 15px;
        border-radius: 10px;
    }
    .p-postList__item .p-newTag {
        width: 45px;
        height: 45px;
    }
    .-type-list .p-postList__thumb {
        width: 100%;
        margin-bottom: 15px;
    }
    .-type-list .p-postList__body {
        width: 100%;
        padding-bottom: 0;
    }
    .-type-list .p-postList__link {
        align-items: flex-start;
    }
    .p-postList__excerpt {
        display: none;
    }
    .p-postList__meta {
        position: relative;
    }
    .p-postList__times {
        font-size: 10px;
    }
    .p-topNews .p-newsList__item-date::before,
    .c-postTimes__posted:before {
        margin-right: 5px;
        vertical-align: -5px;
        transform: scale(.7);
    }
    .p-postList__cat {
        font-size: 10px;
        line-height: 12px;
    }
    .l-articleMain article #toc_container {
        padding: 20px 15px;
    }
    .l-articleMain article #toc_container p.toc_title+ul.toc_list {
        padding-left: 0;
        font-size: 11px;
    }
    .l-articleMain article div#toc_container ul.toc_list a {
        padding-left: 24px;
    }
    .l-articleMain article #toc_container ul ul {
        margin-left: 15px;
    }
    .l-articleMain article div#toc_container ul.toc_list a+ul li a span.toc_number {
        padding-left: 15px;
    }
    .l-articleMain article div#toc_container ul.toc_list a+ul li a {
        padding-left: 50px;
    }
    .l-articleMain article .post_content .wp-block-table td:first-of-type {
        min-width: 0;
        width: 30%;
        padding: 15px 10px;
        font-size: 16px;
    }
    .c-pagination {
        padding: 50px 0 70px;
    }
    [class*=page-numbers] {
        min-width: 50px;
        height: 50px;
        line-height: 50px;
        margin: 0 5px;
        font-size: 16px;
    }
    .c-pagination .wp-pagenavi a.page,
    .c-pagination .wp-pagenavi span.current {
        min-width: 45px;
        height: 45px;
        line-height: 45px;
        margin: 0 5px;
        font-size: 14px;
    }
    .c-pagination .wp-pagenavi span.extend {
        display: none;
    }
    .c-pagination .wp-pagenavi a.previouspostslink,
    .c-pagination .wp-pagenavi a.nextpostslink,
    .c-pagination .wp-pagenavi a.last,
    .c-pagination .wp-pagenavi a.first {
        margin: 0;
    }
    .c-pagination .wp-pagenavi a.last::before,
    .c-pagination .wp-pagenavi a.nextpostslink::before {
        transform: scale(.5);
    }
    .c-pagination .wp-pagenavi a.first::before,
    .c-pagination .wp-pagenavi a.previouspostslink::before {
        transform: rotateY(180deg) scale(.5);
    }
    .l-articleMain article .p-articleMetas__times,
    .l-articleMain article .c-categoryList__link {
        font-size: 12px;
    }
    .l-articleMain article .c-shareBtns__item.-facebook a.c-shareBtns__btn,
    .l-articleMain article .c-shareBtns__item.-twitter a.c-shareBtns__btn {
        width: 62px;
        height: 18px;
    }
    .l-articleMain article .c-shareBtns__item.-copy .c-shareBtns__btn {
        width: 79px;
        height: 18px;
    }
    .l-articleMain article .p-articleMetas__termList {
        margin-top: 20px;
    }
    .l-articleMain article .post_content h1 {
        font-size: 18px;
    }
    .l-articleMain article .c-secTitle,
    .l-articleRelated .c-secTitle {
        font-size: 20px;
    }
    .l-articleMain .p-singlePagination .cmn-btn {
        position: relative;
        left: 0;
        top: 0;
        width: 100%;
        transform: none;
        text-align: center;
    }
    .l-articleRelated .p-relatedPosts .p-postList__item {
        width: 100%;
        padding: 10px;
    }
    .l-articleMain article .p-authorBox .p-authorBox__l,
    .l-articleMain article .p-authorBox .p-authorBox__r {
        width: 100%;
    }
    .l-articleMain article .p-authorBox .p-authorBox__r .p-authorBox__desc {
        text-align: left;
        font-size: 12px;
    }
}


/*****************************************
***************** 採用情報 ****************
*****************************************/
.centered-text {
    display: flex;
    flex-direction: column;
    align-items: center; /* 子要素を中央揃え */
}

.centered-text span {
    text-align: center; /* テキストを中央揃え */
}

.recruit-nocode-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center; /* 中央揃え */
    margin-bottom: 50px;
}

.content-row {
    display: flex;
    justify-content: center; /* 子要素を中央横揃え */
    width: 100%; /* 必要に応じて調整 */
}


a { /* 上の余白を追加してスペースを作る */
    text-decoration: underline; /* リンクとしての見た目を強調 */
}
/* h2のスタイル */
.custom-deading {
    font-size: 25px;
    text-align: center; /* 中央に配置 */
    margin: 64px 0; /* item-containerとの間のスペース */
}

/* item-containerのスタイル */
.item-container {
    display: flex;
    justify-content: space-between;
    align-items: start; 
	padding: 0 5%;/* 各content-containerの上端を揃える */
    margin-bottom: 64px;
}

/* 各content-containerのスタイル */
.content-container {
    flex: 1;
    margin: 0 1%; /* 両側のマージンを増やして空白を作る */
    box-sizing: border-box;
    padding: 1% 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto;
    width: 28%; /* 横幅を狭くする */
}

.content-container-center {
    display: flex;
    justify-content: center; /* 横方向の中央揃え */
    align-items: center;     /* 縦方向の中央揃え */
    flex-direction: column;  /* 子要素を縦方向に配置 */
    height: 100%;  
    margin-bottom: 50px;
}

.title-text {
    font-weight: bold;
    margin-bottom: 10px;
}

.description-text {
    text-align: center;
    overflow: visible;
    line-height: 2.5;
    display: -webkit-box;
    -webkit-line-clamp: none;
    -webkit-box-orient: vertical;
    margin-bottom: 64px;
}

.custom-heading {
    -webkit-font-smoothing: antialiased;
    color: rgb(51, 51, 51);
    line-height: 1.4;
    margin: 0px 0px 60px;
    font-feature-settings: 'palt';
    font-size: 48px;
    background-color: rgb(255, 255, 255);
    display: flex;
    align-items: center;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.p-subTtl, .cmn-btn {
    flex-shrink: 0;          /* 子要素が縮小しないようにする */
}

.inner-recruit-funrepeat {
    display: flex;           /* Flexboxを有効にする */
    align-items: center;     /* 子要素を垂直方向の中央に揃える */
    justify-content: space-between; /* 子要素の間にスペースを最大にする */
    gap: 20px;           /* 必要に応じて、子要素間のスペースを設定 */
    width: 90%;
    max-width: 1200px;
    margin: 100px auto;
}

.google-slide {
	display: flex;
	align-items: center;
    justify-content: center;
    margin: 50px 0;
}

.recruit-content-wrapper {
    display: flex;
}
.recruit-nocode-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.content-row {
    display: flex;
    align-items: center; /* 子要素を縦方向の中央に配置 */
	justify-content: center;
    margin-bottom: 64px;
}

.nocode-text-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.nocode-image-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.centered-text span {
    display: block;
    text-align: center;
    font-size: 20px; /* デフォルトの文字サイズ */
}

.nocode-emphasis {
	color: red;
    font-weight: bold;
    text-align: center;
    margin-top: 20px;
    font-size: 22px; /* デフォルトの文字サイズ */
}

.text-content, .image-content {
    flex: 1;  /* これにより、両方の要素が同じ幅を持つようになります */
}

.sub-image {
     display: flex;
     justify-content: center;
     align-items: center;
     height: 400px;
	 margin-bottom: 50px;
}

.sub-image img {
     width: 600px;
     height: 400px;
     object-fit: cover;
}

.image-content img {
    object-fit: contain;
    width: 100%;
	height: 100%;
}

.l-firstAll {
    position: relative;
    z-index: 1;
    margin-bottom: 50px;
}

.l-firstAll::before {
    content: '';
    position: absolute;
    left: 0;
    top: 74px;
    bottom: 60px;
    width: 100%;
    z-index: -1;
}

.p-firstAll__cont {
    position: relative;
    max-width: 973px;
    margin: 0 auto;
    padding: 50px 15px;
    text-align: center;
    background-color: #fff;
    z-index: 2;
}

.p-firstAll__cont-txt {
    margin: 45px 0 40px;
    font-size: 30px;
    line-height: 1.43;
    letter-spacing: 0.15em;
}

.p-firstAll__btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 767px;
    margin: 45px auto 0;
}

.p-firstAll__btn .cmn-btn {
    margin-bottom: 10px;
}

.p-firstAll__btn .cmn-btn--grey {
    width: 316px;
}

.p-firstAll__btn .cmn-btn--blue {
    width: 390px;
}

.p-firstAll__btn .cmn-btn--blue a {
    max-width: 390px;
}

.l-about {
    position: relative;
    padding: 95px 0 120px;
}

.l-about::before {
    content: '';
    position: absolute;
    right: 0;
    top: -60px;
    bottom: 0;
    width: 45%;
    background: url(./img/bg_about.png) no-repeat left center / cover;
    z-index: -1;
}

.l-about .p-subTtl {
    margin-bottom: 36px;
}

.l-about .cmn-btn {
    margin-top: 46px;
}

.l-position {
    position: relative;
    padding: 95px 0 168px;
}

.l-position::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 400px;
    background: url(./img/bg_position.jpg) no-repeat top center / cover;
    z-index: -1;
}

.p-positionCont {
    padding: 95px 5% 100px;
    text-align: center;
    background-color: #fff;
}

.p-positionList {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
}

.p-positionList__item {
    width: 32%;
    max-width: 343px;
    margin-top: 45px;
    margin-right: 2%;
}

.p-positionList__item:nth-child(3n){
    margin-right: 0;
}

.p-positionList__item a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 140px;
    font-size: 20px;
    line-height: 1.45;
    letter-spacing: .3em;
    color: #000;
    border: 1px solid #8FC2D6;
}

.p-positionList__item a span {
    display: inline-block;
    margin-top: 15px;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .1em;
    color: #8FC2D6;
}

.p-positionLink {
    display: flex;
    flex-wrap: wrap;
}

.p-positionLink__item {
    width: 50%;
    padding: 65px 45px;
    color: #fff;
}

.p-positionLink__item--entry {
    background: #76AFDB;
}

.p-positionLink__item--interview {
    background: #8FC2D6;
}

.p-positionLink__item-cont {
    max-width: 503px;
}

.p-positionLink__item--entry .p-positionLink__item-cont {
    margin-left: auto;
}

.p-positionLink__item-ttl {
    margin-bottom: 30px;
    text-align: center;
}

.p-positionLink__item-ttl p {
    font-family: 'Kumbh Sans', sans-serif;
    font-weight: 600;
    font-size: 50px;
    line-height: 1.24;
    text-transform: uppercase;
}

.p-positionLink__item-ttl h3 {
    font-weight: 500;
    font-size: 25px;
}

.p-positionLink__item-cont .cmn-btn {
    margin-top: 30px;
    text-align: center;
}

.p-positionLink__item-cont .cmn-btn a::after {
    color: #8FC2D6;
}
.hov-flash-up:hover{
	-webkit-animation:initial;
	animation:initial;
	box-shadow:none;
}
@media screen and (min-width: 960px) {
    .inner-recruit-funrepeat {
        flex-direction: column;
	}
	.p-positionList__item a:hover {
	    color: #fff;
	    background-color: #8FC2D6;
	}

	.p-positionList__item a:hover span {
	    color: #fff;
	}
	.p-positionLink__item-cont .cmn-btn a:hover {
	    color: #fff;
	}

	.p-positionLink__item-cont .cmn-btn a:hover::after {
	    color: #fff;
	}

	.p-positionLink__item--entry .p-positionLink__item-cont .cmn-btn a:hover {
	    background-color: #3487C7;
	    border-color: #3487C7;
	}

	.p-positionLink__item--interview .p-positionLink__item-cont .cmn-btn a:hover {
	    background-color: #589AB4;
	    border-color: #589AB4;
	}
	.hov-flash-up:hover{
		-webkit-animation:flash 1s;
		animation:flash 1s;
		box-shadow:0 2px 8px rgba(0,0,0,.25);
	}
	.image-content img {
        padding-left: 15px;
    }
}
@media screen and (max-width: 820px) {
  .recruit-nocode-wrapper .content-row {
        flex-direction: column; /* 縦並びに変更 */
    }

    .centered-text  {
        font-size: 18px; /* 文字の大きさを調整 */
    }

    .nocode-emphasis {
        font-size: 20px; /* 文字の大きさを調整 */
    }

    .nocode-image-content {
		display: flex;
		justify-content: center;
    }
    
    .responsive-link a{
		word-break: break-all;
        font-size: 20px; /* 文字の大きさを調整 */
    }


/* 参照リンクのスタイル */
.recruit-nocode-wrapper p {
    font-size: 16px; /* デフォルトの文字サイズ */
    text-align: center; /* 中央揃え */
    margin-top: 20px; /* 上のスペースを追加 */
}


     .custom-deading {
        font-size: 20px; /* タブレットサイズでの文字の大きさを調整 */
    }

     .item-container {
        flex-direction: column; 
    }

    .content-container {
        width: 100%; /* 横幅を100%に変更 */
        margin: 10px 0; /* 上下のマージンを追加 */
    }

    .description-text {
        font-size: 14px; /* 文字の大きさを調整 */
    }

     
    .recruit-content-wrapper {
        flex-direction: column; /* 縦並びに変更 */
    }

    .text-content {
        margin-bottom: 20px; /* image-contentとの間隔を取る */
        font-size: 16px; /* 文字の大きさを調整 */
    }

    .p-firstAll__cont-txt {
        font-size: 20px; /* サブタイトルの文字の大きさを調整 */
    }

    .image-content img {
        width: 100%; /* 画像の幅を最大化 */
    }

    .inner-recruit-funrepeat {
        flex-direction: column;
	}
    .p-firstAll__cont-txt {
        font-size: 24px;
    }
    .p-firstAll__btn {
        justify-content: center;
    }
    .l-about::before {
        width: 60%;
    }
    .l-position {
        padding: 75px 0;
    }
    .p-positionList__item a {
        font-size: 16px;
    }
    .p-positionLink__item {
        padding: 40px 20px;
    }
    .p-positionLink__item-ttl p {
        font-size: 30px;
    }
}
@media screen and (max-width: 768px) {
  .recruit-nocode-wrapper .content-row {
        flex-direction: column; /* 縦並びに変更 */
    }

    .centered-text  {
        font-size: 18px; /* 文字の大きさを調整 */
    }

    .nocode-emphasis {
        font-size: 20px; /* 文字の大きさを調整 */
    }

    .nocode-image-content {
		display: flex;
		justify-content: center;
    }
    
    .responsive-link a{
        word-break: break-all;
        font-size: 20px; /* 文字の大きさを調整 */
    }


/* 参照リンクのスタイル */
.recruit-nocode-wrapper p {
    font-size: 16px; /* デフォルトの文字サイズ */
    text-align: center; /* 中央揃え */
    margin-top: 20px; /* 上のスペースを追加 */
}


     .custom-deading {
        font-size: 20px; /* タブレットサイズでの文字の大きさを調整 */
    }

     .item-container {
        flex-direction: column; /* 縦並びに変更 */
    }

    .content-container {
        width: 100%; /* 横幅を100%に変更 */
        margin: 10px 0; /* 上下のマージンを追加 */
    }

    .description-text {
        font-size: 14px; /* 文字の大きさを調整 */
    }

     
    .recruit-content-wrapper {
        flex-direction: column; /* 縦並びに変更 */
    }

    .text-content {
        margin-bottom: 20px; /* image-contentとの間隔を取る */
        font-size: 16px; /* 文字の大きさを調整 */
    }

    .p-firstAll__cont-txt {
        font-size: 20px; /* サブタイトルの文字の大きさを調整 */
    }

    .image-content img {
        width: 100%; /* 画像の幅を最大化 */
    }

    .inner-recruit-funrepeat {
        flex-direction: column;
	}
    .p-firstAll__cont-txt {
        font-size: 24px;
		display: flex;
		justify-content: center;
    }
    .p-firstAll__btn {
        justify-content: center;
    }
    .l-about::before {
        width: 60%;
    }
    .l-position {
        padding: 75px 0;
    }
    .p-positionList__item a {
        font-size: 16px;
    }
    .p-positionLink__item {
        padding: 40px 20px;
    }
    .p-positionLink__item-ttl p {
        font-size: 30px;
    }
}

@media screen and (max-width: 480px) {
.centered-text  {
        font-size: 14px; /* 文字の大きさを調整 */
    }

    .nocode-emphasis {
        font-size: 16px; /* 文字の大きさを調整 */
    }

    .nocode-image-content {
		display: flex;
		justify-content: center;
    }
    
    .responsive-link a{
        word-break: break-all;
        font-size: 12px; /* 文字の大きさを調整 */
    }
      
	
     .custom-deading {
        font-size: 18px; /* スマートフォンサイズでの文字の大きさを調整 */
    }
     
    .recruit-content-wrapper {
        flex-direction: column; /* 縦並びに変更 */
    }
    .text-content {
        font-size: 14px; /* 文字の大きさをさらに小さく調整 */
    }

    .p-firstAll__cont-txt {
        font-size: 18px; /* サブタイトルの文字の大きさを調整 */
    }

    .inner-recruit-funrepeat {
        flex-direction: column;
	}
    .p-firstAll__cont-txt {
        font-size: 18px;
    }
    .l-about {
        padding: 50px 0 70px;
    }
    .l-position::before {
        height: 150px;
    }
    .p-positionCont {
        padding: 35px 5%;
    }
    .p-positionList__item {
        width: 48.5%;
        margin-top: 20px;
        margin-right: 3%;
    }
    .p-positionList__item:nth-child(3n){
	   margin-right: 3%;
	}
	.p-positionList__item:nth-child(2n){
	    margin-right: 0;
	}
    .p-positionList__item a {
        height: 110px;
        font-size: 14px;
    }
    .p-positionList__item a span {
        margin-top: 10px;
        font-size: 13px;
    }
    .p-positionLink__item {
        width: 100%;
    }
    .p-positionLink__item-ttl h3 {
        font-size: 18px;
    }
	.sub-image {
		height:auto;
	}
	.sub-image img {
        height: auto;
        padding: 0px 10px;
    }

}

@media screen and (max-width: 350px) {
    .p-firstAll__btn .cmn-btn--blue a {
        padding: 16px 20px 16px 5px;
    }
    .p-firstAll__btn .cmn-btn--blue a::after {
        right: 10px;
    }
}

/*****************************************
***************** 会社案内 ****************
*****************************************/

.l-message .p-subTtl {
    position: relative;
    padding: 185px 0 220px calc(50% - 65px);
    background-color: #fff;
}

.l-message .p-subTtl::after {
    content: '';
    position: absolute;
    right: calc(50% - 65px);
    top: 0;
    bottom: 0;
    width: calc(50% + 65px);
    background: url(./img/img_owner.png) no-repeat right center / auto 100%;
}

.p-message__cont {
    position: relative;
    max-width: 973px;
    margin: -100px auto 0;
    padding: 63px 77px 74px;
    background-color: #fff;
    border: 1px solid #8FC2D6;
    box-shadow: 10px 10px 50px rgba(0, 0, 0, 0.1);
}

.p-message__cont h3 {
    margin-bottom: 53px;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.63;
    text-align: center;
    color: #8FC2D6;
}

.p-message__name {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: 55px;
}

.p-message__name p {
    margin-right: 25px;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.45;
    color: #000;
}

.l-mission {
    position: relative;
    margin-top: 145px;
    background: url(./img/bg_mission.jpg) no-repeat left center / auto 100%;
}

.l-mission::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: calc(50% + 204px);
    height: 100%;
    background: linear-gradient(112.45deg, #73BCCC 1.21%, #328ACA 99.63%);
    z-index: -1;
}

.p-mission__cont {
    position: relative;
    width: 67%;
    margin-left: auto;
    padding: 90px 0 100px 100px;
    color: #fff;
}

.p-mission__cont * {
    position: relative;
}

.p-mission__cont .p-subTtl__en,
.p-mission__cont .p-subTtl__jp {
    color: #fff;
}

.p-mission__cont h3 {
    margin: 65px 0 55px;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.63;
}

.l-value {
    position: relative;
    padding: 120px 0 155px;
    background: url(./img/bg_value.png) repeat-y bottom center / 100% auto;
}

.l-value .p-subTtl,
.l-company .p-subTtl {
    text-align: center;
}

.l-value .p-subTtl__en {
    color: #fff;
}

.p-value__txt {
    margin: 56px 0 27px;
    font-size: 30px;
    line-height: 1.43;
    text-align: center;
}

.p-valueList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.p-valueList__item {
    width: 48%;
    margin-top: 51px;
    padding: 52px 46px 44px;
    color: #000;
    background: #FFF;
    border: 1.10855px solid #8FC2D6;
    box-shadow: 5.54276px 11.0855px 44.3421px rgba(145, 145, 145, 0.25);
    border-radius: 16.6283px;
}

.p-valueList__item-ttl {
    margin-bottom: 34px;
    text-align: center;
}

.p-valueList__item-ttl p {
    font-family: 'Kumbh Sans', sans-serif;
    font-weight: 700;
    font-size: 35px;
    line-height: 1.23;
    text-transform: uppercase;
    color: #8FC2D6;
}

.p-valueList__item-ttl h3 {
    margin-top: 16px;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.45;
    color: #000;
}

.l-company {
    padding: 145px 0 166px;
}

.l-company figure {
    margin: 80px 0 100px;
}

.p-company__info {
    max-width: 1028px;
    margin: 0 auto;
}

.p-company__info dl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 32px 0;
    color: #000;
    border-bottom: 1px solid #B5B5B5;
}

.p-company__info dl dt {
    width: 290px;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.45;
}

.p-company__info dl dd {
    flex: 1;
}

.p-company__info dl dd iframe {
    display: block;
    width: 100%;
    max-width: 686px;
    margin-bottom: 40px;
}

@media screen and (max-width: 1200px) {
    .l-mission {
        background-position: left 23% center;
    }
    .l-mission::after {
        width: 71%;
    }
    .p-mission__cont {
        padding-left: 0;
    }
    .l-message .p-subTtl::after {
        background-position: center;
    }
    .l-message .p-subTtl__en {
        font-size: 7.75vw;
    }
}

@media screen and (max-width: 768px) {
    .l-message .p-subTtl {
        padding: 15vw 0 20vw 46%;
    }
    .p-message__cont {
        margin-top: -5vw;
        padding: 40px 6%;
    }
    .p-message__cont h3 {
        margin-bottom: 25px;
        font-size: 20px;
    }
    .p-message__name {
        margin-top: 30px;
    }
    .l-mission {
        margin-top: 75px;
        padding-top: 40vw;
        background: none;
    }
    .l-mission::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 40vw;
        background: url(./img/bg_mission.jpg) no-repeat left center / cover;
    }
    .l-mission::after {
        top: 40vw;
        width: 100%;
        height: calc(100% - 40vw);
    }
    .p-mission__cont {
        width: 100%;
        padding: 40px 0;
    }
    .p-mission__cont h3 {
        margin: 45px 0 40px;
        font-size: 24px;
    }
    .l-value {
        padding: 70px 0;
    }
    .p-value__txt {
        font-size: 20px;
    }
    .p-valueList__item {
        padding: 35px 15px;
    }
    .p-valueList__item-ttl p {
        font-size: 24px;
    }
    .p-valueList__item-ttl h3 {
        font-size: 18px;
        margin-top: 10px;
    }
    .l-company {
        padding: 75px 0;
    }
    .l-company figure {
        margin: 40px 0;
    }
    .p-company__info dl dt {
        width: 180px;
    }
}

@media screen and (max-width: 480px) {
    .p-message__name p {
        font-size: 16px;
    }
    .p-message__name img {
        width: 120px;
    }
    .p-mission__cont h3,
    .p-value__txt {
        font-size: 18px;
    }
    .p-valueList__item {
        width: 100%;
        margin-top: 20px;
    }
    .p-company__info dl {
        padding: 20px 0;
    }
    .p-company__info dl dt {
        width: 100%;
        font-size: 16px;
    }
    .p-company__info dl dd {
        flex: none;
        width: 100%;
        margin-top: 10px;
    }
	
	.nocode-image-content {
	  width: 360px; /* 元のiframeの幅の60% */
	  height: 222.6px; /* 元のiframeの高さの60% */
	  overflow: hidden; /* 縮小によりはみ出す部分を非表示にする */
	  position: relative; /* iframeの位置指定の基準点とする */
	}

	.nocode-image-content iframe {
	  transform: scale(0.6); /* サイズを60%に縮小 */
	  transform-origin: top left; /* 左上を基点に縮小 */
	  width: 600px; /* 縮小前の実際の幅 */
	  height: 371px; /* 縮小前の実際の高さ */
	  position: absolute; /* 親要素に対して絶対位置指定 */
	  top: 0;
	  left: 0;
	}
}

/*****************************************
***************** 事業内容 ****************
*****************************************/

.l-concept {
    position: relative;
    padding-bottom: 110px;
}

.l-concept::before {
    content: '';
    position: absolute;
    left: 0;
    top: -100px;
    bottom: 0;
    width: 75vw;
    background: url(./img/bg_service.png) no-repeat left center / cover;
    z-index: -1;
}

.p-concept {
    position: relative;
    padding: 52px 55px;
}

.p-concept::before,
.p-concept::after {
    content: '';
    position: absolute;
    height: 3px;
    width: 30%;
    background-color: #8FC2D6;
    z-index: 1;
}

.p-concept::before {
    left: 0;
    top: 50.5px;
}

.p-concept::after {
    right: 0;
    bottom: 50.5px;
}

.p-concept__cont {
    position: relative;
    text-align: center;
    padding: 124px 15px 103px;
    background-color: #fff;
}

.p-concept__cont::before,
.p-concept__cont::after {
    content: '';
    position: absolute;
    width: 3px;
    height: calc(30% + 52px);
    background-color: #8FC2D6;
    z-index: 1;
}

.p-concept__cont::before {
    top: -52px;
    left: -1.5px;
}

.p-concept__cont::after {
    bottom: -52px;
    right: -1.5px;
}

.p-concept__cont h2 {
    margin-bottom: 32px;
    font-weight: 700;
    font-size: 45px;
    line-height: 1.44;
    letter-spacing: 10px;
    color: #333;
}

.l-strengths {
    position: relative;
    padding: 91px 0 86px;
    background: url(./img/bg_strengths.jpg) no-repeat center / cover;
}

.p-strengths__cont {
    padding: 80px 6%;
    background: #FFF;
    box-shadow: 10px 10px 50px rgba(0, 0, 0, 0.1);
}

.p-strengths__cont .p-subTtl,
.p-strengthsList__item figure {
    text-align: center;
}

.p-strengthsList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 90px;
}

.p-strengthsList__item {
    width: 31%;
    max-width: 295px;
    margin-bottom: 50px;
}

.p-strengthsList__item h3 {
    position: relative;
    margin: 50px 0 30px;
    padding-bottom: 30px;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.63;
    text-align: center;
    color: #000;
}

.p-strengthsList__item h3::before {
    content: '';
    position: absolute;
    left: calc(50% - 35px);
    bottom: 0;
    width: 70px;
    height: 4px;
    background: #8FC2D6;
    border-radius: 4px;
}

.l-what {
    padding: 140px 0 170px;
}

.l-what .p-subTtl {
    padding-bottom: 68px;
    text-align: center;
}

.p-whatList__item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 53px;
}

.p-whatList__item:nth-child(2n) {
    flex-direction: row-reverse;
}

.p-whatList__item figure {
    width: 57%;
    filter: drop-shadow(10px 10px 30px rgba(0, 0, 0, 0.15));
}

.p-whatList__item:last-child figure {
    width: 66%;
}

.p-whatList__item-cont {
    flex: 1;
}

.p-whatList__item-cont h3 {
    padding-bottom: 25px;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.63;
    color: #8FC2D6;
    border-bottom: 1px solid #8FC2D6;
}

.p-whatList__item-list {
    display: flex;
    flex-wrap: wrap;
    margin: 20px -10px 0;
}

.p-whatList__item-cont p {
    margin: 20px 10px 0;
    padding: 0 10px;
    line-height: 1.875;
    color: #000;
    background: #F5F5F5;
    border-radius: 5px;
}

@media screen and (min-width: 600px) {
    .p-whatList__item:nth-child(2n+1) .p-whatList__item-cont h3,
    .p-whatList__item:nth-child(2n+1) .p-whatList__item-cont .p-whatList__item-list {
        padding-left: 10%;
    }
    .p-whatList__item:nth-child(2n) .p-whatList__item-cont h3,
    .p-whatList__item:nth-child(2n) .p-whatList__item-cont .p-whatList__item-list {
        padding-right: 10%;
    }
}

.l-others {
    padding: 138px 0 188px;
}

.p-others {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 130px;
}

.p-others figure {
    width: 57%;
}

.p-others__cont {
    width: 35.5%;
}

.p-others__cont h3 {
    margin-bottom: 13px;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.43;
    color: #333;
}

.p-others__cont .cmn-btn {
    margin-top: 11px;
}

.p-others__cont .cmn-btn a {
    max-width: 316px;
}

.sp {
    display: none;
}

@media screen and (max-width: 768px) {
    .l-concept {
        padding-bottom: 70px;
    }
    .p-concept {
        padding: 0;
    }
    .p-concept::before {
        left: -5vw;
        top: -1.5px;
    }
    .p-concept::after {
        right: -5vw;
        bottom: -1.5px;
    }
    .p-concept__cont::before {
        top: -5vw;
    }
    .p-concept__cont::after {
        bottom: -5vw;
    }
    .p-concept__cont h2 {
        font-size: 24px;
    }
    .p-strengthsList__item {
        width: 100%;
        max-width: none;
        margin-bottom: 30px;
    }
    .l-what,
    .l-others {
        padding: 70px 0;
    }
    .p-whatList__item {
        margin-top: 30px;
    }
    .p-whatList__item figure {
        width: 100% !important;
        margin-bottom: 20px;
    }
    .p-whatList__item-cont {
        flex: none;
        width: 100%;
    }
    .p-whatList__item-cont h3 {
        padding: 0 0 15px !important;
        font-size: 24px;
    }
    .p-whatList__item-list {
        padding: 0 !important;
    }
    .p-others {
        margin-top: 40px;
    }
    .p-others figure {
        width: 100%;
    }
    .p-others__cont {
        width: 100%;
        margin-top: 20px;
    }
    .p-others__cont .cmn-btn {
        text-align: center;
        margin-top: 30px;
    }
}

@media screen and (max-width: 480px) {
    .p-concept__cont {
        padding: 50px 15px;
    }
    .l-strengths {
        padding: 50px 0;
    }
    .p-strengths__cont {
        padding: 40px 6%;
    }
    .p-strengthsList__item h3,
    .p-whatList__item-cont h3,
    .p-others__cont h3 {
        font-size: 20px;
    }
    .sp {
        display: block;
    }
}


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

.p-contact {
    margin-bottom: 120px;
    padding: 80px 6%;
    border-radius: 15px;
    background: #FFF;
    box-shadow: 10px 10px 50px rgba(0, 0, 0, 0.1);
}

.p-contact ul li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
}

.p-contact ul li>label {
    position: relative;
    width: 35%;
    font-weight: bold;
}

.required,
.optioned {
    position: absolute;
    right: 0;
    top: 50%;
    width: 55px;
    text-align: center;
    font-size: 12px;
    padding: 0;
    color: #fff;
    background: #FF0000;
    transform: translateY(-50%);
}

.optioned {
    background: #A5A5A5;
}

.p-contact ul li>label+p {
    width: 62%;
}

.p-contact input {
    padding: 0 15px;
    box-sizing: border-box;
}

.p-contact input[type="text"],
.p-contact input[type="tel"],
.p-contact input[type="email"],
.p-contact select {
    width: 100%;
    height: 62px;
    background: #FFF;
    border: 1px solid #B5B5B5;
    border-radius: 10px;
    font-family: 'Noto Sans JP', sans-serif;
}

.p-contact select {
    max-width: 240px;
}

.p-contact input[type="radio"] {
    margin: 12px 5px;
}

.p-contact textarea {
    width: 100%;
    height: 200px;
    padding: 15px;
    background: #FFF;
    border: 1px solid #B5B5B5;
    border-radius: 10px;
    box-sizing: border-box;
    font-family: 'Noto Sans JP', sans-serif;
}

.p-contact input[type="submit"] {
    display: block;
    width: 100%;
    max-width: 300px;
    height: 64px;
    margin: 40px auto 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
    font-size: 20px;
    color: #fff;
    background: #8FC2D6;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}

.post_content .mb-60-i {
    margin-bottom: 6rem !important;
}

.pa-lr {
    padding: 0 15px;
}
@media screen and (min-width: 960px) {
	.p-contact input[type="submit"]:hover {
	    opacity: .7;
	}
}
@media screen and (max-width: 768px) {
    .p-contact {
        margin-bottom: 70px;
    }
    .p-contact ul li>label {
        width: 205px;
    }
    .p-contact ul li>label+p {
        width: calc(100% - 210px);
    }
}

@media screen and (max-width: 480px) {
    .p-contact {
        padding: 40px 6%;
    }
    .p-contact ul li>label {
        width: 100%;
        margin-bottom: 10px;
    }
    .p-contact ul li>label+p {
        width: 100%;
    }
    .wpcf7-list-item {
        display: block;
        margin-left: 0;
    }
}


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

.l-privacy {
    padding-bottom: 100px;
}

.l-privacy h2 {
    margin: 40px 0 15px;
}

.l-privacy ul {
    list-style: decimal;
    padding-left: 35px;
}

.l-privacy ol li {
    text-indent: -35px;
    padding-left: 35px;
}

.l-privacy .text-right {
    margin-top: 50px;
}