@charset "utf-8";
@media screen and (min-width: 1201px) { html{font-size:18px; } }@media screen and (max-width: 1200px) { html{font-size:17px; } }@media screen and (max-width: 1024px) { html{font-size:16px; } }@media screen and (max-width: 768px) {  html{font-size:15px; } }@media screen and (max-width: 480px) {  html{font-size:14px; } }a,a:visited,a:active { color:rgba(217,169,64,1.00)}a:hover { color:rgba(16,44,105,1.00)}
/* css setting */
.tk_flex{padding:1rem 0rem;}


/*　———　TOP - コピー　———　*/
.home_top_copy {
margin: 0rem 0rem 0rem 0rem;
}

@media screen and (max-width: 1024px){
.home_top_copy {
margin: 0rem 0rem 0rem 0rem;
}
}

@media screen and (max-width: 768px){
.home_top_copy {
margin: 0rem 0rem 0rem 0rem;
}
}

@media screen and (max-width: 480px){
.home_top_copy {
margin: 0rem 0rem 0rem 0rem;
}
}

body.vegas-container>.vegas-overlay, body.vegas-container>.vegas-slide, body.vegas-container>.vegas-timer {
    position: none;
}

/*　==============================　ABOUT　==============================　*/
/*　【A】　*/
.about-img-space{padding-top: 35rem;}
@media screen and (max-width: 498px) {
.about-img-space{
padding-top: 24rem;
margin: 0rem 2rem 0rem 2rem;
}
}
/*　--------------------　特長ボックス　--------------------　*/
.about_pickup_box{
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
justify-content: center;
align-items: center;
flex-flow: column wrap;
margin: -30rem auto 3rem auto;
}
.about_pickup_item{
display: -webkit-inline-flex;
display: -moz-inline-flex;
display: -ms-inline-flex;
display: -o-inline-flex;
display: inline-flex;
flex-flow: column wrap;
justify-content: center;
align-items: center;
margin: 0 auto;
background-color: #666666;
color: #000000;
max-width: 400px;
width: 100%;
height: 400px;
font-size:2.5rem;
}
.about_pickup_item span{
font-size: 1.75rem;
line-height: 1.5rem;
}
@media screen and (max-width: 968px) {
.about_pickup_box{
margin: -30rem auto 3rem auto;
}
.about_pickup_item{
height: 300px;
}
}
@media screen and (max-width: 768px) {
.about_pickup_box{
margin: -30rem 0rem 3rem 2rem;
}
}
@media screen and (max-width: 498px) {
.about_pickup_box{
margin: -6.5rem 0rem 0rem 0rem;
}
.about_pickup_item{
margin: 0rem 0rem 0rem 0rem;
padding: 1.5rem 0rem 1rem 0rem;
height: 120px;
width: 70%;
}
}
/*　--------------------　ボックス　--------------------　*/
.about-item {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
align-items: stretch;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
}
.about-item li {
display: -webkit-inline-flex;
display: -moz-inline-flex;
display: -ms-inline-flex;
display: -o-inline-flex;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
align-self: stretch;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
align-items: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 1rem 3px;
margin: 0rem 2px 4px 2px;
width: calc(25% - 10px);
background-color: rgba(255,255,255,1.00);
box-shadow: 0px 0px 2px 0px rgba(150,150,150,0.1);
}
@media screen and (max-width: 768px) {
.about-item li{
width: calc(50% - 4px);
margin: 0rem 2px 4px 2px;
padding: 0.8rem 0;
}
}
.about-sub-ttlA{
position: relative;
margin-top: -2rem;
}
.about-sub-ttlA span{
display: inline-block;
background-color: #666666;
padding: 1rem 2rem;
}
.about-sub-ttlB span{
display: inline-block;
box-sizing: border-box;
border: 1px solid #666666;
padding: 1rem 2rem;
}
/*　--------------------　リスト　--------------------　*/
.about-tb-contents {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
border-bottom:1px solid #E2E8F0;
}
.tb-border-n{
border:none!important;
}
.about-tb-contents dt{
padding: 1rem 0rem 1rem 0rem;
position: relative;
font-weight: bold;
font-size:0.9rem;
letter-spacing:0.2rem;
width: calc(100% - 40px - 1rem);
}
.about-tb-contents dd{
text-align: right;
padding: 1rem 0rem 1rem 1rem;
width: 40px;
}
@media screen and (max-width: 768px){
.about-tb-contents {
flex-flow: row wrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
}
.about-tb-contents dt {
font-weight: bold;
letter-spacing:0.1rem;
}
.about-tb-contents dd {
font-size: 1rem;
border: none;
}
}

/*　==============================　BUSINESS A　==============================　*/
.businessA-mainImg{padding-top: 32rem;}
.businessA-detail{margin: -6rem 2rem 4rem 2rem;}
@media screen and (max-width: 498px) {
.businessA-mainImg{padding-top: 24rem;}
}

/*　==============================　FACILITY A　==============================　*/
.facilityA-tb{
background-color: #ffffff;
padding: 1.75rem 0rem 1.5rem 0rem;
}
.facilityA-tb li{
width: calc(100% - 4rem);
margin: 1rem auto 0rem auto;
padding-bottom: 1rem;
border-bottom: 1px solid #cfcfcf;
}
.facilityA-tb li:last-child{
border-bottom: 0px solid #cfcfcf;
}
.facilityA-tb li dl{
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
}
.facilityA-tb li dl dt{
margin: 0rem 0rem 0rem 0rem ;
position: relative;
font-weight: bold;
font-size:0.9rem;
color:#000000;
letter-spacing:0.2rem;
width: 300px;
}
.facilityA-tb li dl dd{
text-align: left;
padding: 0rem 2rem;
width: calc(100% - 300px - 4rem);
}
@media screen and (max-width: 768px){
.facilityA-tb{
padding: 1rem 1.5rem 1rem 1.5rem;
}
.facilityA-tb li{
width: 100%;
}
.facilityA-tb li dl {
flex-flow: column wrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
}
.facilityA-tb li dl dt {
font-weight: bold;
margin: 0rem 0rem 0.5rem 0rem;
padding-top: 0.5rem;
width: 100%;
letter-spacing:0.1rem;
}
.facilityA-tb li dl dd {
font-size: 1rem;
margin: 0rem 0rem 0rem 0rem;
padding: 0rem 0rem 0rem 0rem;
width: 100%;
}
}

/*　==============================　WORKS A　==============================　*/
.worksA-tb-img li dl{
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
border-bottom:1px solid #cfcfcf;
}
.worksA-tb-img li:last-child dl{
border:none!important;
}
.worksA-tb-img li dl dt{
padding: 1rem 0rem 1rem 0rem;
position: relative;
font-weight: bold;
letter-spacing:0.2rem;
width: 80px;
}
.worksA-tb-img li dl dd{
color: #000000;
text-align: left;
padding: 1rem 0rem 1rem 1rem;
width: calc(100% - 80px - 1rem);
}
@media screen and (max-width: 768px){
.worksA-tb-img li dl {
flex-flow: column wrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
}
.worksA-tb-img li dl dt {
font-weight: bold;
padding: 1rem 0 0.3rem 0;
width: 100%;
letter-spacing:0.1rem;
}
.worksA-tb-img li dl dd {
font-size: 1rem;
padding: 0rem 0 1rem 0;
border: none;
width: 100%;
}
}

.worksA-tb-tx{
background-color: #ffffff;
padding: 1.75rem 0rem 1.5rem 0rem;
}
.worksA-tb-tx li{
width: calc(100% - 4rem);
margin: 1rem auto 0rem auto;
padding-bottom: 1rem;
border-bottom: 1px solid #cfcfcf;
}
.worksA-tb-tx li:last-child{
border-bottom: 0px solid #cfcfcf;
}
.worksA-tb-tx li dl{
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
}
.worksA-tb-tx li dl dt{
margin: 0rem 0rem 0rem 0rem ;
position: relative;
font-size:0.9rem;
font-weight: normal;
color:#000000;
letter-spacing:0.2rem;
width: 180px;
}
.worksA-tb-tx li dl dd:nth-child(2){
font-weight: bold;
text-align: left;
padding: 0rem 2rem;
width: calc(100% - 330px - 4rem);
}
.worksA-tb-tx li dl dd:nth-child(3){
text-align: right;
width: 150px;
}
@media screen and (max-width: 768px){
.worksA-tb-tx{
padding: 1rem 1.5rem 1rem 1.5rem;
}
.worksA-tb-tx li{
width: 100%;
}
.worksA-tb-tx li dl {
flex-flow: column wrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
}
.worksA-tb-tx li dl dt {
margin: 0rem 0rem 0.5rem 0rem;
padding-top: 0.5rem;
width: 100%;
letter-spacing:0.1rem;
}
.worksA-tb-tx li dl dd {
font-size: 1rem;
margin: 0rem 0rem 0rem 0rem!important;
padding: 0rem 0rem 0rem 0rem!important;
width: 100%!important;
}
.worksA-tb-tx li dl dd:nth-child(3){
text-align: left;}
}

/*　==============================　FLOW A　==============================　*/
.flowA-mainImg{padding-top: 20rem;}
@media screen and (max-width: 498px) {
.flowA-mainImg{padding-top: 17.5rem; margin:1rem 1rem 0rem 1rem;}
}
.flowA-bgImg {padding-top: 50vh;}
@media screen and (max-width: 480px){
.flowA-bgImg {padding-top: 40vh;}
}

/*　▼　*/
.flowA-sankaku  {
width: 0;
height: 0;
border: 2rem solid transparent;
border-top: 2rem solid #fff;
margin: 0 auto;
padding:0 0 1rem 0;
}
.flowA-sankaku-color {
width: 0;
height: 0;
border: 2rem solid transparent;
border-top: 2rem solid #424242;
margin: 0 auto;
padding:0 0 1rem 0;
}

/*　==============================　COMPANY　==============================　*/
/*　----------　アンカーボタン　----------　*/
.color_btn .fs_btn_text_main {
font-size:1.4rem;
}
.color_btn .fs_btn_text_sub {
font-size:0.9rem;
}
.color_btn .fs_btn{
line-height: 1.4rem;
background-color: rgba(85,99,105,0.45);
}
.color_btn .fs_btn:hover {
background-color: rgba(85,99,105,0.05);
}
/*　----------　会社概要　----------　*/
.cp_left {
font-size: 0.9rem;
padding: 1rem 0;
vertical-align: top;
width: 20%;
font-weight: bold;
text-align: justify;
color: #7a8e96;
}
.cp_right {
font-size: 0.9rem;
text-align: justify;
padding: 1rem  0 1rem 1rem;
vertical-align: top;
width: 80%;
}
.cp_line {
border-top:1px solid #ccc;
}


/*　タブレット横時スクロール　*/
@media screen and (max-width: 1024px) {
.tb_bg_scroll{background-attachment: scroll!important; }}



/*　==============================　RECRUIT　==============================　*/
/*　----------　fix　----------　*/
.rec_bg_m{
position: relative;
z-index: -100;
}
@media screen and (max-width: 768px) {
.rec_bg01{
background-attachment: scroll!important;
}
}
/*　--------------------　採用情報テーブル　--------------------　*/
.outline_table_list{
border-bottom: 1px solid #f4f4f4;
padding-bottom: 0.4rem;
margin: 0rem;
}
.outline_table_list:last-child{
border: none;
padding-bottom:0rem;
}
.outline_contents {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
padding: 1.2rem 0rem 0.8rem 0rem;
}
.outline_contents dt{
color: #043c78;
padding: 0rem 1rem 0rem 0rem;
width: 140px;
}
.outline_contents dd{
text-align: left;
padding: 0rem 0rem 0rem 0rem;
width: calc(100% - 140px);
}
@media screen and (max-width: 768px){
.outline_contents {
flex-flow: column wrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
padding: 0.8rem 0rem 0.4rem 0rem;
}
.outline_contents dt{
font-size: 95%;
padding: 0rem 0rem 0.4rem 0rem;
width: 100%;
}
.outline_contents dd{
font-size: 105%;
padding: 0rem 0rem 0rem 0rem;
width: 100%;
}
}

/*　--------------------　採用ポイントの上下幅指定　--------------------　*/

.point_area { height:210px; }

@media screen and (max-width: 498px){
.point_area { height:200px; }
}

/*　==============================　STAFF　==============================　*/
.staff_margin_n{
margin-top: -8rem;
}
.qa_q {
color:#919191;
vertical-align: top;
font-weight: bold; 
}
.qa_a {
padding: 0.5rem 0 3rem 0;
vertical-align: top;
}
@media screen and (max-width: 480px) {
.staff_margin_n{
margin-top: -3rem;
}
}
/*　==============================　INTERVIEW A　==============================　*/
.interviewA-mainImg{padding-top: 27rem;}
.interviewA-subImg{padding-top: 18rem;}
@media screen and (max-width: 498px) {
.interviewA-mainImg{padding-top: 24rem;}
.interviewA-subImg{padding-top: 24rem;}
}
.interviewA-qa-q {color:#666666; vertical-align: top; font-weight: bold;}
.interviewA-qa-a {padding: 0.5rem 0rem 2.5rem 0rem; vertical-align: top;}

/*　==============================　INTERVIEW B　==============================　*/
/*　80%中央寄せ　*/
@media screen and (min-width:1281px) {
.interviewB-w80Center {width: calc(100% - 20%); margin: auto!important;}
}
/*　———　インタビュータイトル回り　———　*/
.interviewB-tittleEn{font-size: 1.2rem; margin-bottom: 1rem!important;}
.interviewB-tittleEn:before{content: ""; display: inline-block; top: -0.4rem; position: relative; width: 2rem; height: 1px; background-color: #ffffff; margin: 0rem 1rem 0rem 0.2rem; box-shadow: 1px 1px 2px rgba(0,0,0,0.75);}
.interviewB-tittleSpace{text-shadow: 1px 1px 2px rgba(0,0,0,0.75);}
@media screen and (min-width:769px) {
.interviewB-tittleSpace{ font-size:2.4rem; padding: 28rem 0rem 7rem 2rem ;}
}
@media screen and (max-width:768px) {
.interviewB-tittleSpace{  font-size:2rem; padding: 22rem 0rem 7rem 2rem !important;}
}
@media screen and (max-width:480px) {
.interviewB-tittleSpace{ font-size:2rem; padding: 23rem 0rem 6rem 2rem !important;}
}
.interviewB-subImg{padding: 10rem 0rem; margin-bottom: 1rem;}

.interviewB-detail{margin:-5rem 1rem 0rem 1rem; padding:0rem 1rem 0rem 1rem; background-color:#ffffff;}
@media screen and (max-width:480px) {
.interviewB-detail{padding:0rem;}
}

/*　==============================　GUIDELINE A　==============================　*/
.guidelineA-tb{
background-color: #f2f2f2;
padding: 1.75rem 0rem 1.5rem 0rem;
}
.guidelineA-tb li{
width: calc(100% - 4rem);
margin: 1rem auto 0rem auto;
padding-bottom: 1rem;
border-bottom: 1px solid #cfcfcf;
}
.guidelineA-tb li:last-child{
border-bottom: 0px solid #cfcfcf;
}
.guidelineA-tb li dl{
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
}
.guidelineA-tb li dl dt{
margin: 0rem 0rem 0rem 0rem ;
position: relative;
font-weight: bold;
font-size:0.9rem;
color:#000000;
letter-spacing:0.2rem;
width: 200px;
}
.guidelineA-tb li dl dd{
text-align: left;
padding: 0rem 2rem;
width: calc(100% - 200px - 4rem);
}
@media screen and (max-width: 768px){
.guidelineA-tb{
padding: 1rem 1.5rem 1rem 1.5rem;
}
.guidelineA-tb li{
width: 100%;
}
.guidelineA-tb li dl {
flex-flow: column wrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
}
.guidelineA-tb li dl dt {
font-weight: bold;
margin: 0rem 0rem 0.5rem 0rem;
padding-top: 0.5rem;
width: 100%;
letter-spacing:0.1rem;
}
.guidelineA-tb li dl dd {
font-size: 1rem;
margin: 0rem 0rem 0rem 0rem;
padding: 0rem 0rem 0rem 0rem;
width: 100%;
}
}


/*　==============================　お問い合わせページ　==============================　*/
.formBlockSurveyTable dl dt {
color: #999;
text-align: left;
width: 100%;
margin-right: 0%!important;
font-weight: bold;
font-size: 1rem;
margin-top: 1rem;
padding: 2px 0 0.5% 0;
}
.formBlockSurveyTable dl dd {
width: 100%;
}
.formBlockSurveyTable dl {
padding: 0.5% 0;
}

.formBlockSubmitButton {
width: 240px !important;
text-align:center!important;
background-color: #999!important;
color:#fff;
border:1px solid #fff;
}

@media screen and (max-width: 480px) {
.formBlockSubmitButton {
   width: 100% !important;

}
}

.miniSurveyView input[type="text"],
.miniSurveyView input[name^="Question"],
.miniSurveyView textarea[name^="Question"] {
font-size: 16px !important;
transform: scale(0.9) !important;
}
}
.formBlockSubmitButton:hover {
transition:0.6s;
background-color: #fff!important;
border:1px solid #999;
color:#999;
}
.on-pointer input {
cursor: pointer;
}
@media screen and (max-width: 498px) {
.formBlockSurveyTable dl dd input,
.formBlockSurveyTable dl dd textarea {
width:100%;
}
}

/*　==============================　ページタイトル共通設定　==============================　*/
.page-ttl span{
display: ineline-block;
background-color: #ffffff;
padding: 0.55rem 1.2rem 0.55rem 1.5rem;
}
.page-ttl-ja{padding: 13rem 0rem 0rem 0rem}
.page-ttl-en{padding: 1rem 0rem 13rem 0rem}
@media screen and (max-width: 480px) {
.page-ttl-ja{padding: 10.5rem 0rem 0rem 0rem}
.page-ttl-en{padding: 1rem 0rem 10.5rem 0rem}
}


/*　=============================================================================　*/
/*　=============================================================================　*/
/*　===============================　全体の共通項目　===============================　*/
/*　=============================================================================　*/
/*　=============================================================================　*/


/*　==============================　ヘッダー部分　==============================　*/
/*　--------------------　Fatナビに関する設定　--------------------　*/
.fat-nav li {
list-style-type: none;
text-align: left;
padding: 1.5rem 0 1.5rem 2rem;
font-size: 1.2rem;
border-bottom: 1px solid #969696;
}
.fat-nav{
background: rgba(45, 55, 60, 0.96);
}
.hamburger .hamburger__icon, .hamburger .hamburger__icon:before, .hamburger .hamburger__icon:after {
background-color: #00469b;
}

/*　Fatnaviフィックス　*/
#topfix-A {
position: absolute;
z-index: 50;
top: 0;
right: 0;
}
#topfix-B {
position: absolute;
z-index: 10;
top: 0;
right: 0;
}

/*　==============================　フッター部分　==============================　*/
/*　フッターロゴに関する設定　*/
@media screen and (min-width: 1201px) {
.f-logo {padding: 0rem 0rem 0rem 2rem;}
.f-logo img {max-width:195px;}
}
@media screen and (max-width: 1200px) {
.f-logo {padding: 0rem 0rem 0rem 2rem;}
.f-logo img {max-width:195px;}
}
@media screen and (max-width: 480px) {
.f-logo {padding: 4rem 0rem 0rem 2rem;}
.f-logo img {max-width:155px;}
}
/*　サイトマップ　*/
.sitemap-table{
width:100%;
padding: 0rem 0rem 3rem 2rem;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
justify-content: center;
flex-direction: row;
}
.sitemap-table li:nth-child(1){width: 110px;}
.sitemap-table li:nth-child(2){width: 130px;}
.sitemap-table li:nth-child(3){width: 105px;}
.sitemap-table li p{
margin-bottom: 1rem;
}
.sitemap-table-eiji{
font-size:0.9rem;
font-family: "Lato", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
}
@media screen and (max-width: 768px) {
.sitemap-table{
font-size:120%!important;
line-height:2.5rem!important;
flex-direction: column;
width: calc(100% - 2rem);
padding: 1rem 0rem 3rem 2rem;
}
.sitemap-table li:nth-child(1){width: 100%;}
.sitemap-table li:nth-child(2){width: 100%;}
.sitemap-table li:nth-child(3){width: 100%;}
.sitemap-table li a{
flex-flow: row;
display: inline-flex;
}
.sitemap-table .br-sp{
line-height: unset;
}
.sitemap-table li p{
margin-bottom: 0rem;
padding: 0.35rem 0rem 0.35rem 1rem;
}
.sitemap-table li p:nth-child(odd){
background-color: #3c3c3c;
}
}
.sitemap-table a, .sitemap-table a:visited, .sitemap-table a:active ,
.f-link a , .f-link a:visited, .f-link a:active  {
color: #ffffff;
}
.sitemap-table a:hover ,
.f-link a:hover{
opacity: 0.5;
transition:0.3s;
}

/*　==============================　文字に関する設定　==============================　*/
.bold {
font-weight: bold;
}
.italic {
font-style: italic;
}
.eiji {
font-family: "Lato", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
}

.space-1{
letter-spacing: 0.1rem;
}
.space-2{
letter-spacing: 0.2rem;
}
.space-3{
letter-spacing: 0.3rem;
}
.space-4{
letter-spacing: 0.4rem;
}
.br-sp{
display:none;
}
.br-sp-r{
display:inline;
}

@media screen and (max-width: 900px) { 
}
@media screen and (max-width: 480px) { 
.tx-center{
text-align: center!important;
}
.tx-left{
text-align: left!important;
}
.tx-right{
text-align: right!important;
}
.br-sp{
display:block;
line-height:0rem;
}
.br-sp-r{
display:none;
}
}
/*　==============================　色に関する設定　==============================　*/
.rgba-white{
background-color:rgba(255,255,255,0.8);
}
.rgba-black{
background-color:rgba(0,0,0,0.8);
}
.rgba-black4{
background-color:rgba(0,0,0,0.4);
}
.rgba-staff{
background-color:rgba(0,0,0,0.7);
}
/*　==============================　デフォルト　==============================　*/
.ccm-edit-mode, .ccm-scrapbook-list-item-detail div{margin-top:0rem!important;}
.ccm-edit-mode .ccm-area-styles{margin-top:0rem!important;}
/*　--------------------　ページリストタグ　--------------------　*/
.tk_tags_Tags{
background-color: #424242;
color: #ffffff;
}
/*　--------------------　ページャー　--------------------　*/
div .ccm-pagination{
margin-top: 1rem;
}
div.ccm-pagination span.ccm-page-left, div.ccm-pagination span.ccm-page-right{
top: 0.5rem!important;
}
#pagination .currentPage  strong{
background-color: #000000!important;
color: #ffffff!important;
}
#pagination .numbers {
margin-right: 0.6rem;
}
#pagination .numbers a, #pagination .numbers strong{
font-family: 'Roboto', 游ゴシック Medium,Yu Gothic Medium,游ゴシック体,YuGothic,sans-serif;
background-color: #666666;
padding: 0.5rem 1rem;
display: inline-block;
}
/*　--------------------　マルチイメージのポインター無　--------------------　*/
.cuosor {
pointer-events: none ;
cursor: default ;
}
/*　--------------------　telリンク - スマホ版のみ　--------------------　*/
@media screen and (min-width: 768px) {
a[href^="tel:"] {pointer-events: none;}
}
@media screen and (min-width: 480px) {
.tel_splink {pointer-events: none;}
}
/*　———　スマホ時改行なし　———　*/
@media screen and (max-width: 480px){
.sp-br-none br {display:none;}
}
/*　———　スマホ時改行あり　———　*/
@media only screen and (min-width: 769px){
.sp-br br {display:none;}
}
/*　--------------------　タブレット横時スクロール　--------------------　*/
@media screen and (max-width: 1024px) {
.tb-bg-scroll{background-attachment: scroll!important; }
}
/*　--------------------　その他　--------------------　*/
a {
text-decoration:none;
}
h1 , h2 , h3 {
margin: 0px 0px 0px 0px;
padding: 0px 0px;
margin-top: 0px;
font-weight: normal;
}
.hover-opacity:hover{
opacity: 0.8;
transition:0.5s;
}
.hover-opacity-img:hover {
opacity:0.7;
transition:0.5s;
}
.cuosor {
pointer-events: none ;
cursor: default ;
}
/*　box-shadow　*/
.boxshadow_20 {box-shadow: 4px 4px 6px 0 rgba(0,0,0,.20);}
.boxshadow_50 {box-shadow: 4px 4px 6px 0 rgba(0,0,0,.5);}
.boxshadow_90 {box-shadow: 4px 4px 6px 0 rgba(0,0,0,.9);}
/*　--------------------　トップボタン　--------------------　*/
/*　ボタンline-height　*/
.btn-detail .fs_btn_text {
line-height: 1.6;
}
/*　ピックアップボタン　*/
.btn_pickup .fs_btn_text_main {
letter-spacing: 0.2rem;
font-size:1.2rem;
}
.btn_pickup .fs_btn_text_sub {
font-size:0.8rem;
font-weight: bold;
}
.btn_pickup  .fs_btn {
background-color: rgba(33,33,33,0.5);
}
.btn_pickup .fs_btn:hover{
background-color: rgba(33,33,33,0.05);
}
/*　ページトップボタン　*/
.pagetop_btm{
position: fixed;
z-index: 20;
bottom: 0;
right: 0;
}
.pagetop_btm .fs_btn{
line-height: 1.6;
}
.pagetop_btm_sp {
width:15%;
position: fixed;
z-index: 20;
bottom: 0;
right: 0;
}
/*　--------------------　Google font　--------------------　*/
.googlefont {font-family: 'Roboto', 游ゴシック Medium,Yu Gothic Medium,游ゴシック体,YuGothic,sans-serif;}

/* cyrillic-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v16/0eC6fl06luXEYWpBSJvXCBJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v16/Fl4y0QdOxyyTHEGMXX8kcRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v16/-L14Jk06m6pUHB-5mXQQnRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v16/I3S1wsgSg9YCurV6PUkTORJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v16/NYDWBdD4gIq26G5XYbHsFBJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v16/Pru33qjShpZSmG3z6VYwnRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v16/Hgo13k-tfSpn0qi1SFdUfVtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}

/*　--------------------　追従ボタン　--------------------　*/

.web_reserve_btn span{
writing-mode: vertical-rl;
text-orientation: upright;
margin-top:0.5rem;
}


.web_reserve_btn{
 -ms-writing-mode: tb-rl;
 writing-mode: vertical-rl;
position:fixed ;f
z-index: 20;
bottom: 50%;
right: 0;
}
.web_reserve_btn .fa-phone:before{
margin-bottom:0.5rem;
}
.web_reserve_btn_sp{
width:42.5%;
position:fixed ;
z-index: 20;
bottom:0;
left: 0;
}

.tel_reserve_btn{
 -ms-writing-mode: tb-rl;
 writing-mode: vertical-rl;
position:fixed ;
z-index: 20;
bottom: 19%;
right: 0;
}
.tel_reserve_btn .fa-phone:before{
margin-bottom:0.5rem;
}
.tel_reserve_btn_sp{
left:42.5%!important;
width:42.5%;
position:fixed ;
z-index: 20;
bottom:0;
left: 0;
}

@media screen and (max-width: 480px) {
.footer_logo {
width: 40%;
display: block;
 margin-left: auto;
 margin-right: auto
}
}

body.vegas-container>.vegas-overlay, body.vegas-container>.vegas-slide, body.vegas-container>.vegas-timer {
    position: absolute;
}

.catchcopy {
padding: 10% 45% 15rem 7rem;
}

@media screen and (max-width: 1200px) {
.catchcopy {
    padding: 10% 45% 8rem 4rem;
}
}

@media screen and (max-width: 800px) {
    .catchcopy {
        padding: 7% 45% 8rem 3rem;
}
}


@media screen and (max-width: 480px) {
.catchcopy {
 padding: 92% 7% 5rem 2rem;
}
}


.visual_pg{
padding:30vh 0;
}


@media screen and (max-width: 1030px){
.visual_pg{
padding:17vh 0 17vh 0;
}
}

.list-wrap {
  display: flex;
  gap: 40px; /* 列の間隔 */
}

.list-wrap ul {
  list-style: disc; /* 黒丸 */
}

/* ▼ スマホ対応（480px以下など） */
@media screen and (max-width: 780px) {
  .list-wrap {
    flex-direction: column; /* ←縦並びにする */
    gap: 0; /* お好みで調整 */
  }
}

/*　箇条書き　*/
.vision-list{
list-style: none;
padding: 1rem 2rem;
}

.vision-list li{
position: relative;
padding-left: 1rem;
line-height: 1.7rem;
}

.vision-list li::before{
content: "・";
position: absolute;
left: 0;
color: #233b6c;
font-weight: bold;
}


.ccm-layout-vertical-stretch .ccm-layout-row{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}

.ccm-layout-vertical-stretch .ccm-layout-row > .ccm-layout-cell{
float: none;
display: -webkit-box;
display: -ms-flexbox;
display: grid;
-ms-flex-item-align: stretch;
-ms-grid-row-align: stretch;
align-self: stretch;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
align-items: stretch;
}



@media screen and (max-width: 498px){
.ccm-layout-vertical-stretch .ccm-layout-row {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
    -ms-flex-direction: column;
        flex-direction: column;
}
}

.title strong {
  background-color: #fff;
  display: inline-block;
    padding: 0 0.5rem;
margin:0.2rem;
}

.title_padding {
padding: 4rem 1rem 12rem 14rem;
}

@media screen and (max-width: 1200px){
.title_padding {
    padding: 4rem 1rem 12rem 4rem;
}
}

@media screen and (max-width: 480px){
.title_padding {
    padding:5rem 1rem 8rem 2rem;
}
}

.policytitle_padding {
padding: 7rem 1rem 12rem 14rem;
}

@media screen and (max-width: 1200px){
.policytitle_padding {
    padding: 4rem 1rem 12rem 4rem;
}
}

@media screen and (max-width: 480px){
.policytitle_padding {
    padding: 5rem 1rem 11rem 2rem;
}
}

.senttitle_padding {
padding: 7rem 1rem 12rem 14rem;
}

@media screen and (max-width: 1200px){
.senttitle_padding  {
    padding: 4rem 1rem 12rem 4rem;
}
}

@media screen and (max-width: 480px){
.senttitle_padding {
    padding: 5rem 1rem 13rem 2rem;
}
}

.formBlockSurveyTable dl dd input, .formBlockSurveyTable dl dd textarea {
    width: 96%;
    resize: none;
    border-radius: 0;
    padding: 1.5%;
    border: none;
    background-color: #F1F2F8;
}


.formBlockSubmitButton:hover {
    transition: 0.6s;
    background-color: #D9A940 !important;
    color: #FFFFFF;
}

.formBlockSubmitButton {
    width: 240px !important;
    text-align: center !important;
    background-color: #4270B0 !important;
    color: #fff;
    border: 1px solid #fff;
}

@media screen and (max-width: 480px) {
.formBlockSubmitButton {
   width: 100% !important;
    padding: 1rem 1rem !important;
    text-align: center !important;
    background-color: #4270B0 !important;
    color: #fff;
    border: 1px solid #fff;
}
}

.formBlockSurveyTable dl dt {
    color: #333333;
    text-align: left;
    width: 100%;
    margin-right: 0% !important;
    font-weight: bold;
    font-size: 1rem;
    margin-top: 1rem;
    padding: 2px 0 0.5% 0;
}


.site_policy_text {
text-decoration: underline;
}


@media screen and (max-width: 480px) {
.fude_position {
    background-repeat: no-repeat;
    width: 20%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
}

@media screen and (max-width: 480px) {
.namelogo_position {
    width: 36%;
}
}

/*　--------------------　フォーム記入欄長さ　--------------------　*/
.miniSurveyView input[type="text"], .miniSurveyView input[name^="Question"], .miniSurveyView textarea[name^="Question"] {
 transform:none !important;
}

@media screen and (max-width: 480px) {
.home_plofile_fude {
    width: 30%;
display: block;
    margin-left: auto;
    margin-right: auto
}
}

@media screen and (max-width: 480px) {
.profile_back {
 background-image: none !important;;
}
}

.text_position {
    text-align: left;
}

@media screen and (max-width: 480px) {
.text_position {
    text-align: center;
}
}


.list-wrap {
  display: flex;
  gap: 40px; /* 列の間隔 */
}

.list-wrap ul {
  list-style: none; /* デフォルトの黒丸消す */
  padding: 0;
  margin: 0;
}

.list-wrap li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 5px;
}

.list-wrap li::before {
  content: "・";
  position: absolute;
  left: 0;
font-weight: bold;
}

.list-wrap {
  display: flex;
  gap: 61px;
}

@media (max-width: 1200px) {
.list-wrap {
  display: flex;
  gap: 0px;
}
}

/* ▼ スマホ時 */
@media (max-width: 480px) {
  .list-wrap {
    display: block; /* 縦並びにする */
  }

  .list-wrap ul {
    margin: 0; /* ← これが重要（余白消す） */
  }

  .list-wrap ul + ul {
    margin-top: 0; /* 念のため2つ目のulの上余白も消す */
}

.list-wrap li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 3px;

  }
}

/* 実現済バッジ */
.badge {
    font-size: 16px;
    color: #fff;
    background-color: #5b7fbf;
    padding: 3px 6px;
    font-weight: bold;
}

@media (max-width: 480px) {
.badge {
    font-size: 13px;
    color: #fff;
    background-color: #5b7fbf;
    padding: 3px 5px;
    font-weight: bold;
}
}


@media (max-width: 480px) {
.policy_number {
        width: 50%;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
}

.profile_favorite {
    text-align: left;
    background-repeat: no-repeat;
    padding: 0 2rem 0 1.5rem;
    border-left: 3px solid rgba(16, 44, 105, 1.00);
}

@media (max-width: 480px) {
.profile_favorite {
    text-align: center;
    background-repeat: no-repeat;
    padding: 1rem 0 0 0;
    border-left: none;
}
}

/*　--------------------　プロフィール歩み　--------------------　*/
.history-list {
  display: flex;
  gap: 40px;
}

/* リスト共通 */
.history-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.history-list li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 5px;
}

.history-list li::before {
  content: "・";
  position: absolute;
  left: 0;
    font-weight: bold;
}

.sub-line {
    display: block;
    padding-left: 4.5rem;
    font-weight: bold;
}


/* ▼ スマホ対応 */
@media (max-width: 480px) {
  .history-list {
    display: block; /* ←縦並びにする */
  }

  .history-list ul:last-child {
    margin-bottom: 0;
  }
}

.home_name {
    text-align: right;
}

@media (max-width: 480px) {
.home_name {
    text-align: left;
}
}


.ccm-layout-vertical-stretch .ccm-layout-row{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}

.ccm-layout-vertical-stretch .ccm-layout-row > .ccm-layout-cell{
float: none;
display: -webkit-box;
display: -ms-flexbox;
display: grid;
-ms-flex-item-align: stretch;
-ms-grid-row-align: stretch;
align-self: stretch;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
align-items: stretch;
}



@media screen and (max-width: 498px){
.ccm-layout-vertical-stretch .ccm-layout-row {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
    -ms-flex-direction: column;
        flex-direction: column;
}
}


.policy_padding {
padding:2rem 5rem 2rem 5rem;
}

@media only screen and (max-width: 480px) {
.policy_padding {
padding:2rem 2rem;
}
}
