﻿@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&display=swap');

body{
    font-family: 'Sawarabi Gothic', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.l-menu,.pc_nav,.en_font,.TopTxt04, h1, h2, h3, h4, h5, h6,.pager a, .cate_list li a, .sns_title, .con_no, .tel, .copyright{
    font-family: 'Sawarabi Gothic', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* -----------------------------　ボディ　------------------------------------- */
body{
    overflow: hidden;
}

.pagetop {
    z-index: 1;
}

/*--------------------------------
疑似要素にオブジェクト
--------------------------------*/
#main_img,#con1,#con2 > div,#con2 .topimg3,#con3,#con3 .box_wrap,#con4,#topCms,
.cmstitle,.footer_contact,.pagetitle{position: relative;}
/*リピートなし*/
#main_img:before,#main_img:after,#con2 > div:before,#con2 .topimg3:before,#con3 .box_wrap:before,#con3 .box_wrap:after,
#con1:before,#con1:after,#con2:before,#con2:after,#con3:before,#con3:after,#con4:before,#con4:after,#topCms:before,#topCms:after,
.cmstitle:before,.footer_contact:before,.footer_contact:after,.pagetitle:before,.pagetitle:after{
content: "";
display: block;
background-size: cover;
background-repeat: no-repeat;
position: absolute;
}

/* color -----------------------------------------------------------------------------*/
:root {
    --color1: #ffc14b;
    --color2: #bcccef;
    --color3: #ffc14b;
    --color4: #F1B149;
    --color5: #fff0be;
    --color6: #bcccef;
    --color7: #316FF2;
    --white: #ffffff;
    --black: #2b1403;
    --gray: #9f867b;
}

body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: var(--black);}
.txt_white,.hvr_txt_white:hover{color: var(--white);}
.txt_color1,.hvr_txt_color1:hover{color: var(--color1);} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: var(--color2);} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: var(--color3);} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: var(--color4);} /* アクセントカラー2 */
.txt_color5,.hvr_txt_color5:hover{color: var(--color5);} /* アクセントカラー2 */

/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: var(--white)} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: var(--black);} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: var(--color1);} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: var(--color2);} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: var(--color3);} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: var(--color4);} /* アクセントカラー2 */
.bg_color5,.hvr_bg_color5:hover{background-color: var(--color5);} /* アクセントカラー2 */
.bg_color6,.hvr_bg_color6:hover{background-color: var(--color6);} /* アクセントカラー3 */
.bg_color7,.hvr_bg_color7:hover{background-color: var(--color7);} /* アクセントカラー4 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}

/* border-color ※!important */
.border_white,.hvr_border_white:hover{border-color: var(--white);}
.hvr_border_black:hover{border-color: var(--black);}
.border_black{border-color: var(--gray);}
.border_color1,.hvr_border_color1:hover{border-color: var(--color1);}
.border_color2,.hvr_border_color2:hover{border-color: var(--color2);}
.border_color3,.hvr_border_color3:hover{border-color: var(--color3);}
.border_color4,.hvr_border_color4:hover{border-color: var(--color4);}
.border_color5,.hvr_border_color5:hover{border-color: var(--color5);}

/* ----------　linkStyle　---------- */
.linkStyle{
    color: var(--color1);
    border-bottom:solid 1px;
}

.linkStyle:hover{
	color: var(--color3);
	opacity: 0.7;
	transition: all 0.5s;
}

body#body {
    background: var(--white);
}

.txt_title{
	color: var(--color4);
}

#fakeloader {
    background-color: var(--color5);
}

/* color -----------------------------------------------------------------------------*/

/* ----------　custom_box　---------- */
#main_img {
    /*width: 100%;*/
    height: 100%;
    /*background-image: url(./Dup/img/bg_main.jpg);*/
    /*background-repeat: no-repeat;*/
}

#main_img:before {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    background-size: max(60vw,500px),max(45vw,500px);
    background-image: url(./Dup/img/catch_img2.png), url(./Dup/img/catch_img1.png);
    background-position: top 0vw left -5vw,bottom 0vw right -5vw;
}

/*#main_img:after {*/
/*    width: 33%;*/
/*    height: 47%;*/
/*    background-image: url(./Dup/img/catch_img1.png);*/
/*    background-repeat: no-repeat;*/
/*    background-position: bottom 0 right 0;*/
/*}*/

#main_img {
    object-fit: cover;
    background-size: cover;
    /* overflow: auto; */
}

#main_img .catch {
    transform: translate(-50%,-50%);
    top: 50%;
    width: 47vw;
    z-index: 1;
    left: 50%;
    bottom: auto;
}
/* ----------　custom　---------- */


/* ----------　背景画像　▼---------- */
/*#con1:before {*/
/*    background-image: url(./Dup/img/bg_img_bottom.png);*/
/*    position: absolute;*/
/*    content: "";*/
/*    background-size: cover;*/
/*    width: 100%;*/
/*    height: 127px;*/
/*    top: -10%;*/
/*    left: 0;*/
/*}*/

#con2:before {
    background-image: url(./Dup/img/bg_img1.png);
    position: absolute;
    content: "";
    background-size: cover;
    width: 100%;
    height: 50px;
    top: -2%;
    left: 0;
}

#con3:before {
    background-image: url(./Dup/img/bg_img2.png);
    position: absolute;
    content: "";
    background-size: cover;
    width: 111%;
    height: 60px;
    top: -5%;
    left: 0px;
}

#con3:after {
    background-image: url(./Dup/img/bg_img3.png);
    position: absolute;
    content: "";
    background-size: cover;
    width: 100%;
    height: 60px;
    bottom: -4%;
    left: 0;
    z-index: 1;
}

#topCms:after {
    background-image: url(./Dup/img/bg_img4.png);
    position: absolute;
    content: "";
    background-size: cover;
    width: 100%;
    height: 60px;
    top: -1%;
    left: 0;
}

.footer_contact:before {
    background-image: url(./Dup/img/bg_img5.png);
    position: absolute;
    content: "";
    background-size: cover;
    width: 100%;
    height: 70px;
    top: -2%;
    left: 0;
}

.footer_contact:after {
    background-image: url(./Dup/img/bg_img6.png);
    position: absolute;
    content: "";
    background-size: cover;
    width: 100%;
    height: 50px;
    bottom: 0px;
    left: 0;
}
/* ----------　背景画像　▲---------- */

/* ---------------------------------------------　TOP　---------------------------------------- */

#fakeloader .fl {
    position: absolute!important;
    top: 50%!important;
    left: 50%!important;
    transform: translate(-50%,-50%)!important;
    width: 50%!important;
    max-width: 300px;
}

h3.cate_title {
        text-align: center;
        font-size: 19px;
}

div#bnr {
    width: 80%;
    z-index: 1;
    transform: translate(22%,50%);
    bottom: 8%;
}

/* ----------　toptxt　▼---------- */
.topTxt1 .arrow{
    margin-left: 0;
    transform: translate(-50%, 0);
}

.topTxt1 {
    transform: rotate(0.05deg);
    /* color: var(--black); */
    border-radius: 67px;
    font-size: 26px;
    letter-spacing: 2px;
    padding: 12px 25px 14px;
}

.TopTxt02 {
    text-shadow: var(--color5) 1px 1px 0, var(--color5) -1px -1px 0,/*右下、左上*/ var(--color5) -1px 1px 0, var(--color5) 1px -1px 0,/*右上、左下*/ var(--color5) 0px 1px 0, var(--color5) 0-1px 0,/*右、左*/ var(--color5) -1px 0 0, var(--color5) 1px 0 0;
    font-size: 40px;
}

.TopTxt03 {
    left: 0;
    right: 0;
    margin: auto;
}

/*.TopTxt03 {*/
/*    margin-top: 27%;*/
/*}*/

.TopTxt04 {
    font-size: 30px;
    margin-bottom: 10px;
    color: var(--color1);
}

.TopTxt06 {
    color: var(--black);
}

.TopTxt02, .TopTxt03, .TopTxt06,.TopTxt08, .TopTxt10, .TopTxt12{
    color: var(--black);
}
/* ----------　toptxt　▲---------- */

.con1_squ {
    display: none;
    z-index: 1;
    bottom: -10px;
}

.con1_inner {
    width: 95% !important;
}

#con1 {
    padding-bottom: 50px;
}

/*--question ▼ --*/
.con1_box {
    transform: rotate(0.05deg);
    object-fit: cover;
    content: "";
    position: absolute;
    background-image: url(./Dup/img/con1_box_bgimg.png);
    background-repeat: no-repeat;
    background-size: 100%;
    top: -13vw;
    right: 3vw;
    width: 10vw;
    height: 17vw;
    z-index: 1;
}

.question {
    height: 29vh;
}

.question .box {
    position: absolute;
    z-index: 2;
}

.question .box .box_item{
    padding: 80px;	
}

.question .txt {
    justify-content: flex-start;
    align-items: center;
    width: 47%;
    margin-right: 2%;
}

/*.question .txt:nth-child(even) {*/
/*	margin-right: 0%;*/
/*}*/

/*#question .txt {*/
/*    text-indent: -2em;*/
/*    padding-left: 2em;*/
/*    margin-left: -2em;*/
/*}*/

/*#question .txt .check {*/
/*    padding-right: 0;*/
/*    left: 40px;*/
/*}*/

.question .txt .check {
    display: inline-block;
    vertical-align: middle;
    z-index: 1;
    position: relative;
    top: 0px;
    padding-right: 10px;
}

.question .sliceTxt4,.question .sliceTxt5,.question .sliceTxt6{
	font-size: 80px;
	
	    font-size: -webkit-calc(1rem + 30px);
    font-size: calc(1rem + 30px);
    text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff, 2px 0px 1px #fff, 0px 2px 1px #fff, -2px 0px 1px #fff, 0px -2px 1px #fff;
}

.question .box_item{
    padding: 10px;
}

.question .box .box_item {
    border-radius: 10px;
    border: 2px solid var(--black);
}

.question .box .box_item {
    padding: 10px;
    padding-top: 40px;
    padding-bottom: 10px;
}

.question .title_dec span {
    text-shadow: var(--white) 2px 2px 0, var(--white) -2px -2px 0,/*右下、左上*/ var(--white) -2px 2px 0, var(--white) 2px -2px 0,/*右上、左下*/ var(--white) 0px 2px 0, var(--white) 0 -2px 0,/*右、左*/ var(--white) -2px 0 0, var(--white) 2px 0 0;
}

.indent {
    font-size: -webkit-calc(1rem + -1px);
    font-size: calc(1rem + -1px);
}

svg {
    fill: currentColor;
    color: var(--color7);
}
/*--question ▲ --*/

#con2 {
    padding-top: 60px;
    padding-bottom: 80px;
    background-image: url(./Dup/img/con2_bg_img.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: left 5% bottom 0;
}

.menu_btn span {
    background-color: var(--color1);
}

#con3 .title {
    margin: 0 auto;
    position: relative;
}

#con3 {
    padding: 100px 20px;
}

#con3 .title .en {
    font-size: 40px;
    color: var(--color7);
}

#con3 .box_wrap .box h4 {
    letter-spacing: 0;
    font-size: 17px;
    color: var(--color7);
}

#con3 .box_wrap .box p{
    font-size: 14px;
}

/* ----------　footer　---------- */
#topCms {
    padding: 0 20px;
}

.topCms .cmstitle .jp span {
    padding-top: 5px;
}

.topCms .cms_5-e .cate_box .box_item .box_title1 {
    background-color: #fff;
}

.link_type1 .link_top .link_title {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: center;
    padding-top: 50px!important;
    margin-bottom: 30px;
    color: #474521;
    font-weight: normal;
    background-image: url("../dup/img/link_type1_icon.png");
    background-size: 35px;
    background-position: top center;
    background-repeat: no-repeat;
}
.link_type1 .link_top .link_title{
    font-size: 20px;
    margin-bottom: 20px;
}
.link_type1 .link_top a{
	padding-top: 40px;
	padding-bottom: 40px;
}
.link_type1 .link_top a:hover{
    background-color: #ededeb;
}
.link_type1 .link_top a:hover .link_img1{
    transform: translate(-50%, -50%) scale(1.1,1.1);
    opacity: 0.1;
}
@media screen and (max-width: 667px){
.link_type1 .link_top .link_title{
    font-size: 15px;
}
}

/* ----------　footer　▼---------- */
.f_sitemap_inner {
    margin-top: 20px;
    max-width: 1200px;
}

.footer {
    background-color: var(--color5);
    padding: 130px 0px 60px;
}

.f_contact_box {
    z-index: 1;
}

.footer a {
    font-size: 15px;
    font-weight: bold;
    color: var(--black);
}


.footertxt {
    font-weight: bold;
    color: var(--black);
}

.PageFooter {
    font-size: 13px;
}

.f_sitemap_inner i {
    color: var(--color7);
}

.f_contact_btn a {
    padding: 20px 30px 20px 45px;
    border-radius: 50px;
    transition: .3s;
    font-size: 20px;
}

.f_contact_box .f_contact_btn a i {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: initial;
    content: "\f3c0";
}

.f_contact_btn i {
    margin-left: -25px;
    line-height: 2;
}

.footer_sns .box a {
    height: 16vh;
    background-color: var(--color5);
    /* border-color: var(--color7); */
}

.footer_sitemap {
    border-color: var(--color7);
}

.footer_sns .box {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

/* ----------　footer　▲---------- */

.fix_banner {
    width: 300px;
    position: fixed;
    bottom: 5px;
    right: 100px;
    z-index: 5;
}



.copy {
    background-color: var(--color7);
    opacity: 0.8;
}
/* ---------------------------------　下層ページ　--------------------------------- */
.pagetitle_img {
    background-size: cover;
    opacity: 0.75;
    mix-blend-mode: normal;
}

.pagetitle .jp span {
    padding-top: 9px;
    color: var(--color7);
}

.pagetitle .jp {
    filter: drop-shadow(0px 0px 10px var(--black));
}

.pagetitle {
    color: var(--white);
    font-weight: bold;
}

.f_contact_box h4{
    font-size: 30px;
}

.f_contact_box p{
    font-size:16px;
}


.cate_list li:hover {
    opacity: 0.5;
    transition: all 0.3s;
}

.cate_list li a {
    font-size: 15px;
    transition: all 0.3s;
}

.pagetxt{
    font-size: 20px;
}

.all_contents {
    background-color: var(--white);
}

/* -------------------　BLOG　----------------- */
ul.pager a {
    font-size: 17px;
    background-color: var(--color4);
    color: var(--white) !important;
    padding: 8px 20px;
}

#cms_1-d .title_box::before {
    border-right: solid 20px var(--color7);
}

#cms_1-d .title_box::after {
    border-left: solid 20px var(--color7);
}

#cms_1-d .box_wrap {
    background-color: #ffffff;
}


/* -------------------　コンセプト　▼----------------- */
#cms_2-e .cate {
    border: solid 1px var(--color3);
    background-color: #ffe1e152;
    border-radius: 15px;
}

#cms_2-e .box_title span {
    position: relative;
    z-index: 1;
    background-color: #ffe1e100;
}

#cms_2-e .box_title::after {
    content: "";
    position: absolute;
    width: 52%;
    height: 1px;
    background-color: var(--color1);
    top: 18px;
    left: 220px;
    z-index: 0;
}
/* -------------------　コンセプト　▲----------------- */

/* -------------------　お客様の声　▼----------------- */
.v_type3 .cate_box{border: 1px solid #c9baa9;}

.v_type3 .box_title1{color: #a67c52;}
/* -------------------　お客様の声　▲----------------- */

/* ----------　会社情報　---------- */
#page7 .info .info__row .title{
    color: var(--color3);
}



/* ----------　お問い合わせ　---------- */
h3.width_30per.pd_5px.pd_l-20px.font_2dw_tb.txt_color2.width_100per_sp.pd_clear_sp{
    color: var(--color3);
}

#page8 .contact_mail a {
    /*color: var(--black);*/
    padding: 14px 97px;
    border-radius: 50px;
    transition: .3s;
}

#page8 .contact_tel a {
    /*color: var(--black);*/
    padding: 18px 40px;
    border-radius: 50px;
    transition: .3s;
}


#page8 .contact_mail a:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    -webkit-animation: easeOutBounce .6s;
    animation: easeOutBounce .6s;
}

/* ----------　プライバシーポリシー ---------- */

#page9 .box .no {
    color: var(--white);
}

.privacy .box h3 {
    color: var(--black);
}

/*a.d_inline_b.pd_r-10px.pd_l-10px.bg_color1.border_rad5.txt_white.motion05s.mg_r-5px.mg_l-5px.hvr_bg_color4 {*/
/*    color: var(--black);*/
/*}*/

/* ----------　サイトマップ　---------- */
/*#page10 .sitemap li a{*/
/*    color: var(--black);*/
/*}*/

#page10 .sitemap li a:hover {
    background-color: var(--color3);
}

@media screen and (max-width: 1660px){

}

/*-------------------------------------------------------1536-------------------------------------------------------*/
@media screen and (max-width: 1536px){
#main_img:before {
    background-size: max(50vw,500px),max(46vw,500px);
    background-position: top 2vw left -5vw,bottom -5vw right -5vw;
}

.footer_sns .box a {
    font-size: 6px;
    height: 16vh;
}

.footer_sns .box a p {
    font-size: 11px;
}


}

@media  screen and (max-width: 1536px){
#con2 .img_wrap:before {
    top: 14%;
    left: 61%;
}

}

/*-------------------------------------------------------1530 × 735-------------------------------------------------------*/
@media screen and (max-width: 1530px){
.question .txt .check img {
    width: 25px;
}
}

/*-------------------------------------------------------1366-------------------------------------------------------*/
@media screen and (max-width: 1366px){
#main_img:before {
    background-size: max(50vw,500px),max(46vw,500px);
    background-position: top 2vw left -5vw,bottom -5vw right -5vw;
}

#main_img .catch {
    width: 65vw;
}

.question {
    height: 27vh;
}

}

/*1280px以下*/
@media  screen and (max-width: 1280px){

.question {
    height: 55vh;
}

/*#main_img {*/
/*    height: 88vh;*/
/*}*/

#main_img:before {
    background-size: max(60vw,500px),max(49vw,500px);
    /* background-position: top 6vw left -5vw,bottom 2vw right -5vw; */
}

#main_img .catch {
    width: 60vw;
    /*height: 14vw;*/
    /*bottom: 17%;*/
    /*left: 3%;*/
}



/*#con1:before {*/
/*    width: 100%;*/
/*    height: 127px;*/
/*    top: -7%;*/
/*    left: 0;*/
/*}*/

#con2 .img_wrap:before {
    left: 60%;
}

#con2:after {
    width: 20vw;
    bottom: -15%;
    left: 17%;
}

.question .txt {
    width: 100%;
    margin-right: 0%;
}

.indent {
    font-size: -webkit-calc(1rem + -1px);
    font-size: calc(1rem + -1px);
}

/*#con3:before {*/
/*    top: -1%;*/
/*    left: 0;*/
/*}*/

/*#con3:after {*/
/*    bottom: -11%;*/
/*    right: 5%;*/
/*}*/

#con3 {
    padding: 100px 50px;
}

}
/*1000px以下）*/
@media  screen and (max-width: 1000px){
#main_img:before {
    background-size: max(50vw,400px),max(42vw,400px);
    background-position: top 6vw left -5vw,bottom -2vw right -5vw;
}

#main_img .catch {
    width: 50vw;
}

.TopTxt02 {
    font-size: 29px;
    text-align: left;
}

#con2 .topimg2 {
    width: 100%;
}

#con2 .topimg3 {
    width: 60%;
    margin: -60px 0px 0px auto;
}

/*.question .txt {*/
/*    width: 100%;*/
/*    margin-right: 5%;*/
/*}*/

.question .txt .check {
    padding-right: 5px;
    left: 0px;
    top: 0px;
}


.loopSlider_wrap{right: 40px;}

}

@media all and (-ms-high-contrast: none){
  .sample{

  }
}


/*-------------------------------------------------------タブレット-------------------------------------------------------*/
@media  screen and (max-width: 768px){
#main_img {
    height: 95vh;
}

.main_img_tb {
    height: 100%;
}

#main_img .catch {
    display: none;
}

#main_img:before {
    background-size: max(88vw,500px),max(76vw,500px);
    background-position: top 7vw left -5vw,bottom 0vw right -5vw;
}

#main_img .catch2 {
    transform: translate(-50%,-50%);
    top: 50%;
    z-index: 1;
    left: 50%;
    bottom: auto;
    width: 97vw;
}

.logo1 {max-width: 100px;}

.menu_btn{
    transition: 0.3s;
}

/*.TopTxt03, .TopTxt06 {*/
/*    padding: 10px 30px;*/
/*}*/

.TopTxt08, .TopTxt10, .TopTxt12 {
    padding: 0px 25px 10px 25px;
    margin-top: 10px;
}

.TopTxt02 {
    font-size: 28px;
}

/*.TopTxt03 {*/
/*    margin-top: 70%;*/
/*}*/

.TopTxt09 {
    font-size: 19px;
}

.cate_list li a {
    display: block;
    padding: 10px;
    overflow: hidden;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#con1 {
    padding-top: 50px;
    padding-bottom: 50px;
}

/*#con1:before {*/
/*    width: 100%;*/
/*    height: 127px;*/
/*    top: -8%;*/
/*    left: 0;*/
/*}*/



#con1:after{
width: 15vw;
height: 22vw;
bottom: -20vw;
left: 3vw;
}

#con2 {
    padding-top: 70px;
    padding-bottom: 70px;
}

#con2:before {
    top: -1%;
}

#con2 .topimg2 {
    width: 75%;
}

#con2 .topimg3 {
    width: 45%;
    margin: -50px 0px 0px auto;
}

#con3 {
    padding: 50px 0 15px;
}

#con3 .box .img {
    max-width: 500px;
    margin: 0 auto;
    border-radius: 20px;
}

#con3:before {
    width: 105%;
    height: 70px;
    top: -2%;
    left: -4px;
}

#con3 .txt br{display:none;}

#con3:after {
    width: 100%;
    height: 60px;
    bottom: -2%;
    left: 0;
}

/* -- 固定部分 -- */
.question {
    height: 46vh;
}

.question .box .box_item {
    padding: 30px 30px 0px 30px;
}

.question .title span {
    font-size: -webkit-calc(1rem + 18px);
    font-size: calc(1rem + 18px);
}	

.question .box_item p {
    font-size: 17px;
    letter-spacing: 0;
}

.question .txt .check {
    padding-right: 0;
    left: -5px;
    top: 4px;
}

.indent {
    font-size: -webkit-calc(1rem + -1px);
    font-size: calc(1rem + -1px);
}

#topCms:after {
    width: 100%;
    height: 86px;
    top: -1%;
    left: 0;
}

.footer_sns .box a {
    font-size: 6px;
    height: 5vh;
}

.footer_contact:before{
    width: 108%;
    height: 70px;
    top: -2%;
    left: -3px;
}

.footer_contact:after{
    width: 105%;
    height: 70px;
    bottom: -1px;
    left: -2px;
}

/*.logo2 {*/
/*    width: 30% !important;*/
/*}*/

.pagetitle .jp span {
    padding-top: 7px;
}

}
/*-------------------------------------------------------スマホ-------------------------------------------------------*/
@media  screen and (max-width: 667px){
#main_img {
    height: 89vh;
}

#main_img:before {
    background-size: max(47vw,400px),max(40vw,400px);
    background-position: top 10vw left -5vw,bottom 10vw right -5vw;
}

#main_img .catch2 {
    width: 88vw;
}

.logo1 {max-width: 80px;}

/*.TopTxt02, .TopTxt03, .TopTxt06, .TopTxt08, .TopTxt10, .TopTxt12 {*/
/*    padding: 10px;*/
/*}*/

.TopTxt02 {
    margin-left: 15px;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0;
}



.TopTxt04 {
    font-size: 21px;
    letter-spacing: 0;
}

.fix_banner {
    width: 270px;
    right: 70px;
}

.footertxt{max-width: 100%;}

/*#main_img .catch {*/
/*    bottom: 2%;*/
/*    background-size: 100%;*/
/*    width: 94vw;*/
/*}*/

/*#con1:before {*/
/*    width: 100%;*/
/*    height: 100px;*/
/*    top: -6%;*/
/*    left: 0;*/
/*}*/

#con1 {
    padding-top: 45px;
    padding-bottom: 40px;
}

.con1_box {
    top: -17vw;
    right: 4vw;
    width: 16vw;
    height: 21vw;
}

#con2 {
    padding-top: 80px;
}

#con2:before {
    top: -1%;
    height: 57px;
}

#con2 .topimg3:before{
width: 14vw;
height: 20vw;
top: 0;
left: -20vw;
}

#con3 .title .en {
    letter-spacing: 0;
    font-size: 22px;
    font-weight: bold;
}

#con3 .box .img {
    max-width: 375px;
}

#con3 {
    padding: 50px 20px 10px;
}

#con3:before {
    height: 63px;
    top: -2%;
}

#con3:after {
    height: 27px;
    bottom: -19px;
}

#con3 .box_wrap .box h4 {
    letter-spacing: -1px;
    font-size: 16px;
}

/* -- 固定部分 -- */
.question {
    height: 75vh;
}

.question .box {
    padding: 10px;
    z-index: 1;
}

.question .title span {
    font-size: -webkit-calc(1rem + 8px);
    font-size: calc(1rem + 8px);
}

.question .box .box_item {
    padding: 20px 10px 0px 10px;
}

/* -- コンテンツ -- */	
.question .txt {
    width: 100%;
    margin-right: 0%;
}

.indent {
    margin-left: 2px;
    font-size: -webkit-calc(1rem + -4px);
    font-size: calc(1rem + -1px);
    letter-spacing: 0;
}

.question .box_item p {
    font-size: 13px;
    letter-spacing: 0px;
    margin-bottom: 15px;
}

.question .txt .check img {
    width: 15px;
}

.question .txt .check {
    padding-right: 0;
    left: 0px;
    top: -8px;
}

#topCms {
    padding: 30px 0;
}

#topCms:after {
    height: 65px;
    top: -1%;
}

.footer_contact:before{
    height: 59px;
    top: -7%;
}

.footer_sns .box a {
    padding: 10px;
    border-radius: 10px;
    font-size: 6px;
    height: 4vh;
}

.cate_list li a {
    letter-spacing: 0;
    font-size: 18px;
}

.cmstitle:before{
width: 50px;
height: 50px;
top: -60px;
}


.pagetitle{
padding-top: 150px;
padding-bottom: 80px;
}

.pagetitle:after{
width: 80px;
height: 145px;
top: 175px;
}

.topTxt1 {
    letter-spacing: 0;
    font-size: 14px;
    max-width: 100%;
}

.footer {
    padding: 125px 0px 25px;
}

.copy {
    font-size: 11px;
}

.pagetop {
    right: 10px;
    bottom: 60px;
}

#con3 .title .sl img {
    width: 50px;
}

#cms_2-e .box_title::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 40px;
    background-color: var(--color1);
    top: 100%;
    left: 50%;
    transform: translate(0,-100%);
    z-index: 0;
}

#page8 .contact_tel a {
    padding: 18px 31px;
    font-size: 17px;
}

h3.cate_title {
    font-size: 16px;
    letter-spacing: 0;
}

}

#page2,#page3,#page4,#page5,#page6,#page7,#page8,#page9,#page10{
    font-size: 18px!important;
}


@media  screen and (max-width: 667px){


#page2,#page3,#page4,#page5,#page6,#page7,#page8,#page9,#page10{
    font-size: 14px!important;
}

}

@media  screen and (max-width: 500px){
#main_img .catch {
    width: 84vw;
}

/*.question {*/
/*    height: 52vh;*/
/*}*/


}