@charset "utf-8";

@media screen and (max-width: 1200px) {
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
}
/*==================================================
$common
==================================================*/
::-moz-selection {/*ハイライトカラー指定*/
    color:#fff;
    background:#4579C1;
}
::selection{/*ハイライトカラー指定*/
    color:#fff;
    background:#4579C1;
}
html{
    font-size:16px;
}
body {
    font-size:1em;
    margin: 0 auto;
    padding: 0;
    line-height: 1.75;
    position: relative;
    color: #333;
    font-family: 'Noto Sans JP', "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic",
        "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ",
        Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
    text-align: left;
}
body {
    counter-reset: number 0;           /* number のカウンタを 0 にセット */
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
body *{
    box-sizing: inherit; /* box-sizingの値は継承されないので明示的に設定 */
}
font:empty {
        /*翻訳プラグイン「GTranslate」を入れた際空のfontタグが高さを持つのを削除*/
    display: none;
}
a {
    color: inherit;
    text-decoration: none;
}
a {
    color:rgba(69,121,193,1);
}
a:hover{
    color:rgba(69,121,193,0.5);
}
a[href^="tel:"] {
    pointer-events: none;
}
img,svg {
    max-width: 100%;
    height: auto;  /* 高さは自動指定 */
}
.text-center{
    text-align:center;
}
.text-right{
    text-align:right;
}
.text-left{
    text-align:left;
}
.text-red{
    color:#CC0000;
}
.text-blue{
    color:#4579C1;
}
.sp{
    display:none;
}
.pc{
    display:block;
}
.no-wrap{
    display: inline-block; /* インラインブロック化 */
}
.btn{
    font-size: 1rem;
    font-weight: 900;
    color:#fff;
    text-align: center;
    line-height: 1.5;
    min-width: 160px;
    display:block;
    padding:1.2em 30px;
    margin:15px;
    background:rgba(252,181,0,1);
    cursor: pointer;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
    box-sizing:border-box;
    word-break: break-all;
}
.btn:hover{
    color:#fff;
    text-shadow: 0px 0px 20px rgba(255,255,255,0.5);
    cursor: pointer;
}
.btn-large{
    font-size:1.375rem/*22px*/;
    font-weight:700;
    letter-spacing:0.2rem;
    line-height:84px;
    min-width: 334px;
    min-height:84px;
    padding:0 2rem;
}
.btn-arrow{
    min-width:325px;
    position: relative;
    padding:1.2em 50px;
	text-decoration: none;
    box-sizing:border-box;
}
.btn-arrow::before,
.btn-arrow::after{
    font-size: 0.938rem/*15px*/;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all 0.5s;
}
.btn-arrow::before{
    right: 30px;
    width: 13px;
    height: 3px;
    background: #fff;
}
.btn-gray.btn-arrow::before{
    background: #333;
}
.btn-arrow::after{
    right: 30px;
	width: 8px;
	height: 8px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.btn-gray.btn-arrow::after{
    border-top: 3px solid #333;
	border-right: 3px solid #333;
}
.back-btn.btn-arrow::after{
    left:30px;
    transform: rotate(-45deg);
}
.btn-arrow:hover::before,
.btn-arrow:hover::after{
    right:20px;
}
.back-btn.btn-arrow:hover::before,
.back-btn.btn-arrow:hover::after{
    left:20px;
}
.btn-sign-up{
    position:relative;
    font-weight:700;
	text-decoration: none;
    padding-right:50px;
    padding-left:calc(4em - 26px - 1rem);
    color:#fff;
    background-image: linear-gradient(to right,#FCB500, #FCB500, #DC6E00);
    background-size: 200% 100%;
    background-position:100% 0;
    transition: all 0.3s ease-out;
    overflow:hidden;
}
.btn-sign-up:before{
    content:"";
    width:26px;
    height:26px;
    display:inline-block;
    background:url("../img/icon-sign_up.svg");
    background-size: contain;
    background-repeat: no-repeat;
    margin-right:1rem;
    transform:translate(0px,2px);
}
.btn-sign-up:hover{
    background-position:60% 0;
}
.btn-blue{
    color:#fff!important;
    background:rgba(69,121,193,1);
}
.btn-blue:hover{
    background:rgba(84,136,208,1);
}
.btn-gray{
    color:#333;
    background:rgba(213,215,211,1);
}
.btn-gray:hover{
    color:#333;
    background:rgba(223,225,221,1);
}
.btn-group{
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
}
.underline-yel{
    background: linear-gradient(transparent 80%, #FCB500 20%);
}
.strong-yel{
    color:#FCB500;
    font-weight:700;
    font-size:1.25rem/*20px*/;
}
a.link-img{
    display:inline-block;
}
a.link-img:hover{
    opacity:0.7;
}
.bg-blue{
    background:rgba(69,121,193,1);
}
.bg-blur-blue{
    color:#fff;
    background:rgba(69,121,193,.7);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    will-change: filter;
    transform: translaetZ(0);
}
.bg-blur-White{
    color:#333;
    background:rgba(255,255,255,.7);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    will-change: filter;
    transform: translaetZ(0);
}
.scroll_off {
	overflow:hidden;
}
.wrap{
    overflow-x: hidden;
}
/*==================================================
Navbar & Navmenu color
==================================================*/
.header {
    width:100%;
	position: fixed;
    top:0;
    left:0;
	height: 70px;
    display:flex;
	justify-content: space-between;
	z-index: 999;
}
.header-logo{
	max-width:181px;
	text-align:center;
	padding:15px;
    margin-right:auto;
    flex-shrink: 0;
}
.hd-sign-up .btn-sign-up{
    font-size:1rem;
    font-weight:bold;
    color:#fff;
    min-width:164px;
    padding:0 15px;
    margin:0;
    line-height:70px;
    letter-spacing:2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.hd-sign-up .btn-sign-up:before{
    width:17px;
    height:17px;
}
/*========= ナビゲーションのためのCSS ===============*/
.header-nav{
    background-color: #4579C1;
	color:white;
    min-width:164px;
}
.header-nav .menu-btn {
    display: flex;
    justify-content: center;
	position: relative;
    width:100%;
	height:70px;
    align-items: center;
    z-index: 90;
    background-color: #4579C1;
	color:white;
    padding:15px 30px;
    cursor: pointer;
    border: 0;
    border-radius: 0;
}
.header-nav .menu-btn .burger_line,
.header-nav .menu-btn .burger_line:before,
.header-nav .menu-btn .burger_line:after {
    content: '';
    display: block;
    height: 2px;
    width: 15px;
    border-radius: 3px;
    background-color: #fff;
    position:relative;
	margin-right:30px;
    transition: all 0.5s;/*アニメーション設定*/
}
.menu-btn-title{
    display:inline-block;
    font-size:1rem;
    font-weight: 700;
}
.menu-btn .close-txt{
    display:none;
}
.header-nav .menu-btn .burger_line:before {
    bottom: 12px;
	width:30px;
}
.header-nav .menu-btn .burger_line:after {
    top:10px;
	width:30px;
}
.menu-active .menu-btn{
    position:absolute;
    top:15px;
    right:15px;
    flex-flow: column;
    width:75px;
    height:75px;
    padding:15px;
    background:transparent;
    z-index: 999;
}
.menu-active .menu-btn .close-txt{
    display:block;
    margin-top:25px;
}
.menu-active .menu-btn .menu-btn-title{
    display:none;
}
.menu-active .menu-btn .burger_line {
    display:block;
    width:0px;
    margin-top:15px;
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
.menu-active .menu-btn .burger_line::before {
    bottom: -1px;
    transform: rotate(45deg);
}
.menu-active .menu-btn .burger_line::after {
    top: -1px;
    transform: rotate(-45deg);
}
/*-----ここまでハンバーガーボタン周り----------*/
.hd-nav-content {
    display:flex;
    width: 100vw;
    height: 100vh;
    transition: all 0.5s;/*アニメーション設定*/
    position: fixed;
    top: 0;
    top: 0;
    right: 0;
    z-index: 900;
    transform: translateX(100vw);
    transition: all .2s linear;
    background-color: #4579C1;
}
.menu-active .hd-nav-content{
    transform: translateX(0);
}
.hd-nav-left-box{
	width:40vw;
	background:white;
	color:#000;
	padding:80px 50px;
	text-align:center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.hd-nav-logo{
	display: inline-block;	/*inline-blockにすることによって、text-alignの指定が効くようになります*/
	text-align:left;	/*BOX内のテキストを左寄せに戻します*/
}
.hd-nav-right-box{
	width:60vw;
    background-color: #4579C1;
    padding:50px 30px;
}
.hd-nav-box{
    padding-right:15%;
    display: flex;
	flex-direction: column;
	height: 100%;
    box-sizing:border-box;
    overflow:hidden;
}
.hd-nav-head{
text-align:center;
margin-bottom:5%;
}
.hd-nav-list {
    flex-shrink: 1;
	height: 100%;
    overflow-x: auto;
}
.hd-nav-list::-webkit-scrollbar{
    width: 10px;
}
.hd-nav-list::-webkit-scrollbar-track{
    background-color: #ccc;
}
.hd-nav-list::-webkit-scrollbar-thumb{
    background-color: #3C67A2;
}
.hd-nav-list li:first-child{
    border-top:solid 1px #386BB1;
}
.hd-nav-list li {
    font-size:1.375rem/*22px*/;
    letter-spacing: 0.2rem;
    border-bottom: solid 1px #386BB1;
    list-style: none;
}
.hd-nav-list li a {
    display: block;
    width: 100%;
    font-size: calc(14px + 1vh);
    box-sizing: border-box;
    color:#fff;
    text-decoration: none;
    padding-top:2vh;
    padding-bottom:2vh;
    padding-right:45px;
    padding-left:45px;
    position: relative;
    box-sizing:border-box;
}
.hd-nav-list li a::before {
    content: "";
    width: 30px;
    height: 5px;
    border-bottom: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: skew(45deg);
    position: absolute;
    right: 3%;
    top: calc(50% - 0.5rem);
    transition: all 0.5s;/*アニメーション設定*/
}
.hd-nav-list li a:hover{
    background:rgba(255,255,255,.1);
}
.hd-nav-list li a:hover:before {
    width: 50px;
}
/*--------------ここまでヘッダーメニュー-----------------*/

/*==================================================
フロントページ
==================================================*/
/*slick(背景スライド）設定*/
.bg-images{
    position:fixed;
    z-index:-1;
    width:100vw;
    height:100vh;
    overflow:hidden;
}
.slick-items{
    width:100vw;
	height:100vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    top:0;
    left:0;
}
.slick_bg {
    width:100vw;
    height:100vh !important;
    z-index:-1;
    padding-bottom:16.5%;
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
      /* 画像を常に天地左右の中央に配置 */
    background-position: center center;
    /* 画像をタイル状に繰り返し表示しない */
    background-repeat: no-repeat;
}
.slick_bg01 {
    background-image: url("../img/index-bg01.jpg");
}
.slick_bg02 {
    background-image: url("../img/index-bg02.jpg");
}
.slick_bg03 {
    background-image: url("../img/index-bg03.jpg");
}
.slick_bg04 {
    background-image: url("../img/index-bg04.jpg");
}
.primary-section{
    position:relative;
    height:calc(89vh - 70px);
    padding:15px 15px 70px;
}
.primary-main-wrap{
    max-width:1200px;
    height:100%;
    margin:0 auto;
    padding-bottom:0;
    display: flex;
    align-items: center;
    flex-wrap:wrap;
}
.primary-main{
    color:#fff;
    margin-right:100px;
    box-sizing:border-box;
}
.primary-main .svg-container svg{
margin-left:-5px;
}
.primary-title{
    font-size:2.813rem;
    font-size:clamp(1.625rem, 5vw, 2.813rem) /*2.5vw 45px*/;
    letter-spacing:0.2rem;
    line-height:1.5;
    font-weight:bold;
    color:#fff;
    margin-bottom:15px;
    text-shadow: 0px 0px 14px rgba(0, 0, 0, 0.4);
}
.strong-points{
    display:flex;
    gap:15px;
}
.strong-point{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap:10px;
    max-width:201px;
    width:100%;
    aspect-ratio:1 /1;
    font-size:19px;
    font-weight:bold;
    letter-spacing:0.2em;
    line-height:1.3;
    color:#fff;
    text-align:center;
    word-break: break-all;
    position:relative;
    padding:3px;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center center;

}
.strong-point svg{
    margin-right:-4px;
}
.strong-point small{
    position:relative;
    display:inline-block;
    letter-spacing:0;
}
.strong-point.point1{
    background-image:url("../img/strong-pt-bg01.svg");
}
.strong-point.point1 small{
    bottom:10px;
}
.strong-point.point2{
    background-image:url("../img/strong-pt-bg02.svg");
}
.strong-point.point3{
    background-image:url("../img/strong-pt-bg03.svg");
}
.strong-point small{
    font-size:0.789em;
}
.strong-point::before{
    position:absolute;
    content:"";
    top:0;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:100%;
    aspect-ratio:1 /1;
    z-index:-1;
    border-radius:50%;
    background:rgba(100,100,100,.2);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    will-change: filter;
    transform: translaetZ(0);
}
.primary-outer-link{
    position:absolute;
    max-width:44%;
    font-size:0.75rem/*12px*/;
    bottom:10px;
    right:0;
    bottom:0;
}
@media screen and (max-width: 1024px) {
    .primary-main{
    margin-right:0;
    margin-bottom:30px;
    }
    .primary-outer-link{
    display:flex;
    transform:translateX(15px);
    justify-content: flex-end;
    width:100%;
    max-width:none;
    position:static;
    }
}
@media screen and (max-width: 880px) {
    .primary-outer-link{
        bottom:65px;
    }
}
.primary-outer-link .inner{
    display:inline-block;
    padding:25px 50px 25px 0;
    border-top:2px solid #fff;
}
.primary-outer-link a{
    position: relative;
    color:#fff;
    display:inline-flex;
    justify-content: left;
    align-items: center;
    padding-left:35px;
    padding-right:15px;
    text-shadow: 0px 0px 3px rgba(0,0,0,0.3);
}
.primary-outer-link a span{
    display:inline-flex;
    vertical-align: middle;
    align-items: center;
    line-height:1;
    margin-right:1rem;
}
.primary-outer-link a::before{
    flex-shrink: 0;
    content:"";
    position:absolute;
    display: inline-block;
    background-image:url("../img/icon-arrow-or.svg");
    background-color:#FCB500;
    background-repeat:no-repeat;
    background-size:cover;
    top:calc(50% - 12px);
    left:0;
    width:24px;
    height:24px;
    margin-right:0.5rem;
    border-radius:12px;
    transition:.2s ease-out;
}
.primary-outer-link a::after{
    content:'';
    /*絶対配置で丸の位置を決める*/
    position:absolute;
    left:0;
    z-index: -1;
    width:24px;
    height:24px;
    /*丸の形状*/
    background-color:#FCB500;
    border-radius:12px;
    transition:.3s ease-out;
}
/*hoverした際の形状*/
.primary-outer-link a:hover::after{
    width:100%;
  }

.sns-fix{
    position:fixed;
    left:24px;
    bottom:84px;
    z-index:100;
}
@media screen and (max-width: 960px) {
    .sns-fix{
        bottom:115px;
    }
}

.sns-links li{
    width:60px;
    height:60px;
    padding:0;
    margin-bottom:15px;
}
.sns-links li:first-child{
    animation: fadeIn 0.3s ease 1s 1 normal backwards;
}
.sns-links li:nth-child(2){
    animation: fadeIn 0.3s ease 2s 1 normal backwards;
}
@keyframes fadeIn {
from {
    opacity: 0;
    transform: translateY(50px);
    }
    to {
    opacity: 1;
    transform: translateY(0);
    }
}
.sns-links li a{
    display:block;
    line-height:1;
}
.sns-links li svg{
    position:relative;
}
.sns-links li  svg::after{
    position:absolute;
    display:block;
    content:"";
    width:100%;
    height:100%;
    top:0;
    left:0;
    right:0;
    bottom:0;
    border-radius:50%;
    background:rgba(255,255,255,0);
}
.sns-links li > a:hover::after{
    background:rgba(255,255,255,0.7);
}
.fb_dialog{
    z-index:500 !important;
}
.fb_dialog_content iframe{
    z-index:501 !important;
}
.container{
    top:calc(40% + 156px ) !important;
    right:3% !important;
    left:auto !important;
    bottom:auto !important;
    margin:0 !important;
    animation:none !important;
    box-shadow:none !important;
    z-index:501 !important;
}
.primary-scroll-content{
    position:absolute;
    width:122px;
    left:calc(50% - 61px);
    bottom:-61px;
    z-index:10;
}
.primary-scroll-content a{
    display:block;
    width:122px;
    height:122px;
}
.btn-down-scroll-outer{
    display: flex;
    justify-content: center;
    align-items: center;   
    width:122px;
    height:122px;
}
.btn-down-scroll-outer::before{
    content:url("../img/btn-down-scroll.svg");
    width: 100%;
    height: 100%;
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index:-1;
}
.btn-down-scroll-outer:hover::before{
    animation:3s linear infinite rotation-hover;
}
@keyframes rotation-hover{
    0%{ transform:rotate(0);}
    100%{ transform:rotate(360deg); }
}

/*============================
#main-contents
============================*/
.content-inner{
    max-width:1200px;
    width:100%;
    padding:60px 15px;
    margin: 0 auto;
}
/*下層ページ用横幅変更*/
/*はみ出しコンテンツ スクロールバー対策用*/
.sub-page{
    overflow:hidden;
}
.sub-page .content-inner{
    max-width:1080px;
}
.front-page .content-inner,
.wide-inner{
    max-width:1200px;
    width:100%;
    margin-left:auto;
    margin-right:auto;
}
/*concept-section*/
.concept-section{
    padding-top:70px;
    padding-bottom:200px;
    margin-bottom:-350px;
    position:relative;
    z-index:2;
}
/*
.concept-section::after {
}*/
.concept-block{
    width:100%;
    position:relative;
    padding-left:120px;
    z-index:5;
}
.concept-block:before{
    content:"";
    width:30px;
    height:133px;
    background-image:url("../img/our_message.svg");
    background-size:contain;
    background-repeat: no-repeat;
    background-position: right;
    position:absolute;
    left:0;
    border-left:2px solid #fff;
}
.concept-title{
    font-size:2.438em/*39px*/;
    font-weight:normal;
    display:inline-block;
    padding-top:1rem;
    margin-bottom:5%;
    word-wrap: break-word;
}
.concept-title > svg{
    margin-bottom:5%;
}
.concept-title span{
    font-weight:normal;
    letter-spacing:0.2em;
    margin-left:-0.5em;
}
.concept-discription{
    font-size:0.875rem/*14px*/;
    font-weight:700;
    letter-spacing:0.15rem;
    line-height:2.5;
}
/*concept-section*/
.secondary-title{
    font-size:1.25rem/*20px*/;
    font-weight:bold;
    letter-spacing:.1rem;
    margin-bottom:3%;
}
.secondary-title br{
    line-height:initial;
}
.secondary-title > svg{
    margin-bottom:0.8rem;
}
.news-section{
    padding-top:150px;
    padding-bottom:60px;
    margin-bottom:-1px;
    position:relative;
    z-index:3;
    overflow:hidden;
}
.news-section::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #fff;
    -webkit-transform: skewY(-10deg) translateY(180px);
    -moz-transform: skewY(-10deg) translateY(180px);
     -ms-transform: skewY(-10deg) translateY(180px);
      -o-transform: skewY(-10deg) translateY(180px);
    transform: skewY(-10deg) translateY(180px);
    z-index: -1;
}
.news-block{
    padding-bottom:30px;
}
.news-hd-wrap{
    width:100%;
    display:flex;
    justify-content: flex-end;
}
.news-header{
    text-align:left;
}
.news-title{
    text-align:left;
    font-size:1.25rem/*20px*/;
    color:#4579C1;
    margin-bottom:20px;
}
.read-more{
margin-bottom:20px;
font-weight:700;
}
.read-more a{
display:flex;
align-items: center;
color:#333;
width:100%;
box-sizing:border-box;
}
.read-more a span{
    word-break: break-all;
    border-bottom:1px dotted rgba(252,181,0,0);
}
.read-more a:hover{
    color:#333;
}
.read-more a:hover span{
border-bottom:1px dotted #FCB500;
}
.read-more a::after{
    flex-shrink: 0;
    display:block;
    content:" ";
    width:38px;
    height:38px;
    margin-left:15px;
    background-image:url("../img/icon-arrow-or.svg");
    background-size:cover;
    background-repeat: no-repeat;
    transition: all 0.5s;
}
.read-more a:hover::after{
    transform: translate(5px,0px);
}
.news-list{
    width:100%;
    margin:0 auto 60px auto;
}
.news-list tr{
    border-bottom:#D5D7D3 solid 1px;
}
.news-list tr td{
    white-space:nowrap;
    vertical-align:middle;
    line-height:1.5;
    padding:30px 35px 30px 10px;
    box-sizing:border-box;
}
.news-list tr td:not(:last-child){
    width: 1px;
}
.news-list tr td:last-child{
    max-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
}
.news-list td a{
    color:rgba(0,0,0,1);
    font-weight:700;
    box-sizing:border-box;
    transition: all 0.3s;
}
.news-list td a:hover{
    color:rgba(150,150,150,1);
}
.news-list .data{
    text-align:left;
    display:inline-block;
    color:#999;
    padding:0;
}
.news-list > span,
.data,
.news-category{
    display:inline-block;
    padding:0;
}
.news-list .news-category{
    max-width:250px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.news-list .news-category,
.news-list .news-category a{
    color:#4579C1;
    transition: all 0.3s;
}
.news-list .news-category a:hover{
    color:rgba(69,121,193,0.5);
}
.news-list-title{
    display:inline;
    max-width: 100%;
    font-weight:700;
    text-align:left;
}
.empty-post{
    width:100%;
}
.front-page .news-list{
    max-width:866px;
    margin:0 auto;
}
.front-page .news-list tr td{
    padding:20px 35px 20px 8px;   
}
.front-news-wrap .news-list .data{
    color:#333;
}

.pickup-section{
    position:relative;
    z-index:3;
    overflow:hidden;
    padding-bottom:160px;
    margin-bottom:-100px;
}
.pickup-section::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #fff;
    -webkit-transform: skewY(10deg) translateY(-180px);
	   -moz-transform: skewY(10deg) translateY(-180px);
	    -ms-transform: skewY(10deg) translateY(-180px);
	     -o-transform: skewY(10deg) translateY(-180px);
    transform: skewY(10deg) translateY(-180px);
    z-index: -1;
}
.picup-title{
    color:#4579C1;
}
.pickup-catch{
    font-size:2.375rem/*38px*/;
    letter-spacing:0.2em;
    font-weight:900;
    margin-bottom:20px;
}
.pickup-second-block{
    display:flex;
    justify-content: center;
    align-items: center;
    margin-bottom:30px;
}
.pickup-second-block .inner{
    max-width:866px;
    width:100%;
}
.pickup-text{
    font-size:1rem;
    font-weight:700;
    line-height:2;
}
.pickup-tertiary-block{
    display:flex;
    max-width:866px;
    width:100%;
    margin:auto;
    justify-content: flex-end;
}
.sns_line_bn a{
    position: relative;
    display:inline-flex;
    font-size:31px;
    font-weight:900;
    line-height:1;
    color:#fff;
    padding:20px 30px;
    justify-content: center;
    align-items: center;
    background:#50D787;
    word-break: break-all;
    text-decoration: none;
    outline: none;
    overflow: hidden;
}
.sns_line_bn a::before {
    content: '';
    /*絶対配置でキラッと光るの位置を決める*/
    position: absolute;
    top: 0;
    left: -75%;
    /*キラッと光る形状*/
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    transform: skewX(-25deg);
}
.sns_line_bn a:hover::before {
    animation: shine 0.8s;
}
@keyframes shine {
100% {
    left: 125%;
}
}
.sns_line_bn a svg{
    flex-shrink: 0;
    display:inline-block;
    width:78px;
    margin-right:5px;
}
.sns_line_bn a:hover{
    color:#fff;
}
.keyword-block{
    padding:0 30px;
    margin-bottom:-70px;
}
.keyword-block .content-inner{
    padding:0 15px;
}
.solution-section{
    padding-top:200px;
    padding-bottom:60px;
    margin-bottom:-1px;
    position:relative;
    z-index:3;
    overflow:hidden;
}
.solution-section::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background:rgba(69,121,193,.7);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    will-change: filter;
    -webkit-transform: skewY(-10deg) translateY(180px);
    -moz-transform: skewY(-10deg) translateY(180px);
     -ms-transform: skewY(-10deg) translateY(180px);
      -o-transform: skewY(-10deg) translateY(180px);
    transform: skewY(-10deg) translateY(180px);
    z-index: -1;
}
.solution-header{
    display:flex;
    justify-content: flex-end;
    margin-bottom:10%;
}
.solution-title{
    max-width:535px;
    text-align:left;
    font-size:1.25rem/*20px*/;
    float:right;
    clear: both;
    color:#fff;
}
.balloon{
    font-size:0.875rem;
    max-width:880px;
    position:relative;
    clear: both;
    margin:0 auto 90px auto;
}
.balloon .strong-yel{
    font-size:1.286em;
}
.balloon:before{
    position:absolute;
    content:"";
    width:242px;
    height:242px;
    right:0;
    bottom:0;
    background-image:url("../img/question-image.png");
    background-size:cover;
    background-repeat: no-repeat;
}
.balloon li{
    position:relative;
    display:inline-block;
    max-width:630px;
    padding:15px 70px; 
    color:#000;
    font-weight:700;
    letter-spacing:0.1rem;
    background:#fff;
    margin-right:250px;
}
@media screen and (max-width: 900px) {
    .balloon li{
        padding:15px 30px; 
    }
}
.balloon li:nth-child(n+2){
    margin-top:8%;
}
.balloon li::after{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -14px;
    top: calc(50% - 15px);
    border-left: 15px solid #fff;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}
.solution-catch{
    position:relative;
    max-width:880px;
    font-size:1.563rem/*25px*/;
    color:#FCB500;
    font-weight:900;
    text-align:center;
    letter-spacing:0.3rem;
	line-height:1.7;
    padding:20px 25px 30px;
    margin:90px auto 0 auto;
    border-right:1px solid #fff;
    border-left:1px solid #fff;
    border-bottom:1px solid #fff;
    box-sizing: border-box;
}
.solution-catch:before{
    position:absolute;
    top:-60px;
    left:0;
    content:"";
    display:block;
    width:100%;
    height:60px;
    background-image:url("../img/solution-catch-topline.svg");
    background-size:contain;
    background-repeat: repeat-x;
    background-position: bottom;
}

.solution-catch > .stc-text{
    display:inline-block;
}
.solution-catch > .stc-logo{
    position:relative;
	text-align:center;
    padding:25px 5px 5px;
    display:inline-block;
    text-align:center;
    margin-left:10px;
    margin-right:10px;
}
.solution-catch .stc-logo img{
	padding:5px;
	background:#fff;
}
.solution-catch .stc-logo sup{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    font-size:19px;
    color:#fff;
    text-align:center;
    line-height:1;
}
.merit-section{
    background-image:url("../img/merit-bg.jpg");
    background-size:cover;
    background-repeat: no-repeat;
    overflow:hidden;
    color:#fff;
}
.merit-wrap{
    max-width:1200px;
    padding:10% 1rem 0 1rem;
    margin:0 auto;
}
.merit-head{
    display:flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom:5%;
}
.merit-title{
    color:#fff;
    width:320px;
    margin-bottom:2%;
}
.merit-sub-title{
    font-size:1.563rem;
    font-size:clamp(1rem , 2vw , 1.563rem/*25px*/);
    font-weight:700;
    letter-spacing:0.2rem;
    margin-right:15px;
    margin-bottom:2%;
}

.cp_tab {
	position: relative;
    width:100%;
    display:flex;
    justify-content: flex-end;
    align-items: stretch;
}
.cp_tab input[type='radio'] {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	outline: none;
	background: none;
	-webkit-appearance: none;
	        appearance: none;
	display: none;
}
.cp_tab .cp_tabpanel {
	display: none;
}
.cp_tab > input:first-child:checked ~ .cp_tabpanels > .cp_tabpanel:first-child,
.cp_tab > input:nth-child(3):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(2),
.cp_tab > input:nth-child(5):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(3),
.cp_tab > input:nth-child(7):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(4),
.cp_tab > input:nth-child(9):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(5),
.cp_tab > input:nth-child(11):checked ~ .cp_tabpanels > .cp_tabpanel:nth-child(6) {
	display: block;
}
.cp_tab > input + label {
    position: absolute;
    width:45%;
    max-height:20%;
    font-size:1.25rem;
    font-size:clamp(0.875rem, 2vw , 1.25rem);
    font-weight:700;
	cursor: pointer;
    left:0;
}
.cp_tab > input + label span{
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
}
.cp_tab > input{
    display:block;
}
.cp_tab > label{
    display:flex;
    align-items: center;
    justify-content: space-between;
}
.tab2_1{
    top:10%;
}
.tab2_2{
    top:30%;
}
.tab2_3{
    top:50%;
}
.tab2_4{
    top:70%;
}

.cp_tab > label > span{
    display:inline-block;
    width:80%;
}
.cp_tab > label::before{
    content:"";
    display:inline-block;
    color:#1E4B65;
    width:82px;
    height:82px;
    margin-right:4%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    vertical-align: middle;
}
.cp_tab > .tab2_1::before {
    background-image:url("../img/number01-white.svg");
}
.cp_tab > input:checked + .tab2_1::before {
    background-image:url("../img/number01-green.svg");
}
.cp_tab > .tab2_2::before {
    background-image:url("../img/number02-white.svg");
}
.cp_tab > input:checked + .tab2_2::before {
    background-image:url("../img/number02-green.svg");
}
.cp_tab > .tab2_3::before {
    background-image:url("../img/number03-white.svg");
}
.cp_tab > input:checked + .tab2_3::before {
    background-image:url("../img/number03-green.svg");
}
.cp_tab > .tab2_4::before {
    background-image:url("../img/number04-white.svg");
}
.cp_tab > input:checked + .tab2_4::before {
    background-image:url("../img/number04-green.svg");
}
.cp_tab > label:hover,
.cp_tab > input:focus + label {
	color: #1E4B65;
}
/*三角マーク*/
.cp_tab > label::after {
    content:"";
    height: 38px;
    border-style: solid;
    border-width: 40px 30px 40px 0;
    border-color: transparent transparent transparent transparent;
    transition: all 0.5s;
    transform: translateX(100%);
    box-sizing:border-box;
}
.cp_tab > input:checked + label::after {
    border-color: transparent #1e4b65 transparent transparent;
    transform: translateX(0%);
}
.cp_tab .cp_tabpanels {
    position:relative;
    width:55%;
    min-height:780px;
    height:100%;
    color:#fff;
    padding: 55px 0 180px 80px;
    margin-left:auto;
    display: block;
    background:#1E4B65;
    z-index:5;
}
.cp_tab .cp_tabpanels::before {
    content:"";
    position:absolute;
    z-index:-1;
    left:0;
    top:0;
    background:#1E4B65;
    width:70vw;
    height:100%;
}
.cp_tab .cp_tabpanel {
    max-width:580px;
	min-height: 320px;
}
.panel_title{
    position:relative;
    padding-left:5.625rem;
}
.panel_title::before{
    position:absolute;
    content:"";
    display:block;
    width:60px;
    aspect-ratio: 1 / 1;
    top:calc(50% - 30px);
    left:0;
    margin-right:4%;
    background-repeat: no-repeat;
    background-position:center center;
}
.panel_title_1::before{
    background-image:url("../img/num-wh-01.svg");
}
.panel_title_2::before{
    background-image:url("../img/num-wh-02.svg");
}
.panel_title_3::before{
    background-image:url("../img/num-wh-03.svg");
}
.panel_title_4::before{
    background-image:url("../img/num-wh-04.svg");
}
.panel_title::after{
    content:"";
    display:block;
    position:absolute;
    width:25px;
    height:2px;
    left:-40px;
    top:50%;
    background:#fff;
}
.cp_tabpanel > .panel_title{
    font-size:1.25rem;
    font-size:clamp(0.875rem, 2vw , 1.25rem);
    font-weight:700;
    margin-bottom:8%;
}
.cp_tabpanel > p{
    font-size:0.875rem/*14px*/;
    line-height:2;
    margin-bottom:8%;
}
.cp_tabpanel img{
    border-radius: 12px;
}
.jobtype-section{
    display: flex;
	justify-content: center;
	align-items: center;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.top-page .jobtype-section{
    margin-left:auto;
    margin-right:auto;
}
.jobtype-section .wide-inner{
    position:relative;
    white-space: nowrap;
	z-index: 1;
}
.front-page .jobtype-section{
    padding-top:60px;
}
.jobtype-title{
    color:#4579C1;
    text-align:center;
    margin-bottom:3%;
}
.job-list{
    display:flex;
    flex-wrap: wrap;
    justify-content:center;
    align-content: center;
    gap:20px;
    padding:5px 10px;
    margin-bottom:5%;
}
.job-item{
    display:flex;
    justify-content: center;
    flex-direction: column;
    align-content: center;
    max-width:170px;
    width:100%;
    height:auto;
	aspect-ratio: 1 / 1;
    font-size:1rem;
    text-align:center;
    font-weight:500;
    padding:0px;
    background:#fff;
    box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.16);
    box-sizing:border-box;
    transition: transform .3s ease; /* ゆっくり変化させる */
}
.job-item:hover{
    transform: scale(1.1); /* 拡大 */
}
.job-item .job-icon{
	width:100%;
	aspect-ratio: 3 / 2;
	display:flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.job-item .job-title{
    word-break: break-all;
}
/*事例紹介セクション*/
.front-page .case-section{
    padding-top:30px;
}
.case-title{
    text-align:center;
}
.case-list{
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom:3%;
}
.case-item{
    width:calc( 100% / 3 );
    padding:0;
}
@media only screen and (max-width: 800px) {
    .case-item{
        width:50%;
        padding:0;
    }
    
}
.case-item a{
    display:block;
    color:#333;
    padding:15px 15px 30px 15px;
}
.case-list .case-item a:hover{
    color:inherit;
    background:rgba(60,103,162,0.1);
}
.case-list .case-item a:hover .case-post-thumbnail img{
    transform:scale(1.2);
}
.case-list-wh .case-item a{
    /*index用（青色背景）*/
    color:#fff;
}
.case-list-wh .case-item a:hover{
    /*index用（青色背景）*/
    background:rgba(255,255,255,0.1);
}
.case-post-thumbnail{
    background-size: cover;
    background-position: center center;
    width: 100%;
    aspect-ratio: 4 / 3;
    background:#ccc;
    overflow:hidden;
}
.case-post-thumbnail > img{
    object-fit: cover;
    width: 100%;
    height: 100%;
    background-color: #ccc;
    transition:transform 0.3s;
}
.case-post-heading{
    font-size:1.25rem /*20px*/;
    font-weight:900;
    padding:10px 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.case-post-description{
    font-size:0.875rem/*14px*/;
    font-weight:500;
    line-height:2;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
/*会員登録セクション*/
.members-section{
    text-align:center;
    padding-top:45px;
}
.members-title{
    color:#4579C1;
}
.members-catch{
    display:inline-block;
    font-size:35px;
    font-weight:900;
    letter-spacing:0.1rem;
    line-height:1;
    word-break: break-all;
    padding-bottom:5px;
    margin-bottom:3%;
    border-bottom:26px solid #FCB500;
}
.members-catch > span{
    font-size:2em;
    color:#4579C1;
    font-weight:700;
}
.members-text{
    font-weight:500;
    margin-bottom:3%;
    line-height:2;
}
/*お問い合わせセクション*/
.cantact-section{
    text-align:center;
    padding-top:45px;
}
.card-wrap{
    display:flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin-bottom:30px;
}
.card-box{
    width:49%;
    color:#333;
    font-weight:700;
    text-align:center;
    padding:5% 5% 4% 5%;
    background:#fff;
    box-sizing:border-box;
}
@media screen and (max-width: 780px) {
    .card-box{
        width:100%;
        margin-bottom:15px;
}    
}
.card-title{
    font-size:1.25rem/*20px*/;
    font-weight:700;
    margin-bottom:1em;
}
.card-box p{
    margin:4% 0;
}
.card-box .btn{
    min-width:325px;
}
.contact-tel{
    display:flex;
    justify-content: center;
    align-items: center;
    font-size:3.125rem;
    font-size:clamp(2rem, 4vw ,3.125rem/*50px*/);
    font-weight:900;
    margin-bottom:5%;
    line-height:1.5;
}
.contact-tel:before{
    content:"";
    display:inline-block;
    width:45px;
    height:45px;
    background-image:url("../img/icon-tel.svg");
    background-size: contain;
    background-repeat: no-repeat;
    margin-top:2%;
    margin-right:15px;
}
/*contact tel pc無効処理*/
a[href^="tel:"] {
    color:#333;
    pointer-events: none;
    }
/*----------------------ここまでフロントページ---------------------*/
/*==================================================
フッター
==================================================*/
.footer{
    text-align:center;
    background:#fff;
}
.footer-inner{
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}
.footer-top{
    text-align:center;
    padding:5% 3%;
}
.ft-site-description{
    font-weight:700;
    margin-bottom:1rem;
}
/*
.ft-logo{
}
.ft-nav{
}
*/
.ft-menu{
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
    border-top:1px solid #ECE8F0;
    font-weight:700;
    padding:30px;
}
.ft-menu > li{
    word-break: break-all;
    border-left:1px solid #ECE8F0;
    margin:15px 0;
}
.ft-menu > li:first-child{
    border-left:none;
}
.ft-menu > li > a{
    color:#333333;
    display:inline-block;
    padding:0 30px;
    transition: all .3s ease-out;
}
.ft-menu a:hover{
    color:#4579C1;
}
.copyright{
    font-weight:bold;
    color:#fff;
    padding:1.5em;
    background:#4579C1;
}
/*----------------------ここまでフッターページ---------------------*/


/*----------------------ここからセカンダリページ---------------------*/
/*サブページ共通*/
.single-page{
    max-width:1080px;
    margin:0 auto;
}

.page-head{
    font-size:1.875rem/*30px*/;
    font-weight:bold;
    color:#4579C1;
    padding:4%;
    background:rgba(69,121,193,0.26);
}

.page-title,
.page-title > svg{
    max-width:1080px;
    margin:0 auto;
    font-size:5.313rem/*85px*/;
    font-weight:700;
    text-transform: uppercase;
}
.page-title > span,
.page-title > div{
    font-size:1.875rem/*30px*/;
}
.breadcrumbs {
    color:#fff;
    background:#3C67A2;
    padding: 0.5em 15px 0.6em 15px;
    line-height: 1.3;
    vertical-align:baseline;
}
.breadcrumbs ul {
    max-width:1080px;
    margin:0 auto;
}
.breadcrumbs ul > li {
    color: #fff;
    font-size: 0.813em/*13px*/;
    font-weight:700;
    position: relative;
    vertical-align: middle;
    display: inline;
}

.breadcrumbs ul > li a {
    color: #fff;
}
.breadcrumbs ul > li a:hover {
    color:inherit;
    text-decoration:underline;
}
@media only screen and (min-width: 641px) {
.breadcrumbs ul > li a a:hover {
    text-decoration: underline;
}
}
.breadcrumbs ul > li:nth-child(n+2)::before {
    display: inline-block;
    content:">";
    margin: 0 4px;
}
.content-foot{
    /*コンテンツ下部の下線有りブロック*/
    border-top:1px solid #D5D7D3;
    padding:4%;
    margin-top:4%;
}
/*会社概要ページ　conpany*/
.greeting-section{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom:5%;
}

.greeting-intro{
    padding-right:1em;
}
.heading-sup01,
.heading-sup02{
    display:block;
    position:relative;
    padding-top:1rem;
    padding-bottom:0.8rem;
    margin-bottom:0.8rem;
    color:#4579C1;
    font-size:1rem;
    line-height:1;
}
.heading-sup01{
    text-align:left;
}
.heading-sup02{
    text-align:center;
}
.heading-sup01::after,
.heading-sup02::after{
    content:"";
    display:block;
    position:absolute;
    width:40px;
    height:3px;
    background:#3C67A2;
}
.heading-sup01::after{
    left:0;
    bottom:0;
}
.heading-sup02::after{
    left:calc(50% - 20px);
    bottom:0;
}
.sub-heading02{
    font-size:1.875rem;
    font-size:clamp(1.5rem, 3vw ,1.875rem);
    font-weight:700;
    line-height:1.433;
    margin-bottom:1em;
}

.sub-heading01{
    font-size:2.25rem;
    font-weight:700;
    line-height:1.5;
    text-align:center;
    padding-top:1rem;
    padding-bottom:1rem;
    margin-bottom:1rem;
    display:block;
    position:relative;
}
.sub-heading01::after{
    display:inline-block;
    content:"";
    width:40px;
    height:3px;
    background:#3C67A2;
    position:absolute;
    left:calc(50% - 20px);
    bottom:0;
}
.sub-heading03{
    font-size:1.375em/*22px*/;
    font-weight:700;
    margin-top:1.5em;
    margin-bottom:1em;
}
.table01,
.single-post table{
    width:100%;
    font-size:1rem;
    margin-bottom:40px;
}
.table01 th,
.table01 td,
.single-post table th,
.single-post table td{
    padding:2em 3em;
    line-height:1.75;
    vertical-align: middle;
}
.table01 th,
.single-post table th{
    width:288px;
    font-weight:700;
    color:#0E305E;
    background-color: #E1ECFB;
    border-bottom:1px solid #fff;
    box-sizing:border-box;
    overflow:hidden;
}
.table01 td,
.single-post table td{
    padding-left:7%;
    border-bottom:1px solid #E1ECFB;
}
.table01 dl dd{
    margin-bottom:0.5em;
}
.tel-list dd{
	display:inline-block;
    margin-right:1rem;
}
/*google map　グーグルマップ　レスポンシブ*/
.gmap {
    width:100%;
    overflow: hidden;
	aspect-ratio: 4 / 3;
}
.gmap iframe {
    height: 100%;
    width: 100%;
}
.main-map .gmap{
	aspect-ratio: 5 / 2;
}
.secondary-maps{
    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.map-item{
    width:48%;
    box-sizing:border-box;
}

.list-stle01{
    counter-reset: my-counter;
    list-style: none;
    font-size:1rem;
    font-weight:500;
    line-height:1.5;
    padding: 0;
    margin: 0;
}
.list-stle01 > li{
    font-weight:500;
    padding-top:1rem;
    padding-bottom:1rem;
    border-bottom:1px solid #CCCCCC;
    text-indent: -1em;
    padding-left: 2em;
}

.list-stle01 > li::before{
    content: counter(my-counter)")";
    counter-increment: my-counter;
    display:inline-block;
    margin-right:0.5rem;   
}
.list-stle01 > li > p{
    font-size:0.875em/*14px*/;
    font-weight:normal;
    color:#666;
    padding-top:0.5em;
    padding-left:1em;
    line-height:2;
}
.default-cursor,
.default-cursor:hover{
    cursor:default;
}
/*---------FLOW / PRICEページ-----------*/
.flow-page{
    padding-bottom:100px;
}
.flow-list{
    position:relative;
}
.flow-list::before{
    content:""; 
    width:2px;
    height:80%;
    position:absolute;
    left:53px;
    top:10%;
    background:#4579C1;
    z-index:-1;
}
.flow-list > li{
    display:flex;
    align-items: flex-end;
    position:relative;
    padding:30px 0 30px 120px;
    align-items: center;
}
.flow-list > li:nth-child(n+2){
    background: radial-gradient(circle farthest-side, #9BB7D5, #9BB7D5 0px, transparent 2px, transparent);
    background-size: 5px 2px;
    background-repeat: repeat-x;
}

.flow-list li::before{
    content:"";
    position:absolute;
    text-align:center;
    display:flex;
    justify-content: center;
    align-items: center;
    width:106px;
    height:106px;
    left:0;
    top:calc(50% - 53px);
    border-radius:50%;
    background-color:#4579C1;
    background-size:cover;
    background-repeat: no-repeat;
}
.flow-list .flow-icon01::before{
    background-image:url("../img/icon-document.svg");
}
.flow-list .flow-icon02::before{
    background-image:url("../img/icon-recruit.svg");
}
.flow-list .flow-icon03::before{
    background-image:url("../img/icon-recruitment.svg");
}
.flow-list .flow-icon04::before{
    background-image:url("../img/icon-selection.svg");
}
.flow-list .flow-icon05::before{
    background-image:url("../img/icon-offer.svg");
}
.flow-list .flow-heading,
.flow-list .flow-text{
    vertical-align:middle;
}
.flow-list .flow-heading{
    width:25%;
    min-width:230px;
    padding:15px;
    position:relative;
}
.flow-list .flow-heading > h3{
    font-size:1.625rem/*26px*/;
    font-weight:900;
    word-break:break-all;
}
.mini-text{
    font-size:0.875rem/*14px*/;
    font-weight:700;
    color:#3C67A2;
}
.flow-list .flow-text{
    width:auto;
    font-weight:500;
    line-height:2;
    padding:10px;
}

.price-section{
    color:#fff;
    text-align:center;
    background:rgba(69,121,193,0.76);
    margin-top:60px;
}
.price-wrap{
    display:flex;
    justify-content: space-between;
    gap:15px;
    margin-bottom:5%;
}
.price-box{
    width:48%;
    font-weight:500;
    line-height:2;
    background:#fff;
    color:#333;
    padding:2rem 1rem;
    border-radius:16px;
}
@media screen and (max-width:900px){
    .price-wrap{
        flex-direction: column;
    }
    .price-box{
        width:100%;
    }
}
.price-box-heading{
    font-size:2.063rem/*33px*/;
    font-weight:900;
    line-height:1.5;
    letter-spacing: 0.2em;
    text-align:center;
    padding-top:1rem;
    padding-bottom:1rem;
    margin-bottom:1rem;
    display:block;
    position:relative;
}
.price-box-heading::after{
    display:inline-block;
    content:"";
    width:40px;
    height:3px;
    background:#3C67A2;
    position:absolute;
    left:calc(50% - 20px);
    bottom:0;
}
.price-box-top{
    padding:0 3%;
    margin-bottom:3%;
}

.price-point{
    position:relative;
    display:flex;
    word-break:break-all;
    justify-content: center;
    align-items: flex-end;
    font-size:25px;
    font-weight:900;
    letter-spacing:0.15em;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:15px;
    vertical-align: bottom;
    line-height:1;
}
.price-point > div:last-child{
    display:flex;
    align-items: flex-end;
    white-space: nowrap;
    text-align:right;
}
.price-point .price-bal{
    position:relative;
    display:flex;
    gap:15px;
    text-align:left;
    padding-bottom:15px;
}
.price-point .price-bal span{
    position:relative;
    display:inline-block;
    /*top:30px;*/
    font-size:15px;
    font-weight:bold;
    text-align:center;
    letter-spacing: 0.1em;
    color:#fff;
    padding:10px;
    background: rgb(220,110,0);
    background: linear-gradient(0deg, rgba(220,110,0,1) 0%, rgba(252,181,0,1) 100%);
}
.price-point .price-bal span{
    display:inline-block;
}
.price-point .price-bal span::after{
    content:"";
    position:absolute;
    left:calc(50% - 7px);
    bottom:-10px;
    width: 0;
    height: 0;
    border-style: solid;
}
.price-point .price-bal span::after{
    border-width: 0 14px 11px 0;
    border-color: transparent rgb(220,110,0) transparent transparent;
}

.price-point .price-bal span:nth-child(2)::after{
    border-width: 11px 14px 0 0;
    border-color: rgb(220,110,0) transparent transparent transparent;
}
.price-point > div{
    display:inline-block;
}
.price-point .asta{
    display:inline-block;
    font-size:14px;
    color:#D11F1F;
    vertical-align: top;
    transform: translateY(-7px);
}
.price-point b{
    flex:1;
    font-size:113px;
    font-weight:900;
    color:#D11F1F;
    letter-spacing:1px;
    padding-left:10px;
}
.price-point small{
font-size:20px;
}
.price-box-top aside{
    font-size:0.875rem/*14px*/;
    color:#666;
}
.price-box-bottom{
    font-weight:500;
    text-align:left;
    padding:3%;
    border-top:1px solid #CCCCCC;
}
.price-box .price-box-bottom h4{
    font-size:1.25em /*20px*/;
    font-weight:900;
    color:#3C67A2;
}
.after-hiring-list{
    font-size:0.938em /*15px*/;
    width:100%;
}
.after-hiring-list > li{
    font-weight:500;
    text-align:left;
    padding:0.5rem 1rem;
    display:flex;
    border-bottom:1px solid #CCCCCC;
    overflow:hidden;
}
.after-hiring-ttl{
    margin-right:auto;
}
.after-hiring-list .refund-text{
    font-weight:900;
    text-align:right;
    color:#FCB500;
}
.emphasis-foot{
    font-size:2rem/*32px*/;
    font-weight:900;
}
/*----------FAQページ------------*/
/*アコーディオンリスト*/
.acd-toggle {
	display: none;
}
.acd-Label {		/*タイトル*/
    font-size:1.375rem/*22px*/;
    font-weight:700;
    padding: 1em 45px 1em 75px;
	display: block;
    border-bottom:1px solid #ccc;
    position:relative;
}
.acd-Label:hover{
    cursor: pointer;
}
.acd-Label::before,
.acd-content > p::before{
    content:"";
	display:block;
	position:absolute;
	width:45px;
	height:45px;
	left:15px;
	background-size:cover;
	background-repeat: no-repeat;
}
.acd-Label::before{
    top:calc(50% - 22.5px);
    background-image:url("../img/icon-question.svg");
}
.acd-Label::after{		/*タイトル横の矢印*/
	content:"";
	width: 10px;
	aspect-ratio: 1 / 1;
    display:block;
	border-top: 3px solid #333;
	border-right: 3px solid #333;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 5px );
	right: 20px;
	transform: rotate(135deg);
    transition: all 0.5s ease;
}
.acd-Label,
.acd-content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.4s ease;
}
.acd-content{
    padding: 0 15px;
	overflow: hidden;
    transition:padding .5s ease-out;
}
.acd-content > p {		/*本文*/
    padding-left:60px;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    line-height: 0;
    opacity: 0;
    transition:
    height .3s ease-out,
    line-height .3s ease-out,
    opacity     .1s linear,
    visibility  .1s linear;
}

.acd-toggle:checked + .acd-Label + .acd-content{
    padding: 15px;
}
.acd-toggle:checked + .acd-Label + .acd-content > p  {
	height: auto;
    visibility: visible;
    line-height: 2;
    opacity: 1;
    transition:
    line-height .3s ease-out,
    opacity     .1s linear .1s,
    visibility  .1s linear .1s;
}
.acd-toggle:checked + .acd-Label::after {
	transform: rotate(-45deg) !important;
}
.acd-content >p::before{
    background-image:url("../img/icon-answer.svg");
    top:25px;
    height:0;
    opacity:0;
    transition:
    height .3s ease-out,
    opacity .3s ease-out;
}
.acd-toggle:checked + .acd-Label + .acd-content > p::before  {
    height:45px;
    opacity:1;
}
.acd-content > p{
    font-weight:500;
    line-height:2.25;
    padding-left:60px;
    text-align: justify;
    text-align-last: left;
}
/*end FAQページ*/

/*ここから採用ページ　RECRUIT*/
.recruit-page{
    max-width:100%;
    padding-bottom:60px;
}
.message-section{
    margin-left: calc(50% - 50vw) ;
    margin-right: calc(50% - 50vw) ;
    margin-top:-60px;
    width:100vw;
    text-align:center;
}
.message-section .inner{
    max-width:1200px;
    margin-right:auto;
    margin-left:auto;
    padding:60px 15px 0;
    background-image:url("../img/bg-message.png");
    background-size:contain;
    background-repeat: no-repeat;
    background-position:center center; 
}
.message-catch{
    font-size:1.688rem/*27px*/;
    font-weight:900;
    line-height:1.852;
    margin-bottom:2%;
    text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
    -1px 1px 0 #FFF, 1px -1px 0 #FFF,
    0px 1px 0 #FFF,  0-1px 0 #FFF,
    -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.message-info{
    font-weight:500;
    line-height:2.25;
    text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
    -1px 1px 0 #FFF, 1px -1px 0 #FFF,
    0px 1px 0 #FFF,  0-1px 0 #FFF,
    -1px 0 0 #FFF, 1px 0 0 #FFF;
}
/*　end　採用ページ　RECRUIT*/

/*ここから事例紹介 事例一覧ページ　CASE*/
.case-intro{
    text-align:center;
    margin-bottom:4%;
}
.pager,
.pager > div{
    font-size:1rem;
    font-weight:500;
    display:flex;
    gap:15px;
    justify-content: center;
    color:#4579C1;
    overflow-x: auto;
}
.pager a,
.pager span,
.pager .current{
    display: inline-flex;
    gap:15px;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    text-align:center;
    text-decoration: none;
    padding:0;
    margin:0;
    min-width:36px;
    aspect-ratio: 1 / 1;
    line-height:36px;
    letter-spacing:0px;
    border:1px solid #4579C1;
    border-radius:4px;
    box-sizing:border-box;
    overflow:hidden;
    transition: all .3s ease-out;
}
.pager a{
    color:#4579C1;
    background:#fff;
}
.pager span,
.pager .current{
    color:#fff;
    background:#4579C1;
}
.pager a:hover,
.pager > a.page-current,
.pager .page-current{
    color:#fff!important;
    background:#4579C1;
}
.pager .prev,
.nav-next{
    position:relative;
}
/* end 事例紹介ページ　CASE*/


/* ここから投稿（POST）共通テンプレ　*/
.topics-post-contents{/*お知らせページ投稿幅*/
    max-width:860px;
    margin:0 auto;
}
.single-post{
    padding-bottom:5%;
    margin-bottom:5%;
    border-bottom:1px solid #D5D7D3;
}
    
.single-post p{
    line-height:2.25;
    padding:5px;
    margin-bottom:1em;
}
.post-title,
.single-post h1{
    font-size:2rem;
    font-size: clamp(1.625rem, 3vw , 2rem/*32px*/);
    font-weight:700;
    padding:0 10px;
    margin-bottom:1rem;
}
.single-post h2{
    font-size: 2rem/*32px*/;
    color:#fff;
    font-weight:700;
    padding:5px 15px;
    margin-bottom:3%;
    background:#4579C1;
}
.single-post h3{
font-size:1.625rem/*26px*/;
font-weight:700;
padding:5px 10px;
margin-bottom:3%;
border-bottom:2px solid #4579C1;
}
.single-post h4{
    font-size:1.25rem/*20px*/;
    font-weight:bold;
    position:relative;
    padding:5px 10px 5px 15px;
    margin-bottom:3%;
}
.single-post h4:before{
    content:"";
    display:inline-block;
    position:absolute;
    left:0;
    top:0;
    width:5px;
    height:100%;
    background:#4579C1;
}
.single-post h5{
    color:#4579C1;
    font-size:1.125rem/*18px*/;
    font-weight:bold;
    padding:5px;
    margin-top:1em;
    margin-bottom:0.8em;
}
.single-post h6{
    font-size:1rem;
    font-weight: bold;
    padding:5px;
    margin-top:1em;
    margin-bottom:0.8em;
}

.single-post ul{
    padding:0;
    margin-top:3%;
    margin-bottom:3%;
}
.single-post ul li{
padding:1.5rem;
margin:0;
border-bottom:1px solid #CCCCCC;
}
.single-post ul li:first-child{
    border-top:1px solid #CCCCCC;
}

.single-post blockquote{
    font-size:1rem;
    line-height:1.75;
    background:#E1ECFB;
    position:relative;
    padding:5%;
}
.single-post blockquote::before,
.single-post blockquote::after{
    content:"";
    font-size:4.25rem/*68px*/;
    font-weight:bold;
    line-height:0;
    color:#3C67A2;
    position:absolute;
}

.single-post blockquote::before{
    content:"“";
    top:38px;
    left:10px;
}
.single-post blockquote::after{
    content:"”";
    bottom:10px;
    right:10px;
}
.single-post blockquote p{
    padding:0;
    margin:0 0 1em 0;
}
.single-post blockquote cite{
    font-size:0.875rem/*14px*/;
    color:#666666;
}


/*ここから事例　投稿ページ　CASE-post*/
.column-wrap{
    display:flex;
    justify-content: space-between;
}

/*サイドバーが入る時のメインブロック*/
.left_col{
    width:75%;
    margin-right:2rem;
}

.data,
ul.headline-data,
.headline-data{
    font-size:14px;
    color:#999;
    text-align:right;
    display:flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding:10px;
    margin-top:0;
    margin-bottom:3%;
}
.headline-data{
    border-top:1px solid #D5D7D3;
}

ul.headline-data li{
    display:inline-block;
    padding:0 !important;
    border: 0 !important;
}
.data > li:nth-child(2)::before,
.headline-data > li:nth-child(2)::before{
    content:"/";
    margin:0 0.5em;
}
.last-updated-date,
.entry-date{
display:inline-block;    
}
.eyechach{
margin-bottom:1em;
}
/*サイドバー関連*/
.side-col{
    width:250px;
}
.side-col img {
    height: auto;
    max-width: 100%;
}
.widget{
    margin-bottom:30px;
}
.widget-sidebar-title{
    color:#fff;
    font-weight:700;
    padding:1rem;
    margin-bottom:3%;
    background:#4579C1;
}
.wg-case-post-list{
margin-bottom:3%;
}
.wg-case-post-list > li{
    padding:15px 0;
    border-bottom:1px dashed #ccc;
}
.wg-case-post-list .post-item a{
    display:flex;
    color:#333;
    transition: all .3s ease-out;
}
.wg-case-post-list  .post-item a:hover{
    color:#4579C1;
    text-decoration:underline;
}
.wg-case-post-list .thumb-box{
    flex-basis:100px;
    width: 100px;
    height:65px;
    margin:0 1rem 0 0;
    overflow: hidden;
    border:none;
    text-align:center;
}
.thumb-box img,
.wg-case-post-list img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: #ccc;
    transition:all 0.2s;
}
.wg-case-post-list  a:hover .thumb-box img{
    transform:scale(1.1);
    transform-origin: 50% 50%;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}
.wg-case-post-list .post-list-title{
    flex: 1;
    font-size:0.875em;
    line-height:1.429;
    font-weight:700;
    margin-bottom:0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.widget-sidebar .archives-list{
    font-size:1rem;
    font-weight:700;
}
.widget-sidebar .archives-list > li{
    padding:15px 0;
    border-bottom:1px dashed #CCCCCC;
}

.widget-sidebar .archives-list > li a{
    display:block;
    color:#333;
    transition: all 0.4s ease;
}
.widget-sidebar .archives-list > li a:hover{
    color:#4579C1;
}
/*end　事例　投稿ページ　CASE*/

/*TOPPICS（新着情報）一覧*/
.arcive-select{
    display:flex;
    justify-content: space-between;
    gap:30px;
    margin-bottom:30px;
    word-break: break-all;
}
.arcive-select li{
    width:30%;
    font-size: 16px;
    color:#fff;
    text-align: center;
    font-weight: bold;
    line-height: 50px;
    background:#4579C1;
    border-bottom: 2px solid #4579C1;
    box-sizing: border-box;
}

.arcive-select li a{
    display:block;
    color:#4579C1;
    background:#fff;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}
.arcive-select li a:hover{
    cursor: pointer;
    color:#4579C1;
    transform: translateY(-3px);
}

/* TOPICS 投稿　個別ページ　*/
.news-post{
    max-width:860px;
    border-bottom:#D5D7D3 1px solid;
    margin-bottom:2%;
}
.category-text{
    color:#4579C1;
    font-weight:700;
    font-size:0.813rem;
}

/*お問い合わせ　CONTACT*/
.contact-wrap{
    margin-bottom:5%;
}
.contact-flow{
    width:400px;
    margin:0 auto 4% auto;
    display:flex;
    gap:10px;
    padding-top:60px;
    justify-content: space-between;
    position: relative;
    z-index:4;
    word-break: break-all;
}
.contact-flow::before{
    content:"";
    width:90%;
    height:2px;
    background: #CCCCCC;
    position: absolute;
    top:30px;
    left:5%;
    z-index:1;
}
.contact-flow > li{
    max-width:calc(100% / 3);
    font-weight:700;
    position:relative;
    text-align:center;
    line-height:1.3;
    z-index:3;
}
.contact-flow > li:first-child::before,
.contact-flow > li:last-child::before{
    content:"";
    width:50%;
    height:50px;
    background:#fff;
    position:absolute;
    top:-50px;
    z-index:-1;
}
.contact-flow > li:first-child::before{
    left:0;
}
.contact-flow > li:last-child::before{
    right:0;
}
.contact-flow > li::after{
    content:"";
    display:block;
    width:40px;
    height:40px;
    position:absolute;
    left:calc(50% - 20px);
    top:-50px;
    line-height:40px;
    text-align:center;
    color:#fff;
    background:#CCCCCC;
    border-radius:50%;
    z-index:3;
}
.contact-flow > li.place::after {
    background:#4579C1;
}
.contact-flow > li:first-child:after{
    content:url("../img/contact-flow01.svg");
}
.contact-flow > li:nth-child(2):after{
    content:url("../img/contact-flow02.svg");
}
.contact-flow > li:nth-child(3):after{
    content:url("../img/contact-flow03.svg");
}
.cform .check_close {
    display:none;
}
.cform th {
	padding-right:45px;
}
.cform td {
	line-height: 150%;
}
.cform label{
    display:inline-block;
    margin-right:0.8em;
    vertical-align: bottom;
}
input, select ,textarea{
    border:1px solid #aaa;
    border-radius: 4px;
}
.cform option,
.cform textarea,
.cform input[type=text],
.cform input[type=tel],
.cform input[type=email],
.cform input[type=search],
.cform input[type=url] {
	width: 100%;
    padding:5px;
}
.cform option:focus,
.cform textarea:focus,
.cform input[type=text]:focus,
.cform input[type=tel]:focus,
.cform input[type=email]:focus,
.cform input[type=search]:focus,
.cform input[type=url]:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(225, 236, 251) inset;
}
.cform input[type=submit],
.cform input[type=button],
button{
border:0;
}
.privacy-consent{
    text-align:center;
    margin-bottom:50px;
}
.confirmation-page .privacy-consent{
    display:none;
}
.cform .check{
    display:inline-block;
    color:#333;
    font-weight:bold;
    background:#eee;
    padding:1em 1.5em;
    margin:auto;
    border: none;
}
.required-srt{
    position:relative;
}
.required-srt::after {
    content:"必須";
    font-size: 0.75rem /*12px*/;
    font-weight:bold;
    line-height:1;
    width:40px;
    height:20px;
    position:absolute;
    top:calc(50% - 10px);
    right:10%;
    box-sizing:border-box;
	padding: 3px 8px;
    margin-left:1rem;
	color: #fff;
	background: #A32116;
	vertical-align: middle;
    display:inline-block;
    text-align:center;
}
@media only screen and (max-width:767px) {
	.cform th,
	.cform td {
		width: 100%;
		display: block;
		border-top: none;
	}
}
.submit-btn input {
	background: #00142c;
	width: 60%;
	max-width: 550px;
	min-width: 220px;
	margin: 30px auto;
	display: block;
	border: 1px #00142c solid;
	text-align: center;
	padding: 5px;
	color: #fff;
	transition: all 0.4s ease;
}
.submit-btn input:hover {
	background: #fff;
	color: #00142c;
}
.thanks-title{
    font-size:2.5em;
    font-weight:bold;
    line-height:1.5;
    margin-bottom:0.5em;
}
.thanks-title svg{
    margin-bottom:0.5em;
}
.thanks-text{
    font-weight:500;
    line-height:2.25;
}
/*mw_wp_form マージン調整*/
.mw_wp_form .horizontal-item + .horizontal-item{
    margin-left:0px!important;
}
/*privacy プライバシーポリシーページ*/
.privacy-box{
    background:#f4f4f4;
    padding:1rem;
}
/*言語切り替えプラグインGTranslate配置*/
.gtranslate_wrapper{
    height:100%;
    position:relative;
    top:10px;
    margin-right:30px;
}
.gt_float_switcher{
    box-shadow:none!important;
}