@charset "utf-8";
@media screen and (min-width: 1201px) { html{font-size:16px; } }@media screen and (max-width: 1200px) { html{font-size:15px; } }@media screen and (max-width: 1024px) { html{font-size:14px; } }@media screen and (max-width: 768px) {  html{font-size:13px; } }@media screen and (max-width: 480px) {  html{font-size:12px; } }a,a:visited,a:active { color:rgba(220,84,55,1.00)}a:hover { color:rgba(0,153,76,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;
}
}



/*　==============================　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;
}





/*　==============================　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:# 231815;
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;
}
.formBlockSurveyTable dl dd input,
.formBlockSurveyTable dl dd textarea {
width: 96%;
resize: none;
border-radius: 0;
padding: 2%;
background-color: #F3F4F4;
border: none;
}
.formBlockSubmitButton {
width:240px!important;
text-align:center!important;
background-color: #00994c!important;
color:#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:#DC5437!important;
color:#fff;
}
.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:100%;}
}
@media screen and (max-width: 1200px) {
.f-logo {padding: 0rem 0rem 0rem 2rem;}
.f-logo img {max-width:70%;}
}
@media screen and (max-width: 480px) {
.f-logo {padding: 4rem 0rem 0rem 2rem;}
.f-logo img {max-width:60%;}
}
/*　サイトマップ　*/
.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.6s;
}
.hover-opacity-img:hover {
opacity:0.7;
transition:0.6s;
}
.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 {
background-color: rgba(0, 70, 150, 0.7);
}

/*　--------------------　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;
}

.gradation {
  background-image: linear-gradient(90deg, #00994c 21%, #c6dc75 100%);
}

.heading-7 {
    display: inline-block;
    position: relative;
    color: #333;
}

.heading-7:before {
    content: '';
    display: inline-block;
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 2px;
    background-color: #00994c;
}

.heading-2 {
    display: inline-block;
    position: relative;
    color: #333;
}

.heading-2:before {
    content: '';
    display: inline-block;
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 2px;
    background-color: #00994c;
}


.heading-3 {
    position: relative;
    color: #333;
}

.heading-3:before {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 2px;
    background-color: #00994c;
}


.activity {
margin:8rem 0 0 0 ;
}

@media screen and (max-width: 480px) {
.activity {
margin:2rem 0 ; 
}
}

.profile_margin {
margin:34vh 0 5rem 0;
}

@media screen and (max-width: 480px) {
.profile_margin {
margin: 2rem 0 0 0;
}
}

.activity_shadow {
 box-shadow: 2px 3px 9px gray;
}

.heading-4 {
    position: relative;
    color: #333;
    text-align: left;
}

.heading-4::before {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 0;              /* 左揃え */
    width: 50px;
    height: 2px;
    background-color: #FFFFFF;
}

@media screen and (max-width: 480px) {
.heading-4 {
 text-align: center;
}

.heading-4::before {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 0;              /* 左揃え */
    width: 50px;
    height: 2px;
    background-color: #FFFFFF;
left: 50%;
    transform: translateX(-50%);
}
}

.contents_top {
background-position: top;
}

@media screen and (max-width: 480px) {
.contents_top {
background-position: center;
}
}


.heading-white {
    position: relative;
    color: #333;
}

.heading-white:before {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 2px;
    background-color: #FFFFFF;
}

.heading-5 {
    position: relative;
    color: #333;
}

.heading-5:before {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 2px;
    background-color: #00994c;
}


.heading-6 {
    position: relative;
    color: #333;
text-align: left;
}

.heading-6::before {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 0;              /* 左揃え */
    width: 50px;
    height: 2px;
    background-color:#00994c;
}

@media screen and (max-width: 480px) {
.heading-6 {
text-align:center;
}

.heading-6::before {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 0;              /* 左揃え */
    width: 50px;
    height: 2px;
    background-color:#00994c;
    left: 50%;
    transform: translateX(-50%);
}
}

#info { 
    text-align: none;
}

footer {
    background-color: rgba(243, 244, 244, 1.00);
    background-image: linear-gradient(90deg, #00994c, #c6dc75 100%);
}

.footer_sns_icon img{
max-width:50px!important;
height:auto;
}
.footer_sns_icon li:not(:last-child){
margin-right:1rem;
}
.footer_sns_icon .wrapper{
width:auto!important;
}
.footer_sns_icon img:hover{
opacity: 0.85;
transition:0.6s;
}

.catchcopy {
padding:23vh 14rem 21vh 16rem;
}

@media screen and (max-width: 1030px) {
.catchcopy {
padding:9vh 36rem 21vh 7rem;
}
}

@media screen and (max-width: 900px) {
.catchcopy {
padding:6vh 28rem 24vh 4rem;
}
}

@media screen and (max-width: 480px) {
.catchcopy {
 padding: 41vh 5rem 6rem 2rem;
}
}


@media screen and (max-width: 480px) {
.logo_width {
width:52% !important;
}
}

.visual_pg{
padding:30vh 0;
}


@media screen and (max-width: 1030px){
.visual_pg{
padding:17vh 0 17vh 0;
}
}


@media screen and (max-width: 480px){
.visual_pg{
background-image:none!important;
padding:30vh 0;
}
}

.profile_text {
padding:4rem 4rem;
}

@media screen and (max-width: 480px) {
.profile_text {
padding:4rem 2rem;
}
}

.contents_title {
margin:-0.5rem 0 15% 0rem;
}

@media screen and (max-width: 480px) {
.contents_title {
margin:-0.5rem 0 38% 0;-0.5rem 0 38% 0;
}
}

@media screen and (max-width: 480px) {
.sing_name {
    width: 60%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
}

@media screen and (max-width: 480px){
.activity02 {
margin:2rem 0 0 0;
}
}

.activity03 {
transform: translateY(2rem);
}

@media screen and (max-width: 480px){
.activity03 {
transform: none;
margin:2rem 0 0 0;
}
}

.activity04 {
transform: translateY(4rem);
}

@media screen and (max-width: 480px){
.activity04 {
margin:2rem 0;
transform: none;
}
}

.activity05 {
transform: translateY(2rem);
}

@media screen and (max-width: 480px){
.activity05 {
transform: none;
}
}

.activity06 {
transform: translateY(4rem);
}

@media screen and (max-width: 480px){
.activity06 {
margin:2rem 0;
transform: none;
}
}

.activity07 {
transform: translateY(6rem);
}

@media screen and (max-width: 480px){
.activity07 {
transform: none;
}
}

.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: 480px){
.ccm-layout-vertical-stretch .ccm-layout-row {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
    -ms-flex-direction: column;
        flex-direction: column;
}
}

.contents_margin {
margin:0 2rem;
}

@media screen and (max-width: 1030px) {
.contents_margin {
margin:1rem 20% 0rem 11%;
}
}

.bx-wrapper .bx-viewport {
webkit-box-shadow:none;
box-shadow:none;
border:none;
}

.sns {
 text-align: left;
}

@media screen and (max-width: 480px){
.sns {
 text-align: center;
}
}

@media screen and (max-width: 480px){
.profile {
  display: flex;
  align-items: center; /* ← イラストの縦中央に文字が来る */
  gap: 16px;
margin: 0 1rem;
}

.profile img {
  width: 34%;
}

.profile .name {
  line-height: 1.2;
}
}

.heading-contents {
    position: relative;
    color: #333;
}

.heading-contents::before {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 0;              /* 左揃え */
    width: 50px;
    height: 2px;
    background-color: #FFFFFF;
}





