@charset "utf-8";
::-moz-selection {/*ハイライトカラー指定*/
    color:#fff;
    background:#4579C1;
}
::selection{/*ハイライトカラー指定*/
    color:#fff;
    background:#4579C1;
}
html{
	font-size: 14px;
}
body {
    font-size:1em;
	margin: 0 auto;
	padding: 0;
	line-height: 1.7;
	background: #fff;
	position: relative;
	color: #333;
	font-family: "Meiryo UI","メイリオ",Meiryo,"游ゴシック","Yu Gothic","游ゴシック体","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 400;
	text-align: left;
}
a {color: inherit;text-decoration: none;}

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タグのみ適用 */
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;
}
.sf{
    display:block;
}
.pc{
    display:none;    
}
.text-red{
    color:#CC0000;
}
.text-blue{
    color:#4579C1;
}
.btn-group{
    text-align:center;
}
.no-wrap{
    display: inline-block; /* インラインブロック化 */
}
.btn{
    font-size: 1rem;
    font-weight:900;
    color:#fff;
    text-align: center;
    line-height: 1.3;
    display:inline-block;
    min-width: 160px;
    padding:25px 30px;
    margin-right:auto;
    margin-left:auto;
    margin-bottom:15px;
    cursor: pointer;
    background:rgba(252,181,0,1);
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
    word-break: break-all;
    box-sizing:border-box;
}
@media only screen and (max-width:380px) {
    .btn{
        width:100%;
        min-width:initial;
        padding:20px 15px;
    }
}
.btn:hover{
    color:#fff;
    text-shadow: 0px 0px 20px rgba(255,255,255,0.5);
    cursor: pointer;
}
.btn-large{
    font-size:1.375rem;
    font-weight:700;
    letter-spacing:0.2rem;
    min-width: 334px;
}
@media only screen and (max-width:380px) {
    .btn-large{
        width:100%;
        letter-spacing:0.1rem;
        line-height:1.5;
        min-width: initial;
        min-height:initial;
        margin:0 auto 15px auto;
    }
}
.btn-arrow{
    min-width:325px;
    padding-left:40px;
    padding-right:40px;
    position: relative;
	text-decoration: none;
}
@media only screen and (max-width:380px) {
    .btn-arrow{
        min-width:initial;
        width:100%;
    }
}
.btn-arrow::before,
.btn-arrow::after{
    font-size: 0.938rem;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    transition: all 0.5s;
}
.btn-arrow::before{
    right: 20px;
    width: 13px;
    height: 3px;
    background: #fff;
}
.btn-arrow::after{
    right: 20px;
	width: 8px;
	height: 8px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.btn-arrow:hover::before,
.btn-arrow:hover::after{
    right:15px;
}
.btn-sign-up{
    display:flex;
    word-break: break-all;
    justify-content: center;
    align-items: center;
    font-weight:700;
	text-decoration: none;
    margin-left:auto;
    margin-right:auto;
    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;
}
@media only screen and (max-width:340px) {
    .btn-sign-up{
        padding:15px;
    }
}
.btn-sign-up:before{
    flex-shrink: 0;
    content:"";
    width:19px;
    height:19px;
    display:inline;
    background:url("../img/icon-sign_up.svg");
    background-size:100%;
    background-repeat: no-repeat;
    background-position:center center;
    margin-right:1rem;
    vertical-align: middle;
}
.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);
}
.underline-yel{
    background: linear-gradient(transparent 80%, #FCB500 20%);
}

.strong-yel{
    color:#FCB500;
    font-weight:700;
    font-size:1.25rem;
}
.link-img{
    display:inline-block;
}
.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);
}

/*==================================================
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{
	width:181px;
	text-align:center;
	padding:15px;
    margin-right:auto;
}
.hd-sign-up{
	width:0px;
	transform: translateX(100vw);
	background:#fff;
}

/*メニュー開閉で新規登録ボタンを読み込み*/
.sp-signup-active{
	width:100vw;
    height:70px;
	display:block;
	position:absolute;
	z-index:998;
    overflow:hidden;
    transform: translateX(0);
    transition: all .1s linear;
}

.hd-sign-up .btn-sign-up{
    display:flex;
    font-size:16px;
    font-weight:bold;
    text-align:left;
    color:#fff;
    min-width:164px;
    max-width:calc(100% - 110px);
    width:auto;
    height:70px;
    padding:15px;
    margin:0;
    letter-spacing:2px;
    overflow: hidden;
}
.hd-sign-up .btn-sign-up:before{
    width:20px;
    height:20px;
}

/*========= ナビゲーションのためのCSS ===============*/
.header-nav{
    background-color: #4579C1;
	color:white;
    min-width:70px;
    display:flex;
    justify-content: center;
    flex-direction: column;
}
.header-nav .menu-btn {
	position: relative;
    width:70px;
	height:70px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #4579C1;
	color:white;
    padding:10px;
    cursor: pointer;
	border: 0;
    overflow:hidden;
	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: 30px;
    border-radius: 3px;
    background-color: #fff;
    position:relative;
    transition: all 0.3s;/*アニメーション設定*/
}
.header-nav .menu-btn .burger_line{
    margin:12px auto 22px auto;
}
.menu-btn .menu-btn-title{
    display:block;
    font-size:1rem;
    font-weight:700;
}
.menu-btn .close-txt{
    display:none;
}
.header-nav .menu-btn .burger_line:before {
    bottom: 12px;
}
.header-nav .menu-btn .burger_line:after {
    top:10px;
}
.menu-active .menu-btn{
    flex-flow: column;
    width:70px;
    height:70px;
    z-index: 999;
}
.menu-active .menu-btn .menu-btn-title{
    display:none;
}
.menu-active .menu-btn .burger_line {
    display:block;
    width:30px;
    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);
}
.menu-active .menu-btn .close-txt{
    display:block;
}
/*-----ここまでハンバーガーボタン周り----------*/
.hd-nav-content {
    width: 100vw;
    height: 100vh;
    transition: all 0.5s;/*アニメーション設定*/
    position: fixed;
    top: 0;
    right: 0;
    z-index: 900;
    transform: translateX(100vw);
    transition: all .1s linear;
}
.menu-active .hd-nav-content{
    transform: translateX(0);
}
.hd-nav-left-box{
	display:none;
}
.hd-nav-logo{
	display: inline-block;	/*inline-blockにすることによって、text-alignの指定が効くようになります*/
	text-align:left;	/*BOX内のテキストを左寄せに戻します*/
}
.hd-nav-right-box{
	width:100%;
	height:100%;
    background-color: #4579C1;
    padding:100px 15px 15px 15px;
}
.hd-nav-box{
    display: flex;
	flex-direction: column;
	height: 100%;
    overflow:hidden;
}
.hd-nav-head{
    text-align:center;
    margin-bottom:5%;
}
.hd-nav-head > svg{
	display:inline-block;
	width:40%;
}
.hd-nav-list {
    display:flex;
    flex-wrap: wrap;
    flex-shrink: 1;
    overflow-x: auto;
    border-top:solid 1px #386BB1;
}
.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 {
    width:50%;
    font-size:1.375rem;
    letter-spacing: 0.2rem;
    border-bottom: solid 1px #386BB1;
    list-style: none;
}
.hd-nav-list li:nth-child(even){
    border-left: solid 1px #386BB1;
}
.hd-nav-list li a {
    display: block;
    width: 100%;
    font-size: calc(14px + 1vh);
    box-sizing: border-box;
    color:#fff;
    text-decoration: none;
    padding:25px 15px;
    position: relative;
    box-sizing:border-box;
}
.hd-nav-list li a:hover{
    background:rgba(255,255,255,.1);
}
/*--------------ここまでヘッダーメニュー-----------------*/
.wrap{
    width:100%;
    overflow: hidden;
}
main{
    width:100%;
    overflow: hidden;
}
/*==================================================
フロントページ
==================================================*/
/*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;
    /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
    /*background-attachment: fixed;*/
}
.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;
    padding:0 15px 70px 15px;
}

.primary-main-wrap{
    padding-bottom:0;
}
.primary-main{
    color:#fff;
	padding-top:10vh;
	margin-bottom:5vh;
}
.primary-main .svg-container svg{
    margin-left:-5px;
}
.primary-title{
    font-size:1.625rem;
    font-size:clamp(1.625em, 5vw, 2.813rem) ;
    letter-spacing:0.2rem;
    font-weight:bold;
    color:#fff;
    margin-bottom:10px;
    text-shadow: 0px 0px 14px rgba(0, 0, 0, 0.4);
}
.strong-points{
    display:flex;
    gap:2%;
}
.strong-point{
    position:relative;
    width:32%;
    height:100%;
    aspect-ratio:1 /1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap:8px;
    font-size:16px;
    font-weight:bold;
    letter-spacing:0.1em;
    line-height:1.3;
    color:#fff;
    text-align:center;
    word-break: break-all;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center center;
}
.strong-point svg{
    width:auto;
    height:25px;
    margin-left:-4px;
    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{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    width: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);
}

.sns-fix{
    position:fixed;
    left:24px;
    bottom:115px;
    z-index:100;
}
.is-hide{
    transform: translateX(100vw);
}
.sns-links li{
    width:60px;
    height:60px;
    padding:0;
    aspect-ratio: 1 / 1 ;
    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;
}
.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 svg::after{
    background:rgba(255,255,255,0.7);
}
.fb_dialog{
    z-index:500 !important;
}
.fb_dialog_content iframe{
    z-index:501 !important;
}
.primary-outer-link{
	text-align:left;
    display:flex;
    justify-content: flex-end;
    width: 100%;
    font-size:0.857rem/*12px*/;
    right:0;
    bottom:0;
    transform:translateX(15px);
}
.primary-outer-link .inner{
    display:inline-block;
    padding:25px 10px 25px 0;
    border-top:2px solid #fff;
    display:flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: left;
}
.primary-outer-link a{
    position: relative;
    color:#fff;
    display:flex;
    padding-left:35px;
    vertical-align: middle;
    align-items: center;
    justify-content: left;
    text-shadow: 0px 0px 3px rgba(0,0,0,0.5);
}
.primary-outer-link a:hover{
    color:#fff;
}
.primary-outer-link a:hover .inner{
    border-bottom:1px dotted rgba(255,255,255,0);
}

.primary-outer-link a span{
    margin-right:1rem;
}
.primary-outer-link a span svg{
    margin-left:0;
}
.primary-outer-link a::before{
    flex-shrink: 0;
    content:"";
    position:absolute;
    display: inline-block;
    background-image:url("../img/icon-arrow-or.svg");
    background-repeat:no-repeat;
    background-size:cover;
    top:calc(50% - 12px);
    left:0;
    width:24px;
    height:24px;
    margin-right:0.5rem;
}
.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::before{
    animation:3s linear infinite rotation-hover;
}
@keyframes rotation-hover{
    0%{ transform:rotate(0);}
    100%{ transform:rotate(360deg); }
}
.btn-down-scroll-outer:hover::before{
	animation-play-state: paused
}

/*============================
#main-contents
============================*/
.sub-page{
    overflow:hidden;/*はみ出しコンテンツ対策用*/
}
.content-inner,
.wide-inner{
    width:100%;
    padding:30px 15px;
    margin: 0 auto;
}

/*concept-section*/
.concept-section{
    padding-top:70px;
    padding-bottom:100px;
    margin-bottom:-250px;
    position:relative;
}
/*
.concept-section::after {
}*/
.concept-block{
    position:relative;
    padding-left:60px;
}
.concept-block:before{
    content:"";
    width:25px;
    height:133px;
    background-image:url("../img/our_message.svg");
    background-size:contain;
    background-repeat: no-repeat;
    background-position: right;
    position:absolute;
    left:13px;
    border-left:2px solid #fff;
}
.concept-title{
    font-size:2.438em;
    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;
}
.concept-discription{
    font-size:1rem;
    font-weight:700;
    letter-spacing:0.15rem;
    line-height:2.5;
}
/*concept-section*/
.secondary-title{
    font-size:1.25rem;
    font-weight:bold;
    letter-spacing:.1rem;
    margin-bottom:15px;
}
.secondary-title br{
    line-height:initial;
}
.secondary-title > svg{
	height:calc(50px / 1.5);
	width:auto;
    margin-bottom:0;
}
.news-section{
    padding-top:230px;
    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;
    transform: skewY(-10deg) translateY(180px);
    z-index: -1;
}
.news-block{
    padding-bottom:30px;
}
/*
.news-hd-wrap{
}
*/
.news-header{
    text-align:left;
}
.news-title{
    text-align:left;
    font-size:1.25rem;
    color:#4579C1;
    margin-bottom:20px;
}
.read-more{
    font-weight:700;
    margin-bottom:20px;
}
.read-more a{
    display:flex;
    align-items: center;
    color:#333;
    box-sizing:border-box;
}
.read-more a span{
    width:auto;
    word-break: break-all;
    margin-right:15px;
    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;
    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-block{
    padding-bottom:0;
    margin-bottom:-1px;
    padding-bottom:0;
}
.news-list{
    display:block;
    width:100%;
    margin:0 auto 60px auto;
}
.front-page .news-list{
    margin:0 auto;
}
.news-list tbody{
    display:block;
    width:100%;
}
.news-list tr{
    display:flex;
    width:100%;
    flex-wrap: wrap;
	align-items: center;
    gap:10px 15px;
    padding:20px 0;
    border-bottom:#D5D7D3 solid 1px;
}
.news-list tr td{
    display:inline-block;
    vertical-align:middle;
    box-sizing:border-box;
}
.news-list tr td:last-child{
    display:block;
    max-width: calc(100vw - 30px);
    width:100%;
}
.news-list tr td a{
    color:#000;
    font-weight:700;
    box-sizing:border-box;
}
.news-list tr td a:hover{
    color:#4579C1;
    text-decoration:underline;
}
.news-list tr td span,
.news-list tr td .data,
.news-list tr td.news-category{
display:inline-block;
padding:0;
margin:0;
}
.news-list tr td .data{
    text-align:left;
    display:inline-block;
    color:#999;
}
.front-news-wrap .news-list .data{
    color:#333;
}
.news-list .news-category{
    min-width:100px;
    text-align:left;
    color:#4579C1;
    margin-right:1rem;
}
.news-list .news-category a{
    color:#4579C1;
}
.news-list-title{
    font-weight:700;
    text-align:left;
    flex: 1;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.empty-post{
    width:100%;
}

.pickup-section{
    position:relative;
    z-index:3;
    overflow:hidden;
    padding-bottom:140px;
    margin-bottom:-50px;
}
.pickup-section::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #fff;
    transform: skewY(10deg) translateY(-100px);
    z-index: -1;
}
.picup-title{
    color:#4579C1;
}
.pickup-catch{
    font-size:2.375rem;
    letter-spacing:0.2em;
    font-weight:900;
    margin-bottom:20px;
	line-height:1.5;
}
.pickup-catch > span{
	display:inline-block;
}
.pickup-second-block{
    margin-bottom:30px;
}
.pickup-text{
    font-size:1rem;
    font-weight:700;
    line-height:2;
}
.pickup-tertiary-block{
	text-align:center;
}
.sns_line_bn a{
    position: relative;
    display:inline-flex;
    font-size:22px;
    font-weight:900;
    line-height:1;
    color:#fff;
    padding:20px 30px;
    letter-spacing:1px;
    justify-content: center;
    align-items: center;
    background:#50D787;
    word-break: break-all;
    text-decoration: none;
    outline: none;
    overflow: hidden;
}
.sns_line_bn a svg{
    flex-shrink: 0;
    display:inline-block;
    width:auto;
    height:20px;
    margin-right:5px;
}
.sns_line_bn a:hover{
    color:#fff;
}
.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.7s;
}
@keyframes shine {
100% {
    left: 125%;
}
}
.keyword-block{
    padding:0 15px;
    margin-bottom:-60px;
}
.keyword-block .content-inner{
    padding:0 15px;
}
.solution-section{
    padding-top:170px;
    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;
    transform: skewY(-10deg) translateY(120px);
    z-index: -1;
}

.solution-header{
    margin-bottom:10%;
}
.solution-title{
    max-width:535px;
    text-align:left;
    font-size:1.25rem/*20px*/;
    color:#fff;
}
.balloon{
    position:relative;
	padding-bottom:260px;
    margin:0 auto 70px auto;
}
.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;
    padding:15px; 
    color:#000;
    font-weight:700;
    letter-spacing:0.1rem;
    background:#fff;
}
.balloon li:nth-child(n+2){
    margin-top:8%;
}
.balloon li::after{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
	right: 15px;
    bottom: -14px;
    border-left: 15px solid transparent;
    border-top: 15px solid #fff;
    border-right: 15px solid transparent;
}
.solution-catch{
    position:relative;
    padding:15px 25px 15px;
    font-size:1.563rem;
    color:#FCB500;
    font-weight:900;
    text-align:center;
    letter-spacing:0.3rem;
	line-height:1.7;
    border-right:1px solid #fff;
    border-left:1px solid #fff;
    border-bottom:1px solid #fff;
    margin:70px auto 0 auto;
}
.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:20px 5px 5px;
    display:inline-block;
    text-align:center;
    display:flex;
	justify-content: center;
    align-items: center;
    margin-left:10px;
    margin-right:10px;
	margin-bottom: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:16px;
    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{
    padding:10% 1rem 0 1rem;
    margin:0 auto;
}
.merit-head{
    margin-bottom:5%;
}
.merit-title{
    color:#fff;
    width:320px;
    margin-bottom:2%;
}
.merit-sub-title{
    font-size:1rem;
    font-size:clamp(1rem , 2vw , 1.563rem);
    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:25%;
    font-size:0.875rem;
    font-size:clamp(0.875rem, 2vw , 1.25rem);
    font-weight:700;
	cursor: pointer;
    left:0;
}
.cp_tab > input{
    display:block;
}
.cp_tab > label{
    display:flex;
    align-items: center;
    justify-content: space-between;
}  
.tab2_1{
    top:5%;
}
.tab2_2{
    top:25%;
}
.tab2_3{
    top:45%;
}
.tab2_4{
    top:65%;
}
.cp_tab > label > span{
    display:none;
}
.cp_tab > label::before{
    content:"";
    display:inline-block;
    color:#1E4B65;
    max-width:82px;
    width:100%;
    aspect-ratio: 1 / 1;
    margin:0 auto;
    /*margin-right:15px;*/
    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:"";
    margin-left:5px;
    border-style: solid;
    border-width: 20px 10px 20px 0;
    border-color: transparent transparent transparent transparent;
    transition: all 0.5s;
    transform: translateX(100%);
}
.cp_tab > input:checked + label::after {
    border-color: transparent #1e4b65 transparent transparent;
    transform: translateX(0%);
}
.cp_tab .cp_tabpanels {
    position:relative;
    width:75%;
    min-height:500px;
    height:100%;
    color:#fff;
    margin-left:auto;
    padding: 20px 10px 100px 30px;
    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:75vw;
    height:100%;
}
.panel_title{
    position:relative;
    padding-top:40px;
}
.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::before{
    position:absolute;
    top:0;
    left:0;
	content:"";
    display:block;
    color:#fff;
    width:36px;
    height:36px;
    background-size:cover;
    background-repeat: no-repeat;
    background-position:center center;
}
.panel_title::after{
    content:"";
    display:inline-block;
    position:absolute;
    width:15px;
    height:2px;
    left:-20px;
    top:16px;
    background:#fff;
}
.cp_tabpanel > .panel_title{
    font-size:1rem;
    font-weight:700;
    margin-bottom:8%;
}
.cp_tabpanel > p{
    font-size: 1rem;
    line-height:1.7;
    margin-bottom:10px;
}
.cp_tabpanel img{
    border-radius: 12px;
}
/*求人の種類セクション*/
.jobtype-section{
    margin: 0 calc(50% - 50vw);
    width:100vw;
    padding-top:30px;
}
.jobtype-title{
    color:#4579C1;
    text-align:center;
    margin-bottom:15px;
}
.job-list{
    display:flex;
    flex-wrap: wrap;
    justify-content:center;
    align-content: center;
    gap:15px;
    padding:5px 10px;
    margin-bottom:30px;
}
.job-item{
    display:flex;
    justify-content: center;
    flex-direction: column;
    align-content: center;
    max-width:170px;
    width:46%;
    height:auto;
	aspect-ratio: 1 / 1;
    font-size:1rem;
    text-align:center;
    font-weight:500;
    padding:0px;
    background:#fff;
    box-shadow: 0px 0px 12px -6px rgba(0,0,0,0.7);
    box-sizing:border-box;
}
.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{
    font-weight:500;
    word-break: break-all;
}
/*事例紹介セクション*/
.front-page .case-section{
    padding-top:30px;
}
.case-title{
    text-align:center;
}
.case-list{
	margin-bottom:3%;
}
.case-item{
	width:100%;
	padding:0;
}
.case-item a{
    display:block;
    color:#333;
    padding: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:5px 0;
}
.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:30px;
    font-weight:900;
    letter-spacing:0.1rem;
    line-height:1;
    word-break: break-all;
    padding-bottom:5px;
    margin-bottom:3%;
    border-bottom:18px solid #FCB500;
}
.members-catch > span{
    font-size:2em;
    color:#4579C1;
    font-weight:700;
}
.members-text{
    font-weight:500;
    text-align:left;
    padding:15px;
    margin-bottom:3%;
    line-height:2;
}
/*お問い合わせセクション*/
.cantact-section{
    text-align:center;
    padding-top:45px;
}
.card-wrap{
	width:100%;
	margin:auto;
}
.card-box{
	color:#333;
	font-weight:700;
	text-align:center;
	padding:5% 5% 4% 5%;
	margin:0 1% 3% 1%;
	background:#fff;
	box-sizing:border-box;
}
.card-title{
    font-size:1.25rem/*20px*/;
    font-weight:700;
    margin-bottom:1em;
}
.card-box p{
    margin:4% 0;
}
.card-box .btn-arrow{
	min-width:initial;
    max-width:325px;
	width:100%;
    margin-right:auto;
    margin-left:auto;
}

.contact-tel{
    display:block;
    font-size:1.714rem/*24px*/;
    font-weight:900;
    margin-bottom:5%;
}
.contact-tel:before{
    content:"";
    display:inline-block;
    width:24px;
    height:24px;
    background-image:url("../img/icon-tel.svg");
    background-size: contain;
    background-repeat: no-repeat;
    margin-right:0.5rem;
}
/*----------------------ここまでフロントページ---------------------*/

/*==================================================
フッター
==================================================*/
.footer{
    text-align:center;
    background:#fff;
}
.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;
    gap:1px;
    background:#ECE8F0;
    padding:1px;
    font-weight:700;
    margin:30px;
}
.ft-menu li{
    background:#fff;
	width:calc(50% - 1px);
    word-break: break-all;
    margin:0;
}

.ft-menu li a{
    color:#333333;
    display:flex;
    align-items: center;
    justify-content: center;
    width:100%;
    height:100%;
    padding:12px 7px;
    transition: all .3s ease-out;
}
.ft-menu a:hover{
    color:#4579C1;
}
.copyright{
    font-weight:bold;
    color:#fff;
    padding:1.5em;
    background:#4579C1;
}
/*----------------------ここまでフッターページ---------------------*/
/*----------------------ここからセカンダリページ---------------------*/
/*サブページ共通*/
.page-head{
    font-size:1.571rem;
    font-weight:bold;
    color:#4579C1;
    padding:35px 20px;
    background:rgba(69,121,193,0.26);
}
.page-title{
    margin:0 auto;
    text-align:center;
    font-size:2.143rem;
    font-weight:700;
    line-height:1.5;
    text-transform: uppercase;
}
.page-title > svg{
	width:auto;
	height:10vw;
	margin-bottom:0;
}
.page-title > span,
.page-title > div{
    font-size:1.571rem;
}
.breadcrumbs {
    color:#fff;
    background:#3C67A2;
    padding: 7px 10px 8px 10px;
    line-height: 1.3;
    vertical-align:baseline;
}
.breadcrumbs ul > li {
    color: #fff;
    font-size: 0.929rem;
    font-weight:700;
    position: relative;
    vertical-align: middle;
    display: inline;
    word-break: break-all;
}
.breadcrumbs ul > li a {
    color: #fff;
}
.breadcrumbs ul > li a:hover {
    color:inherit;
    text-decoration:underline;
}
.breadcrumbs ul > li a:hover {
    text-decoration: underline;
}
.breadcrumbs ul  li:nth-child(n+2)::before {
    display: inline-block;
    content:">";
    margin: 0 3px;
}

.content-foot{
    /*コンテンツ下部の下線有りブロック*/
    border-top:1px solid #D5D7D3;
    padding:4%;
    margin-top:4%;
}
/*会社概要ページ　conpany*/
.greeting-section{
    margin-bottom:5%;
}
.heading-sup01,
.heading-sup02{
    display:block;
    position:relative;
    padding-top:0.5rem;
    padding-bottom:0.8rem;
    margin-bottom:0.8rem;
    color:#4579C1;
    font-size:1rem;
    line-height:1;
}
.heading-sup01,
.heading-sup02 + .text-left{
    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-sup02::after{
    left:calc(50% - 20px);
    bottom:0;
}
.heading-sup01::after,
.heading-sup02 + .text-left::after{
    left:0;
    bottom:0;
}
.sub-heading02{
    font-size:1.429rem;
    font-weight:700;
    line-height:1.433;
    margin-bottom:1em;
}
.sub-heading01{
    font-size:1.75rem/*28*/;
    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:0.8em;
}
.table01,
.single-post table{
    width:100%;
    font-size:1rem;
    margin-bottom:40px;
}
.table01 th,
.table01 td,
.single-post table th,
.single-post table td{
	width:100%;
	display:block;
    padding:1em 1em;
    line-height:1.75;
}
.table01 th,
.single-post table th{
    font-weight:700;
    color:#0E305E;
    background-color: #E1ECFB;
    box-sizing:border-box;
    overflow:hidden;
}
.table01 td,
.single-post table td{
    border:1px solid #E1ECFB;
}
.table01 dl dt:nth-child(n+2){
    margin-top:15px;
}
.tel-list dt,
.tel-list dd{
    margin-bottom:6px;
}
.tel-list dt:nth-child(n+2){
    margin-top:15px;
}
.tel-list dd{
	display:inline-block;
    margin-right:1rem;
}

/*google map　グーグルマップ　レスポンシブ*/
.gmap {
	width:100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
    }
.map-item{
    box-sizing:border-box;
}
.list-stle01{
    counter-reset: my-counter;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size:1rem;
    font-weight:500;
    line-height:1.5;
}
.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-list{
    position:relative;
}
.flow-list::before{
    content:""; 
    width:2px;
    height:90%;
    position:absolute;
    left:30px;
    top:3%;
    background:#4579C1;
    z-index:-1;
}
.flow-list > li:last-child::after{
    /*青縦ラインのはみ出しを隠す白ブロック*/
    content:""; 
    width:60px;
    height:90%;
    position:absolute;
    left:0px;
    top:10%;
    background:#fff;
    z-index:-1;
}

.flow-list > li{
    position:relative;
    padding:15px;
    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 .flow-heading,
.flow-list .flow-text{
    vertical-align:middle;
	padding-left:66px;
}
.flow-list .flow-heading{
    width:100%;
    position:relative;
	margin-bottom:0.5rem;
}

.flow-list .flow-text{
    font-weight:500;
    line-height:2;
}
.flow-list .flow-heading > h3{
    font-size:1.625rem/*26px*/;
    font-weight:900;
    word-break:break-all;
}
.flow-list li::before{
    content:"";
    position:absolute;
    text-align:center;
    display:flex;
    justify-content: center;
    align-items: center;
    width:60px;
    height:60px;
    left:0;
    top:20px;
    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");
}
.mini-text{
    font-size:0.875rem/*14px*/;
    font-weight:700;
    color:#3C67A2;
}
.price-section{
    color:#fff;
    text-align:center;
    background:rgba(69,121,193,0.76);
}
.price-wrap{
    margin-bottom:5%;
}
.price-box{
    font-weight:500;
    line-height:2;
    background:#fff;
    color:#333;
    padding:2rem 1rem;
	margin-bottom:5%;
    border-radius:16px;
}
.price-box-heading{
    font-size:26px;
    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:15px;
}
.price-point{
    display:inline-flex;
    flex-direction: column;
    gap:10px;
    font-size:22px;
    position:relative;
    word-break:break-all;
    font-weight:900;
    margin-bottom:15px;
    vertical-align: bottom;
    line-height:1;
    letter-spacing:0.1em;
}
.price-point .price-bal{
    position:relative;
    display:flex;
    gap:10px;
    text-align:left;
    padding-bottom:15px;
}
.price-point .price-bal span{
    position:relative;
    display:inline-block;
    font-size:12px;
    font-weight:bold;
    text-align:center;
    letter-spacing: 0.1em;
    color:#fff;
    padding:8px;
    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:last-child{
    display:flex;
    align-items: flex-end;
    justify-content: center;
    white-space: nowrap;
    text-align:right;
}
.price-point > div{
    display:inline-block;
}
.price-point .asta{
    display:inline-block;
    font-size:0.64em;
    color:#D11F1F;
    vertical-align: top;
    transform: translateY(-0.32em);
}
.price-point b{
    font-size:44px;
    font-weight:900;
    color:#D11F1F;
    letter-spacing:1px;
    padding-left:10px;
}
.price-point small{
font-size:0.88em;
letter-spacing:1px;
}

.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:1.143rem;
    font-weight:900;
}
/*----------FAQページ------------*/
/*アコーディオンリスト*/
.acd-toggle {
	display: none;
}
.acd-Label {		/*タイトル*/
    font-size:1rem;
    font-weight:700;
    padding: 1em 45px 1em 55px;
	display: block;
    border-bottom:1px solid #ccc;
    position:relative;
}
.acd-Label:hover{
    cursor: pointer;
}
.acd-Label::before,
.acd-content::before{
	content:"";
	display:block;
	position:absolute;
	width:30px;
	height:30px;
	left:10px;
	background-size:cover;
	background-repeat: no-repeat;
}
.acd-Label::before{
	background-image:url("../img/icon-question.svg");
    top:calc(50% - 15px);
}
.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.3s ease;
}
.acd-content {		/*本文*/
    padding: 0px 15px 0px 55px;
	overflow: hidden;
}
.acd-toggle:checked + .acd-Label::after {
	transform: rotate(-45deg) !important;
}
.acd-content::before{
    background-image:url("../img/icon-answer.svg");
    top:25px;
    height:0;
    opacity:0;
    transition:
    height .2s ease-out,
    opacity .2s ease-out;

}
.acd-content > p{
    font-weight:500;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    line-height:0;
    text-align: justify;
    text-align-last: left;
    padding:0;
    opacity:0;
    transition:
    padding .3s ease-out,
    height .3s ease-out,
    line-height .3s linear,
    opacity     .1s linear,
    visibility  .1s linear;
}
.acd-toggle:checked + .acd-Label + .acd-content > p{
    height: auto;
    visibility: visible;
    line-height:1.7;
    padding:15px 0;
    opacity:1;
}
.acd-toggle:checked + .acd-Label + .acd-content::before  {
    height:30px;
    opacity:1;
}

/*end FAQページ*/

/*ここから採用ページ　RECRUIT*/
.recruit-page{
    padding-bottom:15px;
}
.message-section{
    text-align:center;
    padding:30px 15px;
    background-image:url("../img/message-bg-left.png"),url("../img/message-bg-right.png");
    background-size:20%,20%;
    background-repeat: no-repeat,no-repeat;
    background-position: left top,right top;
}
.message-section .secondary-title{
    margin-bottom:20px;
}
.message-catch{
    text-align:left;
    font-size:1.143rem;
    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{
    text-align:left;
    margin:0 auto;
    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-page .case-section{
	padding:0;
}
.case-intro{
    text-align:left;
    margin-bottom:4%;
}
.pager,
.pager > div{
font-size:1rem;
font-weight:500;
display:flex;
flex-wrap: wrap;
gap:10px;
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;
}
.pagination{
    font-size:1rem;
    font-weight:500;
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
    color:#4579C1;
}
.pagination > li{
    min-width:36px;
    height:36px;
    line-height:36px;
    text-align:center;
    letter-spacing:0px;
    padding:0;
    margin:5px;
    color:#fff;
    background:#4579C1;
    border:1px solid #4579C1;
    border-radius:4px;
    box-sizing:border-box;
    overflow:hidden;
}
.pagination > li > a{
    display:block;
    text-align:center;
    line-height:36px;
    color:#4579C1;
    background:#fff;
    padding:0;
    margin:0;
    transition: all .3s ease-out;
}
.pagination > li > a:hover,
.pagination > li > a.page-current,
.pagination > li.page-current{
    color:#fff;
    background:#4579C1;
}
.nav-previous,
.nav-next{
    position:relative;
    font-size: 0px;
}
.nav-previous a::before,
.nav-next a::before{
    content:"";
    display:block;
    position:absolute;
    width:10px;
    height:10px;
}
.nav-previous a::before{
    top:calc(50% - 6px);
    left:calc(50% - 3px);
    border-top:2px solid #4579C1;
    border-left:2px solid #4579C1;
    transform:rotate(-45deg);
}
.nav-next a::before{
    bottom:calc(50% - 6px);
    right:calc(50% - 3px);
    border-right:2px solid #4579C1;
    border-bottom:2px solid #4579C1;
    transform:rotate(-45deg);
}
.nav-previous a:hover::before,
.nav-next a:hover::before{
    border-color:#fff;
}

/* end 事例紹介ページ　CASE*/

/* ここから投稿（POST）共通テンプレ　*/
.left_col{
	margin-bottom:50px;
}
.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: 1.571rem/*22px*/;
    font-weight:700;
    line-height:1.5;
    padding:0;
    margin-bottom:1rem;
    word-break: break-all;
}
.single-post h2{
	font-size:1.286rem/*18px*/;
    color:#fff;
    font-weight:700;
    line-height:1.5;
    padding:5px 15px;
    margin-bottom:3%;
    background:#4579C1;
    word-break: break-all;
}
.single-post h3{
	font-size:1.143rem/*16px*/;
	font-weight:700;
    line-height:1.5;
	padding:5px 0px;
	margin-bottom:3%;
	border-bottom:2px solid #4579C1;
    word-break: break-all;
}
.single-post h4{
	font-size:1rem;
    font-weight:bold;
    position:relative;
    padding:5px 10px 5px 15px;
    margin-bottom:3%;
    word-break: break-all;
}
.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;
    line-height:1.5;
    padding:5px;
    margin-top:1em;
    margin-bottom:0.5em;
    word-break: break-all;
}
.single-post h6{
    font-size:1rem;
    font-weight: bold;
    line-height:1.5;
    padding:5px;
    margin-top:1em;
    margin-bottom:0.5em;
    word-break: break-all;
}

.single-post ul{
    padding:0;
    margin-top:3%;
    margin-bottom:3%;
}
.single-post ul li{
	padding:15px 10px;
	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:3rem 5%;
}
.single-post blockquote::before,
.single-post blockquote::after{
    content:"";
    font-size:2.857rem/*40px*/;
    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;
}
.data{
    font-size:1rem;
    color:#999;
}
ul.headline-data,
.headline-data{
    font-size:12px;
    color:#999;
    text-align:right;
    display:flex;
    flex-wrap: wrap;
    justify-content: flex-end;
	padding-top:10px;
    margin-top:0;
    margin-bottom:3%;
	margin-left:0;
}
.headline-data{
    border-top:1px solid #D5D7D3;
}

ul.headline-data li{
    display:inline-block;
    padding:0 !important;
	margin:0;
    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 .post-item img {
	aspect-ratio: 4 / 3;
}
.widget{
    margin-bottom:30px;
}
.widget-sidebar-title{
    font-size:1rem;
    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 a{
    color:#333;
    display:flex;
    align-items: center;
    transition: all .3s ease-out;
}
.wg-case-post-list .post-item{
    display:flex;
}
.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;
}
.wg-case-post-list .thumb-box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: #ccc;
    transition:all 0.2s;
}
.wg-case-post-list a:hover .post-item .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*/
.arcive-select{
    display:flex;
    justify-content: space-between;
    margin-bottom:30px;
    word-break: break-all;
}
.arcive-select li{
    width:32%;
    font-size: 13px;
    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);
}

/*TOPPICS（新着情報）一覧*/
/*タブ切り替え全体のスタイル*/
/*
.tab02 {
	margin-top: 50px;
	padding-bottom: 40px;
	background-color: #fff;
	width:100%;
	max-width: 960px;
	margin: 0 auto;
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
}*/
/*タブのスタイル*/
/*
.tab02 .tab_item {
    width: 32%;
	font-size: 14px;
	font-weight: 700;
    text-align: center;
    line-height: 1.5;
	text-align: center;
	color: #4579C1;
	display: block;
    padding:5px;
	transition: all 0.2s ease;
	border-bottom: 2px solid #4579C1;
}
.tab02 .tab_item:nth-child(n+3){
	margin-left:2%;
}
.tab02 .tab_item:hover {
    cursor: pointer;
}*/
/*ラジオボタンを全て消す*/
/*
.tab02 input[name="tab_item"] {
    display: none;
}*/
/*タブ切り替えの中身のスタイル*/
/*
.tab02 .tab_content {
    display: none;
    width:100%;
    padding: 30px 0;
    clear: both;
    overflow: hidden;
}*/
/*選択されているタブのコンテンツのみを表示*/
/*
.tab02 #tab_i01:checked ~ #tab_c01,
.tab02 #tab_i02:checked ~ #tab_c02,
.tab02 #tab_i03:checked ~ #tab_c03 {
display: block;
}*/
/*選択されているタブのスタイルを変える*/
/*
.tab02 input:checked + .tab_item {
    background-color: #4579C1;
    color: #fff;
}*/
/* 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{
    display:flex;
    gap:8px;
    padding-top:60px;
    justify-content: space-between;
    position: relative;
    text-align:center;
	margin-bottom:15px;
    z-index:4;
}
.contact-flow::before{
    content:"";
    width:90%;
    height:2px;
    background: #CCCCCC;
    position: absolute;
    top:30px;
    left:5%;
    z-index:1;
}
.contact-flow li{
    width:calc( 100 / 3 );
    font-weight:700;
    line-height:1.3;
    position:relative;
    word-break: break-all;
    z-index:3;
}
.contact-flow > li:first-child::before,
.contact-flow > li:last-child::before{
    content:"";
    width:50%;
    height:40px;
    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:flex;
	justify-content: center;
	align-items:center;
    width:40px;
    height:40px;
	aspect-ratio: 1 / 1;
    line-height:1;
    text-align:center;
    color:#fff;
	position:absolute;
    left:calc(50% - 20px);
    top:-50px;
    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{
    font-size:16px;
    border:1px solid #aaa;
    border-radius: 4px;
}
.cform input[type="checkbox"]{
    margin-right:0.5em;
}
.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:30px;
}
.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: 12px;
    font-weight:bold;
    line-height:20px;
    width:40px;
    height:20px;
    position:absolute;
    top:calc(50% - 10px);
    right:5%;
    box-sizing:border-box;
	
    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:1.429em/*20*/;
    font-weight:bold;
    line-height:1.5;
    margin-bottom:0.5em;
}
.thanks-title svg{
	height:40px;
    margin-bottom:0.3em;
}
.thanks-text{
    font-weight:500;
    line-height:2.25;
}
/*mw_wp_form 上書き*/
.mw_wp_form .horizontal-item + .horizontal-item{
margin-left:0 !important;
}
.mwform-tel-field{
    display:inline-flex;
    gap:5px;
    flex-wrap: wrap;
}
/*.mwform-tel-field input{
    margin-bottom:3px;
}*/
/*privacy プライバシーポリシーページ*/
.privacy-box{
    background:#f4f4f4;
    padding:1rem;
}

/*言語切り替えプラグインGTranslate配置*/
.gtranslate_wrapper,
#gt_float_wrapper{
    height:100%;
}
.gt_float_switcher,
.gt_float_switcher .gt-selected{
    min-height:100%;
    box-shadow:none!important;
}
.gt_float_switcher .gt-selected .gt-current-lang{
    display:flex;
    align-items: center;
    flex-wrap: wrap;
    height:70px;
    padding:10px !important;
    vertical-align: middle;
    overflow:hidden;
}