
@import url(https://fonts.googleapis.com/css?family=Pacifico);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Josefin+Sans);
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap');
@import url(https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700;900&display=swap);
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700;900&display=swap');

body, div,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre, dl, dt, dd, ol, ul, li, hr,
fieldset, form, label, legend, th, td,
article, aside, figure, footer, header, hgroup, menu, nav, section,
summary, hgroup {
  margin: 0;
  padding: 0;
  border: 0;
}

a:active,
a:hover {
  outline: 0;
}

@-webkit-viewport { width: device-width; }
@-moz-viewport { width: device-width; }
@-ms-viewport { width: device-width; }
@-o-viewport { width: device-width; }
@viewport { width: device-width; }


/* ------------------------------------------
  RESPONSIVE NAV STYLES
--------------------------------------------- */

.nav-collapse ul {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
  list-style: none;
}

.nav-collapse li {
  width: 100%;
  display: block;
}

.js .nav-collapse {
  clip: rect(0 0 0 0);
  max-height: 0;
  position: absolute;
  display: block;
  overflow: hidden;
  zoom: 1;
}

.nav-collapse.opened {
  max-height: 9999px;
}

.disable-pointer-events {
  pointer-events: none !important;
}

.nav-toggle {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}


br.xs {
    display: block;
}
br.sm {
    display: none;
}
br.lg {
    display: none;
}

@media screen and (min-width: 640px) {
    br.xs {
        display: none;
    }
    br.sm {
        display: block;
    }
    br.lg {
        display: none;
    }
}

/* PC */
@media screen and (min-width: 1000px) {
    br.xs {
        display: none;
    }
    br.sm {
        display: none;
    }
    br.lg {
        display: block;
    }
}


.MT30{
    margin-top: 30px;
}

.marker1 {
      background: linear-gradient(transparent 60%, #FFFF00 60%);
}


.swiper-container{
    position: relative;
    height: auto;
    margin-top: 50px;
    padding-bottom: 30px;
}

.swiper-wrapper{
    position: relative;
    
}

.swiper-scrollbar{
    position: absolute;
    bottom:0px;
}

.swiper-slide{
    text-align: center;
}

.swiper-slide img{
    width: 100%;
    max-width: 280px;
}

.swiper-slide a{
    color: #222;
    text-decoration: none;
}
.swiper-slide a:hover{
    color: #222;
    text-decoration:underline;
}
.swiper-slide .title{
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0;
}
.swiper-slide .price{
    text-align: center;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0;
}

/* ------------------------------------------
  DEMO STYLES
--------------------------------------------- */

body {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    color: #333333;
    font: 14px/1.8 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
}

section {
    text-align: center;
    padding: 0px 0 0 0;
    width: 100%;
}

h1 {
    margin-bottom: .5em;
}

p {
    width: 100%;
    margin: 0 auto;
    text-align: left;
    line-height: 1.8;
    letter-spacing: 1.5px;
}

.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.f_left{
    float: left;
}
.f_right{
    float: right;
}

.fredb{
    color:#CC0000;
    font-weight: bold;
    font-size: 120%;
}
/* ------------------------------------------
  FIXED HEADER
--------------------------------------------- */

#himage{
    z-index: 1;
    background: #FFFFFF;
    overflow: hidden;
    margin-top: 58px;
}

#himage img{
    width: 100%;
}

.img_eyecatch_pc{
    display:none;
}
.img_eyecatch_sp{
    display:block;
}


.sp-slide div.sltext {
    position: absolute;
    width: 100%;
    top: 25%;
    left: 0%;
    transition: .3s;
}


.sp-slide div.sltext p.title {
    font-size: 28px;
    font-weight: 700;
    color: #FFF;
    line-height: 1.4;
    transition: .3s;
    text-align: left;
    letter-spacing: 0.01em;
    padding-top: 0;
    padding-left: 10px;
    font-family: 'Noto Serif JP', sans-serif;
    text-shadow:0 0 5px #0D1834;
}
.sp-slide div.sltext p.text {
    font-size: 16px;
    font-weight: 400;
    color: #FFF;
    line-height: 1.6;
    transition: .3s;
    text-align: left;
    letter-spacing: 0.01em;
    padding: 10px 10px 0 10px;
    font-family: 'Noto Serif JP', sans-serif;
    text-shadow:
            3px 3px 3px #0D1834, -3px -3px 3px #0D1834,
           -3px 3px 3px #0D1834,  3px -3px 3px #0D1834;
    box-sizing: border-box;
}


@media screen and (min-width: 640px) {
    
    .img_eyecatch_pc{
        display:block;
    }
    .img_eyecatch_sp{
        display:none;
    }
}


@media screen and (min-width: 800px) {

    .sp-slide div.sltext {
        position: absolute;
        width: 100%;
        top: 30%;
        left: 0%;
        transition: .3s;

    }
    
    .sp-slide div.sltext p.title {
        font-size: 54px;
        padding-top: 0;
        padding-left: 10px;
        text-align: left;
        letter-spacing: 0.01em;
    }
    .sp-slide div.sltext p.text {
        font-size: 20px;
        padding-top: 18px;
        padding-left: 13px;
        text-align: left;
        letter-spacing: 0.05em;
    }
}
@media screen and (min-width: 1100px) {

    .sp-slide div.sltext {
        position: absolute;
        width: 100%;
        top: 30%;
        left: 0%;
        transition: .3s;

    }
    .sp-slide div.sltext p.title {
        font-size: 68px;
        padding-top: 0;
        padding-left: 100px;
        text-align: left;
        letter-spacing: 0.01em;
    }
    .sp-slide div.sltext p.text {
        font-size: 22px;
        padding-top: 18px;
        padding-left: 105px;
        text-align: left;
        letter-spacing: 0.05em;
    }
}

.video-outer{
    padding: 0 0;
    box-sizing: border-box;
    background: #FFF;
}

.wrap-video{
    margin-top: 58px;
    position:relative;
    width: 100%;
    padding-top: 56.25%;
}

.wrap-video video{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.wrap-video .text{
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); /*荳贋ｸ句ｷｦ蜿ｳ荳ｭ螟ｮ蟇�○*/
  text-align:center;
}

.category-outer{
    padding: 0 0;
    box-sizing: border-box;
    background: #FFF;
}

.category_list{
    flex-wrap: wrap; /* 画面幅に合わせてカラム落ちさせる */
    display: flex;
    justify-content: space-between;
    align-items: top;
    margin-top: 10px;
}

.category_list .cat{
    background: #CCC;
    width: calc( (100% - 10px) / 2 );
    margin: 0 5px 10px 0;              /* 外側の余白 */
    height: 120px;
    text-align: center;
    font-weight: bold;
    overflow: hidden
}




.category_list .cat a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    color: #222;
    text-decoration: none;
}
.category_list .cat:nth-child(2n) {
    margin: 0 0 10px 0;
}

/*
.category_list .cat:first-child{
    margin: 0 5px 0 0;
}
.category_list .cat:last-child{
    margin: 0 0px 0 5px;
}
*/

.category_list .cat:nth-child(1) {
    background: url(../images/common/01.png) 90% 50% no-repeat;
    background-color:  #ECF7F1; /* 背景色指定 */
}

.category_list .cat:nth-child(1) p{
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0;
    margin-left: 15%;
    margin-top: 18px;
    width: 85% !important;
    box-sizing: border-box;
    text-shadow: #ECF7F1 0 0 10px,#ECF7F1 0 0 10px,#ECF7F1 0 0 10px,#ECF7F1 0 0 10px,#ECF7F1 0 0 5px,#ECF7F1 0 0 5px,#ECF7F1 0 0 5px,#ECF7F1 0 0 5px;
}
.category_list .cat:nth-child(1) p.icon{
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0;
    margin-left: 18%;
    margin-top: 3px;
    width: 82% !important;
    box-sizing: border-box;
}


.category_list .cat:nth-child(2) {
    background: url(../images/common/08.png) 90% 55% no-repeat;
    background-color:  #EBF8EB; /* 背景色指定 */
}
.category_list .cat:nth-child(2) p{
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0;
    margin-left: 8%;
    margin-top: 18px;
    width: 85% !important;
    box-sizing: border-box;
    text-shadow: #EBF8EB 0 0 10px,#EBF8EB 0 0 10px,#EBF8EB 0 0 10px,#EBF8EB 0 0 10px,#EBF8EB 0 0 5px,#EBF8EB 0 0 5px,#EBF8EB 0 0 5px,#EBF8EB 0 0 5px;
}
.category_list .cat:nth-child(2) p.icon{
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0;
    margin-left: 10%;
    margin-top: 3px;
    width: 82% !important;
    box-sizing: border-box;
}



.category_list .cat:nth-child(3) {
    background: url(../images/common/03.png) 90% 50% no-repeat;
    background-color:  #F7FAED; /* 背景色指定 */
}

.category_list .cat:nth-child(3) p{
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0;
    margin-left: 8%;
    margin-top: 18px;
    width: 92% !important;
    box-sizing: border-box;
    text-shadow: #F7FAED 0 0 10px,#F7FAED 0 0 10px,#F7FAED 0 0 10px,#F7FAED 0 0 10px,#F7FAED 0 0 5px,#F7FAED 0 0 5px,#F7FAED 0 0 5px,#F7FAED 0 0 5px;
}
.category_list .cat:nth-child(3) p.icon{
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0;
    margin-left: 16%;
    margin-top: 3px;
    width: 84% !important;
    box-sizing: border-box;
}


.category_list .cat:nth-child(4) {
    background: url(../images/common/04.png) 90% 50% no-repeat;
    background-color:  #EDF3F6; /* 背景色指定 */
}

.category_list .cat:nth-child(4) p{
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0;
    margin-left: 8%;
    margin-top: 18px;
    width: 92% !important;
    box-sizing: border-box;
    text-shadow: #EDF3F6 0 0 10px,#EDF3F6 0 0 10px,#EDF3F6 0 0 10px,#EDF3F6 0 0 10px,#EDF3F6 0 0 5px,#EDF3F6 0 0 5px,#EDF3F6 0 0 5px,#EDF3F6 0 0 5px;
}
.category_list .cat:nth-child(4) p.icon{
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0;
    margin-left: 25%;
    margin-top: 3px;
    width: 75% !important;
    box-sizing: border-box;
}

.category_list .cat:nth-child(5) {
    background: url(../images/common/05.png) 90% 50% no-repeat;
    background-color:  #FCF1EE; /* 背景色指定 */
}

.category_list .cat:nth-child(5) p{
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0;
    margin-left: 8%;
    margin-top: 18px;
    width: 92% !important;
    box-sizing: border-box;
    text-shadow: #FCF1EE 0 0 10px,#FCF1EE 0 0 10px,#FCF1EE 0 0 10px,#FCF1EE 0 0 10px,#FCF1EE 0 0 5px,#FCF1EE 0 0 5px,#FCF1EE 0 0 5px,#FCF1EE 0 0 5px;
}
.category_list .cat:nth-child(5) p.icon{
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0;
    margin-left: 25%;
    margin-top: 3px;
    width: 75% !important;
    box-sizing: border-box;
}

.category_list .cat:nth-child(6) {
    background: url(../images/common/07.png) 90% 50% no-repeat;
    background-color:  #FDF7EC; /* 背景色指定 */
}
.category_list .cat:nth-child(6) p{
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0;
    margin-left: 8%;
    margin-top: 33px;
    width: 92% !important;
    box-sizing: border-box;
    text-shadow: #FDF7EC 0 0 10px,#FDF7EC 0 0 10px,#FDF7EC 0 0 10px,#FDF7EC 0 0 10px,#FDF7EC 0 0 5px,#FDF7EC 0 0 5px,#FDF7EC 0 0 5px,#FDF7EC 0 0 5px;
}





@media screen and (min-width: 1000px) {
    .video-outer{
        padding: 0 20px;
    }
    .wrap-video{
        margin-top: 93px;
    }
    .category-outer{
        padding: 0 20px;
    }
    
    .category_list .cat{
        background: #CCC;
        width: calc( (100% - 20px) / 3 );
        margin: 0 5px 10px 0;              /* 外側の余白 */
        text-align: center;
        font-weight: bold;
        overflow: hidden
    }

    .category_list .cat a {
        display: block;
        width: 100%;
        height: 100%;
        padding: 10px 0;
    }
    .category_list .cat:nth-child(3n) {
        margin: 0 0 10px 0;
    }

}
@media screen and (min-width: 1240px) {
    .category_list .cat{
        background: #CCC;
        width: calc( (100% - 50px) / 6 );
        margin: 0 5px 10px 0;              /* 外側の余白 */
        text-align: center;
        font-weight: bold;
        overflow: hidden
    }

    .category_list .cat a {
        display: block;
        width: 100%;
        height: 100%;
        padding: 10px 0;
    }
    .category_list .cat:first-child{
        margin: 0 5px 10px 0;
    }
    .category_list .cat:last-child{
        margin: 0 0px 10px 5px;
    }
}


#articles-scroll{
    overflow: hidden;
    z-index: 100;
    transition: .3s;
    background-color: rgba(255,255,255,0.9);
    border-top:3px solid #73BB2E;
}

.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
}


header {
    overflow: hidden;
}

.logo {
    padding: 16px 20px 0 10px;
    float: left;
}

.logo img{
    height: 23px;
    transition: .3s;
}




.migration_sp {
	display:block;
}


ul.migration_sp li a {
    color:#FFF !important;
    font-size: 15px;
    display:block;
    text-decoration:none;
    padding:10px 10px;
    margin:0 0 0 0;
    font-weight:normal;
    position: relative;
    background: #eb6b00;
    
}
ul.migration_sp li a:hover{
    color:#FFF !important;
    text-decoration: none;
}

@media screen and (min-width: 640px) {
    .migration_sp {
        display:block;
    }
}

/*  画面サイズが920pxまで  */
@media screen and (min-width: 920px) {
    
    .migration_sp {
        display:none;
    }
}


.migration {
	display: none;
	position: fixed;
	top: 125px;
	right: 0;
    width: 160px;
}
 
.migration a {
    display: block;
    text-align: center;
    color: #222;
    font-size: 12px;
    text-decoration: none;
	filter:alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
}
.migration a:hover {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}






@media screen and (min-width: 1000px) {
    
    
    
    #articles-scroll{
        background-color: rgba(255,255,255,1);
    }
    
    header {
        overflow: hidden;
    }
    .logo {
        padding: 28px 20px 10px 20px;
        float: left;
    }
    
    .logo img{
        height: 30px;
        transition: .3s;
    }
    

    
}

/* ------------------------------------------
  MASK
--------------------------------------------- */

.mask {
 
}

.android .mask {
  -webkit-transition: none;
  transition: none;
}

.js-nav-active .mask {
  visibility: visible;
  opacity: 1;
}



#headsub{
    z-index: 1;
    overflow: hidden;
    margin-top: 58px;
    height: 100px;
}

.headsub_dayservice{
    background: url("../images/plan/headsub_bg_day.jpg") right top repeat;
    height: 100px;
    background-size: cover;
}
.headsub_fitness{
    background: url("../images/plan/headsub_bg_fitness.jpg") right top repeat;
    height: 100px;
    background-size: cover;
}
.headsub_junior{
    background: url("../images/plan/headsub_bg_junior.jpg") right top repeat;
    height: 100px;
    background-size: cover;
}
.headsub_studio{
    background: url("../images/plan/headsub_bg_studio.jpg") right top repeat;
    height: 100px;
    background-size: cover;
}



.headsub_training{
    background: url("../images/training/headsub_bg.jpg") right top repeat;
    height: 100px;
    background-size: cover;
}

.headsub_1{
    /* background: url("../images/category/headsub_stretchingmachine.jpg") right top repeat; */
    background: url("../images/category/list_top_1.jpg") right top repeat;
    height: 100px;
    background-size: cover;
}
.headsub_2{
    background: url("../images/category/list_top_2.jpg") right top repeat;
    height: 100px;
    background-size: cover;
}
.headsub_3{
    background: url("../images/category/list_top_3.jpg") right top repeat;
    height: 100px;
    background-size: cover;
}
.headsub_4{
    background: url("../images/category/list_top_4.jpg") right top repeat;
    height: 100px;
    background-size: cover;
}
.headsub_5{
    background: url("../images/category/list_top_5.jpg") right top repeat;
    height: 100px;
    background-size: cover;
}
.headsub_6{
    background: url("../images/category/list_top_6.jpg") right top repeat;
    height: 100px;
    background-size: cover;
}
.headsub_7{
    background: url("../images/category/list_top_7.jpg") right top repeat;
    height: 100px;
    background-size: cover;
}
.headsub_8{
    background: url("../images/category/list_top_8.jpg") right top repeat;
    height: 100px;
    background-size: cover;
}

#headsub h1 {
    width: 100%;
    margin: 28px 0 0 5%;
    position: relative;
    display: inline-block;
    text-align: left;
    font-size: 26px;
    color: #1F1F1F;
    box-sizing: border-box;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.2;
}


#headsub h1 span{
    display: block;
    font-size: 16px;
    
    letter-spacing: 0.02em;
    color: #333;
    line-height: 14px;
    padding-top: 0px;
    font-family: "Lato";
    font-weight: 900;
}



/*  画面サイズが920pxまで  */
@media screen and (min-width: 1000px) {
    #headsub{
        margin-top: 90px;
        height: 250px;
    }
    
    #headsub h1 {
        margin: 80px 0 0 5%;
        font-size: 48px;
        line-height: 1.7;
    }
    #headsub h1 span{
        padding-top: 0;
        font-size: 28px;
    }
    
}



/*-----------  #breadcrumb  -----------*/

#breadcrumb{
	width:100%;
    height: auto;
    background: #EDEDED;
    margin-bottom: 10px;
    padding:0 0 10px 0;
    overflow: hidden;
}


#breadcrumb .inner{
    margin: 0 auto;
    padding: 0 10px;
    max-width: 1460px;
    box-sizing: border-box;
    overflow: hidden;
}

#breadcrumb ul{
    width: 100%;
    padding:0;
    text-align:left;
    color: #222222;
    font-size:12px;
    letter-spacing: 1px;
    padding-top: 10px;
    list-style: none;
}

#breadcrumb ul i{
    font-size:14px;
    margin:0 0 0 10px;
}

#breadcrumb ul li {
	margin: 0 10px 0 0;
	text-align: center;
	float: left;
}

#breadcrumb ul li a{
	text-decoration:none;
	color:#333333;
	padding:10px 0 10px 0;
	margin:0 0 0 0;
	font-weight:normal; 
    font-size: 12px;
}

#breadcrumb ul li a:hover{
    text-decoration: underline;
}


/*  画面サイズが920pxまで  */
@media screen and (min-width: 640px) {
    #breadcrumb .inner{
        padding: 0 10px;
    }
    
    #breadcrumb ul li a{
        font-size: 13px;
    }
    
}


/* フッター
------------------------------------------------------------*/
footer{
	clear: both;
	padding: 0;
	text-align: center;
	font-size: 12px;
    margin: 0 auto;
    background: none;
}


footer .inner{
    margin: 0 auto;
    max-width: 1280px;
    padding: 0 10px;
    overflow: hidden;
}



address{
    width: 100%;
    padding:20px 0 30px 0;
    text-align: center;
    font-style: normal;
    
}

address p{
    overflow: hidden;
    vertical-align: middle;
    margin-top: 10px;
    color: #333333;
    text-align: center;
    font-size: 15px;
    line-height: 1.7em;
    letter-spacing: 0.03em;
}

address img{
    width: 100%;
    margin-right: 15px;
    max-width:330px; 
}



.copyright{
    width: 100%;
    margin: 0;
    text-align: center;
    padding:15px 0;
    background: #649F28;
}
.copyright .cp_inner{
    margin: 0 auto;
    max-width: 1280px;
    padding: 0 10px;
    overflow: hidden;
}



small{
	font-size: 14px;
    color:#FFF;
    padding: 10px;
    width: 100%;
    text-align: center;
}


.example4{
    display: inline;
    padding: 0;
    margin: 0;
    list-style: none;
}
.example4 li{
    display: flex;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
}
.example4 li a{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    padding: 10px;
    text-decoration: none;
    color: #FFF;
    font-size: 14px;
}
.example4 li a:hover{
    text-decoration: underline;
}



footer .outer{
    margin: 0 auto;
    width: 100%;
    overflow: hidden;
}

footer .outer .tel_box{
    width: 100%;
    float: left;
    background: #649F28;
    display: table-cell;
    height: auto;
    vertical-align: middle;
    padding: 20px 0 ;
    box-sizing: border-box;
}
footer .outer .mail_box{
    width: 100%;
    float: left;
    background: #6AAA2B;
    display: table-cell;
    height: auto;
    vertical-align: middle;
    padding: 20px 0 ;
    box-sizing: border-box;
}
.catalog_box{
    height: auto;
    vertical-align: middle;
    padding: 0px 10px 10px 10px;
    box-sizing: border-box;
	color: #FFF;
	overflow: hidden;
}

.catalog_box i{
	margin-left: 5px;
}

.btn-catalog {
    display: inline-block;
	width: 100%;
    padding: 15px 0;
    text-decoration: none;
    color: #FFF;
    transition: .4s;
    font-size: 16px;
    font-weight: bold;
	background: #538e18;
	border-radius: 0px;
}


.btn-catalog:hover {
  background: #5fad11;
  color: #FFF;
}

.btn--catalog-blue_b,
a.btn--catalog-blue_b {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(0, 181, 181, 1) 15%, rgba(106, 181, 38, 1));
    margin: 0 0 0 0;
    font-size: 20px;
    font-weight: bold;
    font-weight: bold;
    font-family: 'Lato', sans-serif;
    font-weight: 900;
}
.btn--catalog-blue_b:hover,
a.btn--catalog-blue_b:hover {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(106, 181, 38, 1) 15%, rgba(0, 181, 181, 1));
}


.btn-flat-border {
    display: inline-block;
    padding: 25px 20%;
    text-decoration: none;
    color: #FFF;
    border: solid 4px #FFF;
    transition: .4s;
    font-size: 20px;
    font-weight: bold;
}

.btn-flat-border:hover {
  background: #FFFFFF;
  color: #649F28;
}

footer .outer .tel_box p.tel{
    text-align: center;
    font-size: 31px;
    color: #FFF;
    font-weight: bold;
    font-family: "Lato";
    line-height: 1.2;
}
footer .outer .tel_box p.reception{
    text-align: center;
    font-size: 14px;
    color: #FFF;
    font-weight: normal;
}



footer .category-outer{
    padding: 0 0;
    box-sizing: border-box;
    background: #FFF;
}


footer .support_outer{
    margin: 0 auto;
    width: 100%;
    overflow: hidden;
}

footer .support_outer .support_box{
    width: 100%;
    float: left;
    background: #5b9620;
    display: table-cell;
    height: auto;
    vertical-align: middle;
    padding: 25px 0 ;
    box-sizing: border-box;
}

footer .support a{
    color: #FFF;
    font-size: 20px;
    text-decoration: none;
}


.btn-flat-border2 {
    display: inline-block;
    padding: 10px 15%;
    text-decoration: none;
    color: #FFF;
    border: solid 4px #FFF;
    transition: .4s;
    font-size: 20px;
    font-weight: bold;
}

.btn-flat-border2:hover {
  background: #FFFFFF;
  color: #679a36;
}


@media screen and (min-width: 640px) {
    .example4{
        display: flex;
        flex-wrap: wrap;
    }
    .example4 li{
        width: 15%;
    }
    .example4 li.small_box{
        width: 40%;
        text-align: right;
    }
    
    small{
        width: 100%;
        font-size: 14px;
        color:#FFF;
        text-align: right;
    }
}

@media screen and (min-width: 1000px) {
    
    footer .outer .tel_box{
        width: 50%;
        float: left;
        display: table-cell;
        height: 200px;
        vertical-align: middle;
        padding-top: 60px;
        box-sizing: border-box;
    }
    footer .outer .mail_box{
        width: 50%;
        float: left;
        display: table-cell;
        height: 200px;
        vertical-align: middle;
        padding-top: 50px;
        box-sizing: border-box;
    }
    
    .btn-flat-border {
        font-size: 24px;
    }


    footer .outer .tel_box p.tel{
        font-size: 42px;
    }
    footer .outer .tel_box p.reception{
        font-size: 16px;
    }
    
    address{
        float: left;
        width: 100%;
        padding: 0 0 0 0;
        text-align: center;
        font-style: normal;

    }

    address p{
        margin-top: 10px;
        text-align: center;
    }

    address img{
        margin-right: 0;
    }

    
    small{
        width: 100%;
        font-size: 14px;
        color:#FFF;
    }
    
    footer .category-outer{
        padding: 10px 20px;
    }
    
    .catalog_box{
		height: auto;
		vertical-align: middle;
		padding: 0px 20px 20px 20px;
		box-sizing: border-box;
		color: #FFF;
		overflow: hidden;
	}
}




/* ------------------------------------------
  NAVIGATION STYLES
--------------------------------------------- */

.fixed {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
}

.nav-collapse,
.nav-collapse * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.nav-collapse,
.nav-collapse ul {
    list-style: none;
    width: 100%;
    float: left;
    background: #73BB2E;
}



.nav-collapse li {
    float: left;
    width: 100%;
    font-weight: normal;
}
.nav-collapse li span{
    display: block;
    font-size: 12px;
    font-family: 'Noto Sans JP', sans-serif;
    color: #FFF;
    font-weight: 400;
    letter-spacing: 0em;
}
.nav-collapse a {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    border-top: 1px solid white;
    text-decoration: none;
    padding: 0.5em 1em;
    color: #FFF;
    width: 100%;
    float: left;
}

.menu_inner_sp a{
    background: #73BB2E;
    border-top: 1px dotted #ccc !important;
}


/* ------------------------------------------
  NAV TOGGLE STYLES
--------------------------------------------- */

@font-face {
  font-family: "responsivenav";
  src:url("../icons/responsivenav.eot");
  src:url("../icons/responsivenav.eot?#iefix") format("embedded-opentype"),
    url("../icons/responsivenav.ttf") format("truetype"),
    url("../icons/responsivenav.woff") format("woff"),
    url("../icons/responsivenav.svg#responsivenav") format("svg");
  font-weight: normal;
  font-style: normal;
}

.nav-toggle {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: none;
  text-indent: -300px;
  position: relative;
  overflow: hidden;
  width: 60px;
  height: 55px;
  float: right;
}

.nav-toggle:before {
  color: #FFF; /* Edit this to change the icon color */
  font: normal 28px/55px "responsivenav"; /* Edit font-size (28px) to change the icon size */
  text-transform: none;
  text-align: center;
  position: absolute;
  content: "\2261"; /* Hamburger icon */
  text-indent: 0;
  speak: none;
  width: 100%;
  left: 0;
  top: 0;
    background: #73BB2E;
}

.nav-toggle.active:before {
  font-size: 24px;
  content: "\78"; /* Close icon */
}


/* BUTTON
------------------------------------------------------------*/

.sts_more{
    width: 100%;
    text-align: center;
    margin:0 0 20px 0;
    padding: 0;
    letter-spacing: 0.05em;
}


a.cp_btn {
	display: inline-block;
    position: relative;
	width: 100%;
	padding: 5px 0;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	transition: .4s;
    background: #FF6884;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    border-radius: 5px;
    font-size: 16px;
}

@media screen and (min-width: 1000px) {
    a.cp_btn {
        font-size: 24px;
    }
}


a.cp_btn:hover {
	background: #468C00;
	color: #fff;
}

.sti_more{
    width: 100%;
    text-align: center;
    margin:0px 0 20px 0;
    padding: 0 10px;
    letter-spacing: 0.05em;
    box-sizing: border-box;
}

a.ci_btn {
	display: inline-block;
    position: relative;
	width: 100%;
	padding: 5px 0;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	transition: .4s;
    background: #477D68;
    border-radius: 5px;
    font-size: 16px;
}

a.ci_btn:hover {
	background: #FF8409;
	color: #fff;
}


@media screen and (min-width: 1000px) {
    
    .sti_more{
        margin:20px 0 20px 0;
    }
    
    a.ci_btn {
        width: 50%;
        font-size: 24px;
    }
}



/* ------------------------------------------------------------------------------------ */
/* etc...										*/
/* ------------------------------------------------------------------------------------ */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
 .clearfix {display: inline-block;}
 

.pagetop {
	display: none;
	position: fixed;
	bottom: 119px;
	right: 0px;
    width: 50px;
}
@media screen and (min-width: 1000px) {
    .pagetop {
        display: none;
        position: fixed;
        bottom: 70px;
        right: 0px;
        width: 50px;
    }

}

.pagetop a {
    display: block;
    text-align: center;
    color: #222;
    font-size: 12px;
    text-decoration: none;
	filter:alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
}
.pagetop a:hover {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
	filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}


div.screen{
    width:100%;
    height: 500px;
    overflow: hidden;
    display: flex;
    margin-top: 55px;
    
}

.catchtitle{
    position: absolute;
    width: 100%;
    text-align: center;
    z-index: 50;
    overflow: hidden;
}
.catchtitle p{
    text-align: center;
    color: #FFF;
}

.catchtitle p.subc_en{
    text-align: center;
    color: #FFF;
    font-size: 20px;
    font-weight: bold;
    font-family: 'Lato', sans-serif;
    font-weight: 900;
    margin-top: 30px;
}

.catchtitle p.subc_en_s{
    margin-top: 60px;
}


.catchtitle p.subc_jp{
    text-align: center;
    color: #FFF;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5;
}
.catchtitle p.subc_txt{
    text-align: center;
    color: #FFF;
    font-size: 14px;
    margin-top: 20px;
}


.catchtitle .subc_menu_sp{
    display: block;
}


div#t{
    position: relative;
    transform:translate(-20%, 0%) skewX(-20deg);
    height: 500px;
    flex: 0 0 65%;
    transition: .3s;
    overflow:hidden;
    background: url(../images/top/002.jpg) 100% top no-repeat;
    background-size:cover;
}

/*
div#t::after{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #0F3D62;
    opacity: 0.9;
    display:block;
}
*/


div#t:hover{
    transform:translate(-15%, 0%) skewX(-20deg);
    transition: .3s;
}

div#e{
    position: relative;
    transform:translate(-20%, 0%) skewX(-20deg);
    height: 500px;
    flex: 0 0 65%;
    transition: .3s;
    overflow:hidden;
    background: url(../images/top/003.jpg) 0% top no-repeat;
    background-size:cover;
}

/*
div#e::after{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #111111;
    opacity: 0.9;
    display:block
}
*/


div#e:hover{
    transform:translate(-25%, 0%) skewX(-20deg);
    transition: .3s;
}


div#t a{
    height:110px;
    position: absolute;
    top:250px;
    right:20%;
    bottom:0;
    margin:auto;
    transform: skew(20deg);
    z-index: 60;
    border: 5px solid #FFFFFF;
}

div#t a::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 25px;
    right: calc( 50% - 7px );
    width: 20px;
    height: 20px;
    border-top: 4px solid #FFF;
    border-right: 4px solid #FFF;
    transform: translateX(-0%) rotate(135deg);
}


div#e a{
    height:110px;
    position: absolute;
    top:250px;
    left:20%;
    bottom:0;
    margin:auto;
    transform: skew(20deg);
    z-index: 60;
    border: 5px solid #FFFFFF;
}
div#e a::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 25px;
    right: calc( 50% - 7px );
    width: 20px;
    height: 20px;
    border-top: 4px solid #FFF;
    border-right: 4px solid #FFF;
    transform: translateX(-0%) rotate(135deg);
}
a.coating_left_btn {
    display: block;
    position: relative;
    width: 40%;
    max-width: 300px;
    padding: 5px 0 0 0;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    background: -webkit-gradient(90deg, #113E64 35%, #0E3352);
    background: linear-gradient(90deg, #113E64 35%, #0E3352);
    overflow: hidden;
    font-size: 20px;
    font-weight:bold;
    color: #fff !important;
    letter-spacing: 0.05em;
    line-height: 2.5;
    margin: 0 auto;
    display: none;
}

a.coating_left_btn:hover {
    color: #fff !important;
    background: -webkit-gradient(90deg, #0E3352 35%, #113E64);
    background: linear-gradient(90deg, #0E3352 35%, #113E64);
}
a.coating_right_btn {
    display: block;
    position: relative;
    width: 40%;
    max-width: 300px;
    padding: 5px 0 0 0;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    background: -webkit-gradient(90deg, #232326 35%, #111111);
    background: linear-gradient(90deg, #232326 35%, #111111);
    overflow: hidden;
    font-size: 20px;
    font-weight:bold;
    color: #fff !important;
    letter-spacing: 0.05em;
    line-height: 2.5;
    margin: 0 auto;
    display: none;
}

a.coating_right_btn:hover {
    color: #fff !important;
    background: -webkit-gradient(90deg, #111111 35%, #232326);
    background: linear-gradient(90deg, #111111 35%, #232326);
}


a.coating_left_btn_sp {
    display: block;
    position: relative;
    width: 90%;
    max-width: 500px;
    padding: 10px 20px;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    background: -webkit-gradient(90deg, #113E64 35%, #0E3352);
    background: linear-gradient(90deg, #113E64 35%, #0E3352);
    overflow: hidden;
    font-size: 18px;
    font-weight:bold;
    color: #fff !important;
    letter-spacing: 0.05em;
    line-height: 2.5;
    margin: 20px auto 0 auto;
    border: 5px solid #FFFFFF;
}

a.coating_left_btn_sp:hover {
    color: #fff !important;
    background: -webkit-gradient(90deg, #0E3352 35%, #113E64);
    background: linear-gradient(90deg, #0E3352 35%, #113E64);
}
a.coating_right_btn_sp {
    display: block;
    position: relative;
    width: 90%;
    max-width: 500px;
    padding: 10px 20px;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    background: -webkit-gradient(90deg, #232326 35%, #111111);
    background: linear-gradient(90deg, #232326 35%, #111111);
    overflow: hidden;
    font-size: 18px;
    font-weight:bold;
    color: #fff !important;
    letter-spacing: 0.05em;
    line-height: 2.5;
    margin: 0 auto;
    margin: 20px auto 0 auto;
    border: 5px solid #FFFFFF;
}

a.coating_right_btn_sp:hover {
    color: #fff !important;
    background: -webkit-gradient(90deg, #111111 35%, #232326);
    background: linear-gradient(90deg, #111111 35%, #232326);
}




div.screen_s{
    width:100%;
    height: 400px;
    overflow: hidden;
    display: flex;
    margin-top: 55px;
    background: url(../images/coating/header_dlc_bg.jpg) center top no-repeat;
    background-size:cover;
}


.catchtitle .subc_menu_sub{
    display: block;
    position: relative;
    width: 90%;
    max-width: 600px;
    padding: 10px 20px;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    background: -webkit-gradient(90deg, #113E64 35%, #0E3352);
    background: linear-gradient(90deg, #113E64 35%, #0E3352);
    overflow: hidden;
    font-size: 18px;
    font-weight:bold;
    color: #fff !important;
    letter-spacing: 0.05em;
    line-height: 2.5;
    margin: 50px auto 0 auto;
    border: 5px solid #FFFFFF;
}

@media screen and (min-width: 640px) {
    div.screen_s{
        margin-top: 55px;
    }
    
    .catchtitle .subc_menu_sub{
        padding: 15px 20px 20px 20px;
        line-height: 1.5;
        font-size: 24px;
    }
    
    .catchtitle p.subc_en{
        font-size: 30px;
        margin-top: 60px;
    }
    .catchtitle p.subc_jp{
        font-size: 38px;
        line-height: 1;
    }
}



/*  画面サイズが1000pxまで  */
@media screen and (min-width: 1000px) {
    
    div.screen{
        margin-top: 90px;
    }
    div.screen_s{
        margin-top: 90px;
    }
    
    .catchtitle .subc_menu_sub{
        padding: 15px 20px 20px 20px;
        line-height: 1.5;
        font-size: 38px;
    }
    
    
    #himage{
        z-index: 1;
        overflow: hidden;
        margin-top: 90px;
        
    }
    #himage img{
        width: 100%;
    }
    .is-fixed {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 2;
        width: 100%;
        height: 90px;
        border: none;
        background: #FFFFFF;
        transition: .3s;
    }

    .articles-Wrapper {
        margin: 0 auto;
        /* min-width: 1100px; */
    }
    
    
    .js .nav-collapse {
        position: relative;
    }
    .js .nav-collapse.closed {
        max-height: none;
    }
    .nav-toggle {
        display: none;
    }

    .mask {
        display: none !important;
        opacity: 0 !important;
    }

    .nav-collapse {
        float: right;
        width: auto;
        height: 90px;
        margin-right: 155px;
        background: #FFF;
        
    }
    
    .nav-collapse ul{
        background: #FFF;
    }
    
    .nav-collapse li {
        width: auto;
        background: #FFF;
    }
    
    .nav-collapse li{
        
    }
    .nav-collapse li span{
        color: #333;
        font-weight: bold;
    }
    .nav-collapse li.menu-item {
        margin-top: 0;
        
    }
    
    
    .nav-collapse li.menu-item a{
        display: block;
        width: 100%;
        height: 100%;
        padding: 22px 20px 22px 20px;
        
    }
    .menu_line{
        position: relative;
    }
    
    .menu_line::after{
       content:"";
       display:block;
       width:1px;
       height:40px;
       background-color:#DDD;
       position:absolute;
       top:25px;
       left:100%;
    }
    
    .nav-collapse li.menu-item:first-child {
        border-left: none;
    }

    .nav-collapse a {
        padding: 0;
        text-align: center;
        border-top: 0;
        float: left;
        margin: 0;
        font-size: 14px;
        font-weight: 700;
        color: #333333;
        letter-spacing: 0.01em;
    }
    

    .nav-collapse a:hover{
        background: none;
        color:#EB0618;
        text-decoration: none;
    }
    
    
    .menu_inner a {
        padding: 0;
        text-align: center;
        border-top: 0;
        float: left;
        margin: 0;
        font-size: 14px;
        font-weight: 700;
        color: #FFF;
        letter-spacing: 0.01em;
    }
    

    .menu_inner a:hover{
        background: none;
        color:#EB0618;
        text-decoration: none;
    }
    

    
    
    .nav-collapse .fa-envelope{
        width: 100%;
        font-size: 30px;
        display: block;
    }
    
    
    .nav-collapse li.mi_contact{
        
    }
    .nav-collapse li.mi_contact span{
        display: none;
    }
    
    .logo {
        padding: 30px 20px 10px 20px;
        float: left;
    }
    .logo img{
        height: 25px;
        transition: .3s;
    }

    a.contact_btn {
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        text-decoration: none;
        color: #ffffff;
        font-size: 18px;
        border-radius: 3px;
        width: 140px;
        padding:16px 0;
        margin-top:20px;
        font-weight: normal;
        transition: 0.3s;
        background-image: radial-gradient(circle at 100% 0%, rgba(0, 181, 181, 1) 15%, rgba(106, 181, 38, 1));
    }
    
    
    
    a.contact_btn:hover {
        opacity: .8;
        color:#FFF;
        background-image: radial-gradient(circle at 100% 0%, rgba(106, 181, 38, 1) 15%, rgba(0, 181, 181, 1));
    }
    
    
    
    .catchtitle p.subc_en{
        font-size: 40px;
        margin-top: 60px;
    }
    
    .catchtitle p.subc_jp{
        font-size: 48px;
        line-height: 1;
    }
    .catchtitle p.subc_txt{
        font-size: 18px;
    }
    .catchtitle .subc_menu_sp{
        display: none;
    }
    a.coating_left_btn {
        display: block;
    }
    a.coating_right_btn {
        display: block;
    }
    
}
@media screen and (min-width: 1000px) {
    .nav-collapse li.menu-item a{
        padding: 25px 5px 24px 5px;
        transition: .3s;
    }
    .nav-collapse a {
        font-size: 11px;
    }
    .nav-collapse li span{
        font-size: 10px;
        color: #666;
        font-weight: normal;
    }
    .nav-collapse {
        margin-right: 20px;
    }
    a.contact_btn {
        width: 120px;
        padding:14px 0;
        margin-top:25px;
    }
    
    .logo {
        padding: 29px 20px 10px 25px;
        float: left;
    }
    .logo img{
        height: 32px;
        transition: .3s;
    }
    
    
}
@media screen and (min-width: 1240px) {
    .nav-collapse li.menu-item a{
        padding: 25px 10px 24px 10px;
        transition: .3s;
    }
    .nav-collapse a {
        font-size: 12px;
    }
    .nav-collapse li span{
        font-size: 10px;
        color: #666;
        font-weight: normal;
    }
    .nav-collapse {
        margin-right: 20px;
    }
    
    .logo {
        padding: 23px 20px 10px 25px;
        float: left;
    }
    .logo img{
        height: 45px;
        transition: .3s;
    }
    a.contact_btn {
        width: 140px;
        padding:14px 0;
        margin-top:25px;
    }

}

@media screen and (min-width: 1340px) {
    .nav-collapse li.menu-item a{
        padding: 22px 10px 22px 10px;
        transition: .3s;
    }
    .nav-collapse a {
        font-size: 14px;
    }
    .nav-collapse li span{
        font-size: 10px;
    }
    .nav-collapse {
        margin-right: 20px;
    }
}
@media screen and (min-width: 1440px) {
    .nav-collapse li.menu-item a{
        padding: 22px 15px 22px 15px;
    }
    .nav-collapse a {
        font-size: 14px;
    }
    .nav-collapse li span{
        font-size: 10px;
    }
    .nav-collapse {
        margin-right: 20px;
    }
}


/* sec_top_pickup
------------------------------------------------------------*/

#sec_top_pickup{
    margin:0;
    padding:50px 0 50px 0;
    text-align: left;
	background: #FFF;
}

#sec_top_pickup .inner{
    margin: 0 auto;
    max-width: 1240px;
    overflow: hidden;
    padding: 0 10px;
}
#sec_top_pickup .inner h1 {
    position: relative;
    padding: 0 10px;
    text-align: center;
    box-sizing: border-box;
}

#sec_top_pickup .inner h1:before {
    position: absolute;
    bottom: -10px;
    left: calc(50% - 30px);
    width: 60px;
    height: 2px;
    content: '';
    background: #222;
}

/*  画面サイズが640pxまで  */
@media screen and (min-width: 640px) {
    #sec_top_pickup .inner h1 {
        font-size: 36px;
    }
}

@media screen and (min-width: 1000px) {
    #sec_top_pickup{
        margin:0;
        padding:50px 0 50px 0;
        text-align: left;
    }
    #sec_top_pickup .inner{
        padding: 0 10px;
    }
}

@media screen and (min-width: 1240px) {
    
 
}


/* sec_top_news
------------------------------------------------------------*/

#sec_top_news{
    margin:0;
    padding:50px 0 50px 0;
    text-align: left;
    background: #FFFFFF;
}

#sec_top_news .inner{
    margin: 0 auto;
    max-width: 1240px;
    overflow: hidden;
    padding: 0 10px;
}
#sec_top_news .inner h1 {
    position: relative;
    padding: 0 10px;
    text-align: center;
    box-sizing: border-box;
}

#sec_top_news .inner h1:before {
    position: absolute;
    bottom: -10px;
    left: calc(50% - 30px);
    width: 60px;
    height: 2px;
    content: '';
    background: #222;
}

#sec_top_news ul{
    margin: 0 auto;
    max-width: 1200px;
    overflow: hidden;
    border-top: 1px solid #AAAAAA;
    margin-top: 60px;
    margin-bottom: 20px;
}

#sec_top_news ul li{
    border-bottom: 1px solid #AAAAAA;
    padding: 20px 0 20px 0;
    overflow: hidden;
}

.idate_box{
    float: left;
    width: auto;
    padding-top: 0px;
    font-weight: bold;
    font-size: 16px;
    margin-left: 10px;
    letter-spacing: 0.05em;
}


.itext_box{
    float: left;
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 0.05em;
    font-size: 14px;
    font-weight: 500;
    margin-top: 5px;
    padding: 0 10px;
}
.itext_box a{
    text-decoration: none;
    color: #333333;
}

#sec_top_news p a{
    text-decoration: none;
    color: #333333;
}

#sec_top_news p a:hover{
    text-decoration: none;
    color: #003F98;
}

#sec_top_news .info_icon01{
    float: left;
    width: 100px;
    display: block;
    background: #6FB82F;
    color:#FFF;
    font-weight: 500;
    letter-spacing: 0.01em;
    font-size: 14px;
    line-height: 2;
    padding: 0px 0;
    margin: 2px 20px 0 20px;
    border-radius: 2px;
    text-align: center;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
#sec_top_news .info_icon02{
    float: left;
    width: 100px;
    display: block;
    background: #FF4000;
    color:#FFF;
    font-weight: 500;
    letter-spacing: 0.01em;
    font-size: 12px;
    line-height: 2;
    padding: 0px 0;
    margin: 3px 20px 0 20px;
    border-radius: 30px;
    text-align: center;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
#sec_top_news .info_icon03{
    float: left;
    width: 100px;
    display: block;
    background: #004098;
    color:#FFF;
    font-weight: 500;
    letter-spacing: 0.01em;
    font-size: 12px;
    line-height: 2;
    padding: 0px 0;
    margin: 3px 20px 0 20px;
    border-radius: 30px;
    text-align: center;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#sec_top_news .inner .btn_more{
    width: 100%;
    margin: 20px 0 0 0;
    text-align: center;
}

.btn--more-blue_b,
a.btn--more-blue_b {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(0, 181, 181, 1) 15%, rgba(106, 181, 38, 1));
    margin: 0 0 0 0;
    font-size: 20px;
    font-weight: bold;
    font-weight: bold;
    font-family: 'Lato', sans-serif;
    font-weight: 900;
}
.btn--more-blue_b:hover,
a.btn--more-blue_b:hover {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(106, 181, 38, 1) 15%, rgba(0, 181, 181, 1));
}


.news_more_btn {
    font-size: 13px;
    font-weight: normal;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    width: 100%;
    padding: 15px 0 15px 0;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    border-radius: 6px;
    color: #fff;
}


/*  画面サイズが640pxまで  */
@media screen and (min-width: 640px) {
    #sec_top_news .inner h1 {
        font-size: 36px;
    }
    
    .idate_box{
        float: left;
        width: auto;
        text-align: left;
        margin-left: 10px;
        font-size: 16px;
    }

    .itext_box{
        float: left;
        width: 100%;
        margin-top: 10px;
        font-size: 16px;
        box-sizing: border-box;
    }
    
    
}

@media screen and (min-width: 1000px) {
    #sec_top_news{
        margin:0;
        padding:50px 0 50px 0;
        text-align: left;
    }
    #sec_top_news .inner{
        padding: 0 10px;
    }
    
    .idate_box{
        float: left;
        width: 120px;
        text-align: right;
        font-size: 18px;
    }

    .itext_box{
        float: left;
        width: calc(100% - 300px);
        margin-top: 0px;
        font-size: 16px;
    }
    
    #sec_top_news .inner .btn_more{
        margin: 40px 0 0 0;
    }
    
    .news_more_btn {
        width: 40%;
    }

    
}

@media screen and (min-width: 1240px) {
    
 
}



/* sec_top_category
------------------------------------------------------------*/

#sec_top_category{
    margin:0;
    padding:50px 0 0px 0;
    text-align: left;
}

#sec_top_category .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
    padding: 0 10px;
    margin-bottom: 50px;
}


#sec_top_category h1 {
    width: 100%;
    margin: 0px 0 40px 0;
    position: relative;
    display: inline-block;
    text-align: left;
    font-size: 22px;
    color: #000000;
    box-sizing: border-box;
    font-weight: bold;
    letter-spacing: 0.05em;
    font-family: "Lato";
    padding-left: 2px;
}

#sec_top_category h1:before {
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100px;
    height: 2px;
    content: '';
    background: #333333;
}






.day_more_btn {
    font-size: 13px;
    font-weight: normal;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    width: 100%;
    padding: 10px 0 10px 0;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    border-radius: 6px;
    color: #fff;
}

.btn--more-day_b,
a.btn--more-day_b {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(250, 107, 46, 1) 15%, rgba(253, 100, 104, 1));
    margin: 0 0 0 0;
    font-size: 16px;
    font-weight: normal;
}
.btn--more-day_b:hover,
a.btn--more-day_b:hover {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(253, 100, 104, 1) 15%, rgba(250, 107, 46, 1));
}


.btn--more-fitness_b,
a.btn--more-fitness_b {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(61, 180, 102, 1) 15%, rgba(80, 173, 209, 1));
    margin: 0 0 0 0;
    font-size: 16px;
    font-weight: normal;
}
.btn--more-fitness_b:hover,
a.btn--more-fitness_b:hover {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(80, 173, 209, 1) 15%, rgba(61, 180, 102, 1));
}

.btn--more-studio_b,
a.btn--more-studio_b {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(171, 89, 210, 1) 15%, rgba(250, 107, 46, 1));
    margin: 0 0 0 0;
    font-size: 16px;
    font-weight: normal;
}
.btn--more-studio_b:hover,
a.btn--more-studio_b:hover {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(250, 107, 46, 1) 15%, rgba(171, 89, 210, 1));
}

.btn--more-school_b,
a.btn--more-school_b {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(255, 191, 0, 1) 15%, rgba(61, 180, 102, 1));
    margin: 0 0 0 0;
    font-size: 16px;
    font-weight: normal;
}
.btn--more-school_b:hover,
a.btn--more-school_b:hover {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(61, 180, 102, 1) 15%, rgba(255, 191, 0, 1));
}


.category_box{
    overflow: hidden;
    position: relative;
    padding-top: 50px;
}
.category_box_left{
    float: left;
    width: 100%;
    padding-right: 0px;
    box-sizing: border-box;   
}

.category_box_left .btn_more{
    width: 100%;
    margin: 30px 0 0 0;
    text-align: center;
}


.category_box_left p{
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 2;
}


.category_box_right{
    float: right;
    width: 100%;
    text-align: right;
    margin-top: 20px;
}

.category_box_right img{
    width: 100%;
    border-radius: 10px;
}

.cat_name{
    position: absolute;
    text-align: left;
    font-size: 32px;
    font-weight: 900;
    letter-spacing: 0.01em;
    font-family: "Lato";
    line-height: 1;
    left: 0px;
    top: 0px;
    color: #FED2D3;
}
.cat_name2{
    position: absolute;
    text-align: left;
    font-size: 32px;
    font-weight: 900;
    letter-spacing: 0.01em;
    font-family: "Lato";
    line-height: 1;
    left: 0px;
    top: 0px;
    color: #FED2D3;
}

.cat_day{
    color: #FED2D3;
}
.cat_fitness{
    color: #BFE1EE;
}
.cat_studio{
    color: #F9CCBB;
}
.cat_school{
    color: #B7E5C6;
}


.category_box_right2{
    float: right;
    width: 100%;
    padding-right: 0px;
    box-sizing: border-box;   
}

.category_box_right2 .btn_more{
    width: 100%;
    margin: 30px 0 0 0;
    text-align: center;
}


.category_box_right2 p{
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 2;
}

.category_box_left2{
    float: left;
    width: 100%;
    text-align: right;
    margin-top: 20px;
}

.category_box_left2 img{
    width: 100%;
    border-radius: 10px;
}


/*  画面サイズが640pxまで  */
@media screen and (min-width: 640px) {
    
    
    #sec_top_category .inner{
        margin-bottom: 80px;
    }

    
    #sec_top_category h1 {
        margin: 40px 0 40px 0;
        font-size: 32px;
    }
    
    .category_box{
        overflow: hidden;
        position: relative;
        padding-top: 75px;
    }
    
    .category_box_left p{
        font-size: 14px;
    }

    .category_box_left{
        float: left;
        width: calc(100% - 40%);
        padding-right: 30px;
        box-sizing: border-box;   
    }

    .category_box_right{
        float: right;
        width: 40%;
        max-width: 400px;
        text-align: right;
        margin-top: 0px;
    }
    
    .cat_name{
        text-align: right;
        font-size: 72px;
        right: 10px;
        top: 10px;
    }
    .cat_name2{
        text-align: left;
        font-size: 72px;
        left: 10px;
        top: 10px;
    }
    .btn--more-day_b,
    a.btn--more-day_b {
        font-size: 20px;
    }
    
    .btn--more-fitness_b,
    a.btn--more-fitness_b {
        font-size: 20px;
    }
    .btn--more-studio_b,
    a.btn--more-studio_b {
        font-size: 20px;
    }
    
    .btn--more-school_b,
    a.btn--more-school_b {
        font-size: 20px;
    }

    .category_box_right2{
        float: right;
        width: calc(100% - 40%);
        padding-left: 30px;
        box-sizing: border-box;   
    }

    .category_box_left2{
        float: left;
        width: 40%;
        max-width: 400px;
        text-align: right;
        margin-top: 0px;
    }
    
    
}

@media screen and (min-width: 1000px) {
    #sec_top_category{
        margin:0;
        padding:80px 0 0px 0;
        text-align: left;
    }
    #sec_top_category .inner{
        padding: 0 10px;
    }
    .category_box_left p{
        font-size: 16px;
    }
    .category_box_left{
        float: left;
        width: calc(100% - 640px);
        padding-right: 70px;
        box-sizing: border-box;

    }
    .category_box_right{
        float: right;
        width: 640px;
        max-width: 640px;
        text-align: right;
    }
    
    .cat_name{
        font-size: 120px;
        right: 10px;
        top: -10px;
    }
    .cat_name2{
        font-size: 120px;
        left: 10px;
        top: -10px;
    }
    .category_box_right2 p{
        font-size: 16px;
    }
    .category_box_right2{
        float: right;
        width: calc(100% - 640px);
        padding-left: 70px;
        box-sizing: border-box;

    }
    .category_box_left2{
        float: left;
        width: 640px;
        max-width: 640px;
        text-align: right;
    }
    
    
    
}


/* sec_top_other
------------------------------------------------------------*/

#sec_top_other{
    margin:0;
    padding:10px 0 10px 0;
    text-align: left;
}

#sec_top_other .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
    padding: 0 10px;
}


.other_box {
    width: 100%;
    margin: 0px auto;
    display: block;
}

#sec_top_other .inner .other_list{
    padding: 0 0px;
    box-sizing: border-box;
    max-width: 100%;
    box-sizing: border-box;
    
}
#sec_top_other .inner .other_list .plist_parts{
    background: #FBF4DD;
    padding-bottom: 40px;
    max-width: 400px;
    text-align: center;
    margin: 0 auto;
    flex-grow: 1;
    border-radius: 10px;
    margin-bottom: 20px;
    box-sizing: border-box;
}

.other_training{
    background: #FBF4DD !important;
}
.other_minefit{
    background: #F1EAF2 !important;
}
.other_support{
    background: #E1EDF7 !important;
}

#sec_top_other .inner .other_list .plist_parts h2{
    font-size: 16px;
    color: #111111;
    text-align: center;
    padding: 0 20px;
    box-sizing: border-box;
    position: relative;
    margin: 20px 0 20px 0;
}

#sec_top_other .inner .other_list .plist_parts h2:after {
    position: absolute;
    content: "";
    left:40%;
    display: block;
    border-bottom: solid 2px #111111;
    bottom: -10px;
    width: 20%;
}


#sec_top_other .inner .other_list .plist_parts p{
    font-size: 14px !important;
    padding: 10px 20px 0 20px;
    box-sizing: border-box;
    letter-spacing: 0.02em;
}

#sec_top_other .inner .other_list .plist_parts a{
    text-decoration: none;
    color:#333;
}

#sec_top_other .inner .other_list .plist_parts a:hover img {
    opacity: 0.8;
    transform: scale(1.1);
}

#sec_top_other .inner .other_list figure {
    width: 100%;
    max-width: 100%;
    max-height: 230px;
    overflow: hidden;
    box-sizing: border-box;
    border-radius: 10px 10px 0 0;
}

#sec_top_other .inner .other_list img{
    width: 100%;
    max-width: 100%;
    transition: .4s;
    box-sizing: border-box;
    
}

div.vid_contents {
    width: 100%;/*背景色を横幅いっぱいに広げる*/
    text-align: center;
    margin: auto;
    padding: 0%;/*ここで動画の周りの余白を調整*/
    background: #e6e6e6;/*余白の背景色*/
    box-sizing: border-box;
}
video.vid_main {
    width: 100%;
    max-width: 920px;/*PC版での最大幅*/
}

/*  画面サイズが640pxまで  */
@media screen and (min-width: 640px) {
    
    .other_box {
        width: 100%;
        margin: 0px auto;
        display: flex;
    }

    
    #sec_top_other .inner .other_list{
        margin: 0 10px;
        box-sizing: border-box;
        max-width: calc(100%/3);
    }
    #sec_top_other .inner .other_list:first-child{
        margin: 0 10px 0 0px;
    }
    #sec_top_other .inner .other_list:last-child{
        margin: 0 0 0 10px;
    }
    
    #sec_top_other .inner .other_list .plist_parts p{
        font-size: 14px !important;
        padding: 10px 20px 0 20px;
        box-sizing: border-box;
        letter-spacing: 0.02em;
    }
    
    #sec_top_other .inner .other_list .plist_parts h2{
        font-size: 18px;
        padding: 0 10px;
    }
    
}

@media screen and (min-width: 1000px) {
    
    #sec_top_other .inner .other_list{
        margin: 0 20px;
        max-width: calc(100%/3);
        box-sizing: border-box;
    }
    #sec_top_other .inner .other_list:first-child{
        margin: 0 20px 0 0px;
    }
    #sec_top_other .inner .other_list:last-child{
        margin: 0 0 0 20px;
    }
    
    
    
    #sec_top_other{
        margin:0;
        padding:0px 0 50px 0;
        text-align: left;
    }
    
    #sec_top_other .inner .other_list .plist_parts p{
        font-size: 14px !important;
        padding: 10px 40px 0 40px;
        box-sizing: border-box;
        letter-spacing: 0.02em;
    }
    
    #sec_top_other .inner .other_list .plist_parts h2{
        font-size: 24px;
        padding: 0 20px;
    }

    
}

@media screen and (min-width: 1240px) {
    
 
}



/* sec_top_report
------------------------------------------------------------*/

#sec_top_report{
    margin:0;
    padding:0px 0 50px 0;
    text-align: left;
}

#sec_top_report .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
    padding: 0 10px;
}


.report_box {
    width: 100%;
    margin: 0px auto;
    display: block;
}

#sec_top_report .inner .report_list{
    padding: 0 0px;
    box-sizing: border-box;
    max-width: 100%;
    margin-bottom: 10px;
}
#sec_top_report .inner .report_list .plist_parts{
    text-align: center;
    margin: 0 auto;
    flex-grow: 1;
    vertical-align: bottom;
    width: 100%;
    position: relative;
    vertical-align: bottom;
}

#sec_top_report .inner .report_list .plist_parts a:hover{
    opacity:0.9;
}

#sec_top_report .inner .report_list .plist_parts img{
    width: 100%;
    max-width: 100%;
    transition: .4s;
    border-radius: 10px;
    
}


#sec_top_report .inner .report_list h2{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #FFF;
    font-size: 22px;
    width: 100%;
    background: #333;
    background-color:rgba(51,51,51,0.6);
    line-height: 1;
    padding: 30px 0
}



#sec_top_report .inner .report_list h2 span{
    display: block;
    font-size: 16px;
    font-family: "Lato";
    font-weight: 600;
    line-height: 1;
    margin-top: 10px;
}


/*  画面サイズが640pxまで  */
@media screen and (min-width: 640px) {
    
    .report_box {
        width: 100%;
        margin: 0px auto;
        display: flex;
    }

    
    #sec_top_report .inner .report_list{
        padding: 0 10px;
        box-sizing: border-box;
        max-width: calc(100%/2);
    }
    #sec_top_report .inner .report_list:first-child{
        padding: 0 10px 0 0px;
    }
    #sec_top_report .inner .report_list:last-child{
        padding: 0 0 0 10px;
    }
    
    #sec_top_report .inner .report_list .plist_parts{
        max-width: 100%;
        text-align: center;
        margin: 0 auto;
        flex-grow: 1;
        border-radius: 10px;
        margin-bottom: 0px;
        
    }

    
}

@media screen and (min-width: 1000px) {
    
    #sec_top_report .inner .report_list h2{
        font-size: 3vw;
    }
    #sec_top_report .inner .report_list h2 span{
        font-size: 20px;
    }
    
    
    #sec_top_report .inner .report_list{
        padding: 0 20px;
        box-sizing: border-box;
        max-width: calc(100%/2);
    }
    #sec_top_report .inner .report_list:first-child{
        padding: 0 20px 0 0px;
    }
    #sec_top_report .inner .report_list:last-child{
        padding: 0 0 0 20px;
    }

    
}

@media screen and (min-width: 1240px) {
    
 
}


/* sec_sub_plan
------------------------------------------------------------*/

#sec_sub_plan{
    margin:0;
    padding:50px 0 0px 0;
    text-align: left;
}

#sec_sub_plan .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
    padding: 0 10px;
}
#sec_sub_plan .inner h1 {
    position: relative;
    padding: 0 10px;
    text-align: center;
    box-sizing: border-box;
}

#sec_sub_plan .inner h1:before {
    position: absolute;
    bottom: -10px;
    left: calc(50% - 50px);
    width: 100px;
    height: 3px;
    content: '';
    background: #222;
}

#sec_sub_plan .inner .detail_col2box{
    overflow: hidden;
    display: block;
    padding: 0 0;
    margin: 70px 0 20px 0;
    box-sizing: border-box;
}

#sec_sub_plan .inner .detail_col2box p{
    font-size: 14px;
    color: #222222;
    margin-bottom: 15px;
    line-height: 2;
}

#sec_sub_plan .inner .detail_col2box p.heading{
    font-size: 20px;
    color: #222222;
    margin-bottom: 20px;
    line-height: 1.7;
    font-weight: bold;
    letter-spacing: 0.02em;
}

#sec_sub_plan .inner .detail_col2box .detail_col2_left{
    float: left;
    width: 100%;
    margin: 0 0 10px 0;
    max-width: 1000px;
    box-sizing: border-box;
    text-align: center;
}

#sec_sub_plan .inner .detail_col2box .detail_col2_left ul{
    list-style: none;
    text-align: left;
    margin-top: 30px;
}

#sec_sub_plan .inner .detail_col2box .detail_col2_left ul li{
    font-size: 14px;
    font-weight: bold;
    color: #111;
    margin-bottom: 10px;
    padding-left: 1.5em;
    text-indent: -1.5em;
}

#sec_sub_plan .inner .detail_col2box .detail_col2_left ul li::before {
	display: inline-block;
	content: "";
	margin-top: 5px;
	margin-right: 10px;
	width: 14px;
	height: 14px;
	vertical-align: top;
	border-radius: 8px;
	background-color: #1F4672;
}



#sec_sub_plan .inner .detail_col2box .detail_col2_right{
    float: right;
    width: 100%;
    margin: 0 0 10px 0;
    max-width: 1000px;
    box-sizing: border-box;
    text-align: center;
}

#sec_sub_plan .inner .detail_col2box .detail_col2_right img{
    width: 100%;
    max-width: 500px;
    border-radius: 10px;
}




/*  画面サイズが640pxまで  */
@media screen and (min-width: 640px) {
    #sec_sub_plan .inner h1 {
        font-size: 44px;
    }
    
    #sec_sub_plan .inner .detail_col2box{
        padding: 0 20px;
    }
    #sec_sub_plan .inner .detail_col2box p{
        font-size: 16px;
    }
    
    #sec_sub_plan .inner .detail_col2box p.heading{
        font-size: 24px;
    }
    
    #sec_sub_plan .inner .detail_col2box .detail_col2_left{
        width: calc( 100% - 300px );
    }

    #sec_sub_plan .inner .detail_col2box .detail_col2_right{
        width: 280px;
        margin-left: 20px;
    }
    
    
}

@media screen and (min-width: 1000px) {
    #sec_sub_plan{
        margin:0;
        padding:50px 0 0px 0;
        text-align: left;
    }
    #sec_sub_plan .inner{
        padding: 0 0px;
    }
    
    #sec_sub_plan .inner .detail_col2box .detail_col2_left{
        width: calc( 100% - 560px );
    }
    
    #sec_sub_plan .inner .detail_col2box p.heading{
        font-size: 26px;
    }
    
    #sec_sub_plan .inner .detail_col2box .detail_col2_right{
        width: 500px;
        margin-left: 60px;
    }


    
}

@media screen and (min-width: 1240px) {
    
 
}

/* sec_sub_productlist
------------------------------------------------------------*/

#sec_sub_productlist{
    margin:0;
    padding:0px 0 50px 0;
    text-align: left;
}

#sec_sub_productlist .inner{
    margin: 0 auto;
    max-width: 1240px;
    overflow: hidden;
    padding: 0 10px;
}
#sec_sub_productlist .inner h1 {
    position: relative;
    padding: 0 10px;
    text-align: center;
    box-sizing: border-box;
    font-size: 22px;
}

#sec_sub_productlist .inner h1:before {
    position: absolute;
    bottom: -10px;
    left: calc(50% - 30px);
    width: 60px;
    height: 2px;
    content: '';
    background: #222;
}
.productlist-outer{
    text-align: center;
    display: flex;
    flex-wrap: wrap; /* 折返し指定 */
    margin-top: 40px;
	margin-bottom: 10px;
}

.productlist-box{
    text-align: center;
    width: 50%;
    margin-bottom: 40px;
}

.productlist-box img{
    width: 100%;
    max-width: 280px;
}

.productlist-box a{
    color: #222;
    text-decoration: none;
}
.productlist-box a:hover{
    color: #222;
    text-decoration:underline;
}
.productlist-box .title{
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0;
}
.productlist-box .price{
    text-align: center;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0;
}


/*  画面サイズが640pxまで  */
@media screen and (min-width: 640px) {
    #sec_sub_productlist .inner h1 {
        font-size: 36px;
    }
    .productlist-outer{
        margin-top: 60px;
		margin-bottom: 20px;
    }

    .productlist-box{
        text-align: center;
        width: calc(100%/3);
        margin-bottom: 40px;
    }
    
}

@media screen and (min-width: 1000px) {
    #sec_sub_productlist{
        margin:0;
        padding:50px 0 50px 0;
        text-align: left;
    }
    #sec_sub_productlist .inner{
        padding: 0 10px;
    }
    .productlist-box{
        text-align: center;
        width: 25%;
        margin-bottom: 40px;
    }
    
}

@media screen and (min-width: 1240px) {
    
 
}



/* sec_sub_plan_plan
------------------------------------------------------------*/

#sec_sub_plan_plan{
    margin:0;
    padding:50px 0 50px 0;
    text-align: left;
    background: #FAFAFA;
}

#sec_sub_plan_plan .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
    padding: 0 10px;
}
#sec_sub_plan_plan .inner h1 {
    position: relative;
    padding: 0 10px;
    text-align: center;
    box-sizing: border-box;
}

#sec_sub_plan_plan .inner h1:before {
    position: absolute;
    bottom: -10px;
    left: calc(50% - 50px);
    width: 100px;
    height: 3px;
    content: '';
    background: #222;
}


#sec_sub_plan_plan .inner .plan_box{
    overflow: hidden;
    display: block;
    padding: 0 0;
    margin: 50px 0 20px 0;
    box-sizing: border-box;
}

#sec_sub_plan_plan .inner .plan_box p{
    text-align: center;
    font-size: 16px;
}

#sec_sub_plan_plan .inner .plan_box p.heading{
    font-size: 20px;
    color: #222222;
    margin-bottom: 20px;
    line-height: 1.7;
    font-weight: bold;
    letter-spacing: 0.02em;
    text-align: center;
}


#sec_sub_plan_plan .inner .plan_box p.free{
    font-size: 20px;
    color: #222222;
    margin-bottom: 20px;
    line-height: 1.7;
    font-weight: bold;
    letter-spacing: 0.02em;
    text-align: center;
    margin-top: 30px;
}

#sec_sub_plan_plan .inner .btn_more{
    width: 100%;
    margin: 40px 0 0 0;
    text-align: center;
}

/*  画面サイズが640pxまで  */
@media screen and (min-width: 640px) {
    #sec_sub_plan_plan .inner h1 {
        font-size: 44px;
    }
    
    #sec_sub_plan_plan .inner .plan_box p.heading{
        font-size: 24px;
    }
    #sec_sub_plan_plan .inner .plan_box p.free{
        font-size: 24px;
    }
    
}

@media screen and (min-width: 1000px) {
    #sec_sub_plan_plan{
        margin:0;
        padding:80px 0 80px 0;
        text-align: left;
    }
    #sec_sub_plan_plan .inner{
        padding: 0 0px;
    }
    #sec_sub_plan_plan .inner .plan_box p.heading{
        font-size: 28px;
    }
    #sec_sub_plan_plan .inner .plan_box p.free{
        font-size: 28px;
    }
    
}

@media screen and (min-width: 1240px) {
    
 
}


/* sec_sub_training
------------------------------------------------------------*/

#sec_sub_training{
    margin:0;
    padding:50px 0 0px 0;
    text-align: left;
}

#sec_sub_training .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
    padding: 0 10px;
}
#sec_sub_training .inner h1 {
    position: relative;
    padding: 0 10px;
    text-align: center;
    box-sizing: border-box;
}

#sec_sub_training .inner h1:before {
    position: absolute;
    bottom: -10px;
    left: calc(50% - 50px);
    width: 100px;
    height: 3px;
    content: '';
    background: #222;
}

#sec_sub_training .inner .vhead_box{
    overflow: hidden;
    margin-top: 50px;
}
#sec_sub_training .inner .vhead_box p{
    padding: 0;
    margin: 0;
    font-size: 14px;
    line-height: 1.8;
}


#sec_sub_training h2 {
    width: 100%;
    margin: 30px 0 20px 0;
    position: relative;
    display: inline-block;
    text-align: left;
    font-size: 20px;
    color: #313131;
    box-sizing: border-box;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding: 0 0 5px 10px;
    border-bottom: 2px solid #639E27;
}

#sec_sub_training h2::before {
    content: url(../images/training/video_icon.jpg);
    display: inline-block;
    width: 30px;
    height: 15px;
    
}
ul.video_box{
    padding: 10px 0 0 0;
    overflow: hidden;
    list-style: none;
    display:flex;
    flex-wrap:wrap;
}

 ul.video_box li{
        width: calc((100% - 10px) / 2);
        float:left;
        margin-left: 0;
    }
ul.video_box li{
    margin-right: 10px;
    margin-bottom: 30px;
}
ul.video_box li:nth-child(2n){
    margin-right: 0px;
    margin-bottom: 30px;
}


ul.video_box li a{
    display: block;
    text-decoration: none;
}

ul.video_box li a:hover{
    filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}

ul.video_box li p{
    width: 100%;
    padding: 10px 10px;
    box-sizing: border-box;
    text-align: justify;
    text-justify: inter-ideograph;
    letter-spacing: 0.01em;
    font-size: 14px;
    color: #444444;
}


ul.video_box li img{
    width: 100%;
}

ul.video_box li h3{
    font-size: 14px;
    line-height: 1.6;
    padding: 5px 0px;
    /* border-bottom: 1px dotted #CCCCCC; */
}

ul.video_box li a{
    color: #333;
}
.new_box{
    position: relative;
}

.new_icon:after{
    position: absolute;
    content: "NEW！";
    font-weight: bold;
    font-size: 12px;
    top: 0px;
    left: 0px;
    background: #ff0000;
    color: #fff;
    padding: 3px 10px 4px 10px;
}

.new_box img{
    width: 100%;
}


/*  画面サイズが640pxまで  */
@media screen and (min-width: 640px) {
    #sec_sub_training .inner h1 {
        font-size: 44px;
    }
    
    #sec_sub_training h2 {
        font-size: 26px;
        margin: 30px 0 20px 0;
        padding: 0 0 5px 10px;
    }
    

    ul.video_box li{
        width: calc((100% - 30px) / 3);
        float:left;
        margin-left: 0;
    }
    ul.video_box li{
        margin-right: 15px;
        margin-bottom: 30px;
    }
    ul.video_box li:nth-child(2n){
        margin-right: 15px;
    }
    
    ul.video_box li:nth-child(3n){
        margin-right: 0px;
    }
    ul.video_box li h3{
        font-size: 16px;
        line-height: 1.8;
        padding: 10px 0px;
        /* border-bottom: 1px dotted #CCCCCC; */
    }
}

@media screen and (min-width: 1000px) {
    #sec_sub_training{
        margin:0;
        padding:50px 0 50px 0;
        text-align: left;
    }
    #sec_sub_training .inner{
        padding: 0 0px;
    }
    
    #sec_sub_training .inner .vhead_box p{
        font-size: 16px;
    }

    ul.video_box li{
        max-width: 240px;
        width: calc((100% - 60px) / 5);
        float:left;
        margin-left: 0;
    }
    ul.video_box li{
        margin-right: 15px;
    }
    ul.video_box li:nth-child(2n){
        margin-right: 15px;
    }
    
    ul.video_box li:nth-child(3n){
        margin-right: 15px;
    }
    
    ul.video_box li:nth-child(5n){
        margin-right: 0px;
        margin-bottom: 30px;
    }
    
    
    
    ul.video_box li img{
        width: 100%;
        max-width: 390px;
    }
    
}

@media screen and (min-width: 1240px) {
    
 
}

/* sec_category_main
------------------------------------------------------------*/

#sec_category_main{
    overflow: hidden;
    padding: 30px 0;
}

#sec_category_main .inner{
    margin: 0 auto;
    max-width: 1100px;
    padding: 0 10px;
    overflow: hidden;
}

#sec_category_main .inner h2{
    font-size: 22px;
    font-weight: bold;
    color:#313131;
    line-height: 1.7;
}

#sec_category_main .inner p{
    text-align: center;
    font-size: 14px;
    line-height: 1.7;
    margin-top: 15px;
    letter-spacing: 0.05em;
}


@media screen and (min-width: 1000px) {
    
    #sec_category_main{
        overflow: hidden;
        padding: 40px 0 20px 0;
    }
    
    #sec_category_main .inner h2{
        font-size: 36px;
        line-height: 1.7;
    }
    
    
    #sec_category_main .inner p{
        font-size: 18px;
        line-height: 2;
        margin-top: 45px;
    }
    
    
}



#sec_system_box01{
    overflow: hidden;
    padding: 30px 0;
}

#sec_system_box01 .inner{
    margin: 0 auto;
    max-width: 1100px;
    padding: 0 10px;
    overflow: hidden;
}

#sec_system_box01 .inner h2{
    font-size: 20px;
    font-weight: bold;
    color:#313131;
    line-height: 1.5em;
}
#sec_system_box01 .inner h2 span{
    display: block;
    font-size: 12px;
    font-weight: bold;
    color:#00a0e9;
    letter-spacing: 0.05em;
    line-height: 2.5em;
}

#sec_system_box01 .inner p{
    text-align: center;
    font-size: 13px;
    line-height: 2em;
    margin-top: 15px;
    letter-spacing: 0.05em;
}




.sec_system_box02{
    overflow: hidden;
    padding: 0 0 30px 0;
}

.sec_system_box02 .inner{
    margin: 0 auto;
    max-width: 1120px;
    padding: 0 10px;
    overflow: hidden;
    margin-bottom: 30px;
}

.sec_system_box02 .inner h1{
    font-size: 16px;
    font-weight: bold;
    color:#313131;
    line-height: 1.5em;
    background: #6CBF23;
    color:#FFF;
    padding: 5px 0 7px 40px;
    text-align: left;
    position: relative;
}

.sec_system_box02 .inner h1::after {
    position: absolute;
    top: 50%;
    left:0;
    transform:translateY(-50%);
    content: '';
    width: 18px;
    height:18px;
    border: solid 5px #FFF;
    background-color: #F06D00;
    border-radius:100%;
}
.sec_system_box02 .inner h1::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform:translateY(-50%);
    content: '';
    width: 15px;
    height:110%;
    background-color: #FFFFFF;
}

.sec_system_box02 .inner .point_box{
    text-align: left;
    padding: 20px 0;
    box-sizing: border-box;
}

.sec_system_box02 .inner .point_box ul{
    text-align: left;
    list-style:  none; 
    font-size: 12px;
    margin: 12px 0 30px 10px;
}
.sec_system_box02 .inner .point_box ul li:before{ /*疑似要素*/
  display:inline-block; 
  vertical-align:middle;
  content:'';
  width:10px;
  height:10px;
  background: #313131;
  margin-right: 8px;
   margin-top: -2px;
}

.sec_system_box02 .inner .point_box ul ul{
    text-align: left;
    list-style:  none;
    font-size: 12px;
    margin: 0px 10px 10px 5px;
}
.sec_system_box02 .inner .point_box ul ul li:before{ /*疑似要素*/
    display:inline-block; 
    vertical-align: middle;
    content:'';
    width:4px;
    height:4px;
    background: #313131;
    border-radius: 2px;
    margin-right: 8px;
}

hr.style_point{
	border-top: 2px solid #00A0E9;
}
.sec_system_box02 .inner .point_box img.point_img{
    width: auto;
    vertical-align: top;
    margin-top: -20px;
    margin-left: 40px;
    
}
.sec_system_box02 .inner .point_box img.point_map{
    width: 100%;
}




.pdf_btn_box{
    width: 100%;
    text-align: center;
    margin: 10px 0 0 0;
    padding: 0;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.05em;
}


a.pdf_btn {
	display: inline-block;
    position: relative;
	width: 100%;
    max-width: 500px;
	padding: 1em 0 1em 20px;
	text-align: center;
	text-decoration: none;
	color: #313131;
    background: #EEE;
	transition: .4s;
    box-sizing: border-box;
}
a.pdf_btn:hover {
	background: #EB6B00;
	color: #fff;
}


a.pdf_btn:before {
    content: '';
    width: 12px;
    height: 12px;
    border: 0px;
    border-top: solid 2px #00a0e9;
    border-right: solid 2px #00a0e9;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 10%;
    margin-top: -7px;
}
a.pdf_btn:after {
    content: '';
    width: 12px;
    height: 12px;
    border: 0px;
    border-top: solid 2px #00a0e9;
    border-right: solid 2px #00a0e9;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 12%;
    margin-top: -7px;
}


a.pdf_btn:hover:before {
    content: '';
    width: 12px;
    height: 12px;
    border: 0px;
    border-top: solid 2px #FFFFFF;
    border-right: solid 2px #FFFFFF;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 10%;
    margin-top: -7px;
}
a.pdf_btn:hover:after {
    content: '';
    width: 12px;
    height: 12px;
    border: 0px;
    border-top: solid 2px #FFFFFF;
    border-right: solid 2px #FFFFFF;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 12%;
    margin-top: -7px;
}



.sec_system_box02 .inner .exsample_box{
    text-align: left;
    padding: 20px 0;
    box-sizing: border-box;
    background: #E5F5FD;
    margin: 10px 0;
}

.sec_system_box02 .inner .point_box img.exsample_img{
    width: 100%;
}


.sec_system_box02 .inner .exsample_box h2{
    width: 150px;
    background: #00A0E9;
    color:#FFF;
    padding: 4px 0 4px 20px;
    font-size: 16px;
    position: relative;
}

.sec_system_box02 .inner .exsample_box h2::after {
    position: absolute;
    top: 50%;
    right: -25px;
    transform:translateY(-50%);
    content: '';
    width: 50px;
    height:100%;
    border-radius: 100%;
    background-color: #00A0E9;
}

.sec_system_box02 .inner .exsample_box ul{
    text-align: left;
    list-style:  none;
    font-size: 12px;
    margin: 12px 10px 10px 15px;
}
.sec_system_box02 .inner .exsample_box ul li:before{ /*疑似要素*/
    display:inline-block; 
    vertical-align: middle;
    content:'';
    width:4px;
    height:4px;
    background: #313131;
    border-radius: 2px;
    margin-right: 8px;
}


.sec_system_box02 .inner .img_2col{
    text-align: left;
    padding: 20px 0;
    box-sizing: border-box;
    margin: 10px 10px;
}
.sec_system_box02 .inner .img_2col img{
    float: left;
    width: 100%;
    padding: 0 0 10px 0px;
    box-sizing: border-box;
}


.sec_system_box02 .inner .mint_box{
    text-align: left;
    padding: 20px 0;
    box-sizing: border-box;
    background: #FDF0E5;
    margin: 10px 0px;
}


.sec_system_box02 .inner .mint_box h2{
    color:#F06D00;
    padding: 4px 0 4px 20px;
    font-size: 16px;
    position: relative;
}


.sec_system_box02 .inner .mint_box ul{
    text-align: left;
    list-style:  none;
    font-size: 13px;
    margin: 0px 10px 10px 25px;
}
.sec_system_box02 .inner .mint_box ul li:before{ /*疑似要素*/
    display:inline-block; 
    vertical-align: middle;
    content:'';
    width:4px;
    height:4px;
    background: #313131;
    border-radius: 2px;
    margin-right: 8px;
}

.sec_system_box02 .inner .movie-box{
    margin: 0 auto;
    max-width: 710px;
    padding: 20px 0 0 0;
    box-sizing: border-box;
}

.movie-sys {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.movie-sys iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}



@media screen and (min-width: 640px) {
    .sec_system_box02 .inner .img_2col{
        margin: 10px 10px;
    }
    .sec_system_box02 .inner .img_2col img{
        float: left;
        width: 50%;
        padding: 0 3px;
    }
}

/*  画面サイズが920pxまで  */
@media screen and (min-width: 920px) {
    
    #sub_title_system{
        background: url(../images/system/title_bg.png) center center repeat;
        background-size: cover;
        background-repeat: no-repeat;
        padding: 0 0 0 0;
        margin: 120px 0 0 0;
        height: 350px;
    }
    #sub_title_system .inner{
        margin: 0 auto;
        padding: 0;
        overflow: hidden;
        text-align: center;
    }

    #sub_title_system .inner h1{
        padding: 110px 0 4px 0;
        font-size: 38px;
    }

    #sub_title_system .inner .subh1{
        font-size: 26px;
    }
    
    #sec_system_box01{
        overflow: hidden;
        padding: 80px 0;
    }
    
    #sec_system_box01 .inner h2{
        font-size: 34px;
        line-height: 2em;
    }
    
    #sec_system_box01 .inner h2 span{
        font-size: 16px;
        line-height: 3em;
    }
    
    #sec_system_box01 .inner p{
        font-size: 18px;
        line-height: 2.5em;
        margin-top: 45px;
    }
    
    .sec_system_box02 .inner{
        margin-bottom: 50px;
    }
    
    
    .sec_system_box02 .inner h1{
        font-size: 26px;
        padding: 10px 0 10px 50px;
    }
    
    .sec_system_box02 .inner .point_box{
        padding: 20px 30px;
    }
    
    .sec_system_box02 .inner .point_box ul{
        font-size: 18px;
        margin: 12px 0 30px 50px;
    }
    
    .sec_system_box02 .inner .point_box ul li:before{ /*疑似要素*/
      width:14px;
      height:14px;
    }
    
    .sec_system_box02 .inner .point_box ul ul{
        font-size: 18px;
        margin: 0px 0 10px 5px;
    }
    
    .pdf_btn_box{
        margin: 10px 0 0 0;
        font-size: 17px;
    }
    
    a.pdf_btn:before {
        left: 15%;
    }
    a.pdf_btn:after {
        left: 13%;
    }


    a.pdf_btn:hover:before {
        left: 15%;
    }
    a.pdf_btn:hover:after {
        left: 13%;
    }
    
    .sec_system_box02 .inner .exsample_box{
        padding: 20px 0;
        margin: 10px 30px;
    }
    
    .sec_system_box02 .inner .exsample_box h2{
        padding: 4px 0 4px 40px;
        width: 160px;
        font-size: 18px;
    }
    .sec_system_box02 .inner .exsample_box ul{
        font-size: 18px;
        margin: 15px 0 10px 50px;
    }
    
    .sec_system_box02 .inner .img_2col{
        margin: 10px 25px;
    }
    .sec_system_box02 .inner .img_2col img{
        padding: 0 5px;
    }
    
    .sec_system_box02 .inner .mint_box{
        padding: 20px 0;
        margin: 10px 30px;
    }
    .sec_system_box02 .inner .mint_box h2{
        padding: 4px 0 4px 40px;
        font-size: 24px;
    }

    .sec_system_box02 .inner .mint_box ul{
        font-size: 18px;
        margin: 0px 10px 10px 60px;
    }
    
    .sec_system_box02 .inner .movie-box{
        padding: 50px 10px 0 10px;
    }
    
}


 
#sub_title_law{
    background: url(../images/law/title_bg.png) center center repeat;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 0 0 0 0;
    margin: 65px 0 0 0;
    height: 150px;
}

#sub_title_law .inner{
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    text-align: center;
}

#sub_title_law .inner h1{
    width: auto;
    margin: 0 0 0 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 22px;
    color: #333;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    border-bottom: 1px solid #333;
    padding: 45px 0 4px 0;
    letter-spacing: 0.05em;
    
}



.sec_law_box01{
    overflow: hidden;
    padding: 0 0 0 0;
}

.sec_law_box01 .inner{
    margin: 0 auto;
    max-width: 1100px;
    padding: 0 10px;
    overflow: hidden;
}

.tbl-law{
    width: 100%;
    margin: 50px auto 70px auto;
    border-collapse: collapse;
}
.tbl-law th {
    color: #313131;
    text-align: center;
    font-size: 14px;
    background: #EEEEEE;
    vertical-align: top;
}
.tbl-law td {
    color: #313131;
    text-align: left;
    margin: 0;
    font-size: 14px;
    
}
 
.tbl-law th,
.tbl-law td {
    border: none;
    display: block;
    width: 100%;
    padding: 10px 0 10px 0;
    border: none;
}

@media screen and (min-width: 640px) {
    
    #sub_title_law .inner h1{
        font-size: 30px;
    }
    
    .tbl-law{
        width: 100%;
        margin: 80px auto 150px auto;
    }
    .tbl-law th {
        color: #313131;
        background: none;
        display: table-cell;
        width: 30%;
        padding: 15px 0 15px 40px;
        text-align: left;
        font-size: 16px;
        background: #EEEEEE;
        border: 1px solid #D2D2D2;
    }
    .tbl-law td {
        display: table-cell;
        width: 70%;
        padding: 15px 10px 15px 40px;
        text-align: left;
        font-size: 16px;
        border: 1px solid #D2D2D2;
    }
    

}

/*  画面サイズが920pxまで  */
@media screen and (min-width: 920px) {
    
    #sub_title_law{
        background: url(../images/law/title_bg.png) center center repeat;
        background-size: cover;
        background-repeat: no-repeat;
        padding: 0 0 0 0;
        margin: 120px 0 0 0;
        height: 350px;
    }
    #sub_title_law .inner{
        margin: 0 auto;
        padding: 0;
        overflow: hidden;
        text-align: center;
    }
    
    #sub_title_law .inner h1{
        padding: 140px 0 4px 0;
        font-size: 38px;
    }
    
    .tbl-law th {
        display: table-cell;
        width: 25%;
        padding: 15px 0 15px 40px;
        text-align: left;
        font-size: 18px;
        background: #EEEEEE;
    }
    .tbl-law td {
        display: table-cell;
        width: 75%;
        padding: 15px 40px 15px 40px;
        text-align: left;
        font-size: 18px;
        box-sizing: border-box;
    }
    
}



#sub_title_privacy{
    background: url(../images/privacy/title_bg.png) center center repeat;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 0 0 0 0;
    margin: 65px 0 0 0;
    height: 150px;
}

#sub_title_privacy .inner{
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    text-align: center;
}

#sub_title_privacy .inner h1{
    width: auto;
    margin: 0 0 0 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 22px;
    color: #333;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    border-bottom: 1px solid #333;
    padding: 45px 0 4px 0;
    letter-spacing: 0.05em;
    
}


.sec_privacy_box01{
    overflow: hidden;
    padding: 50px 0 100px 0;
}

.sec_privacy_box01 .inner{
    margin: 0 auto;
    max-width: 1100px;
    padding: 0 10px;
    overflow: hidden;
}

.sec_privacy_box01 .inner p.spb01{
    font-size: 14px;
    letter-spacing: 0.02em;
    padding: 0 0;
    box-sizing: border-box;
}

.sec_privacy_box01 .inner p.spb02{
    font-size: 14px;
    letter-spacing: 0.02em;
    padding: 0 0;
    box-sizing: border-box;
}


.sec_privacy_box01 .inner p.spb03{
    font-size: 14px;
    letter-spacing: 0.02em;
    padding: 0 0;
    box-sizing: border-box;
    margin-top: 20px;
}

.h2_privacy {
	text-align: left;
	font-size: 12pt;
    padding: 0 0 3px 20px;
    margin-top: 40px;
	margin-bottom: 15px;
	border-bottom: solid 1px #00A0E9;
	color: #313131;
    position: relative;
    line-height: 1.7em;
	}

.h2_privacy::after {
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  height: 100%;
  border-left: 8px solid #00A0E9;
}


.sec_privacy_box01 ul{
    text-align: left;
    font-size: 14px;
    list-style: none;
    padding-left: 10px;
    margin-top: 3px;
}

.sec_privacy_box01 ul li{
    font-size: 10pt;
}
.sec_privacy_box01 ul li:before{ /*疑似要素*/
    display:inline-block;
    vertical-align: middle;
    content:'';
    width:4px;
    height:4px;
    background: #313131;
    border-radius: 2px;
    margin-right: 10px;
    margin-top: 1px;
    
}



@media screen and (min-width: 640px) {
    
    #sub_title_privacy .inner h1{
        font-size: 30px;
    }
    
    .h2_privacy {
        font-size: 14pt;
    }
}


/*  画面サイズが920pxまで  */
@media screen and (min-width: 920px) {
    
    #sub_title_privacy{
        background: url(../images/privacy/title_bg.png) center center repeat;
        background-size: cover;
        background-repeat: no-repeat;
        padding: 0 0 0 0;
        margin: 120px 0 0 0;
        height: 350px;
    }
    #sub_title_privacy .inner{
        margin: 0 auto;
        padding: 0;
        overflow: hidden;
        text-align: center;
    }
    
    #sub_title_privacy .inner h1{
        padding: 140px 0 4px 0;
        font-size: 38px;
    }
    
    
    .sec_privacy_box01 .inner p.spb01{
        font-size: 18px;
        padding: 0 10px;
    }

    .sec_privacy_box01 .inner p.spb02{
        font-size: 18px;
        padding: 0 10px;
    }
    .sec_privacy_box01 .inner p.spb03{
        font-size: 18px;
        padding: 0 10px;
    }
    .h2_privacy {
        font-size: 18pt;
        padding: 0 0 3px 29px;
        }
    .sec_privacy_box01 ul{
        font-size: 14pt;
        padding-left: 40px;
    }

    .sec_privacy_box01 ul li{
        font-size: 14pt;
    }
    
}

#sub_title_terms{
    background: url(../images/terms/title_bg.png) center center repeat;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 0 0 0 0;
    margin: 65px 0 0 0;
    height: 150px;
}

#sub_title_terms .inner{
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    text-align: center;
}

#sub_title_terms .inner h1{
    width: auto;
    margin: 0 0 0 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 22px;
    color: #333;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    border-bottom: 1px solid #333;
    padding: 45px 0 4px 0;
    letter-spacing: 0.05em;
    
}


@media screen and (min-width: 640px) {
    
    #sub_title_terms .inner h1{
        font-size: 30px;
    }
    
}


/*  画面サイズが920pxまで  */
@media screen and (min-width: 920px) {
    
    #sub_title_terms{
        background: url(../images/terms/title_bg.png) center center repeat;
        background-size: cover;
        background-repeat: no-repeat;
        padding: 0 0 0 0;
        margin: 120px 0 0 0;
        height: 350px;
    }
    #sub_title_terms .inner{
        margin: 0 auto;
        padding: 0;
        overflow: hidden;
        text-align: center;
    }
    
    #sub_title_terms .inner h1{
        padding: 140px 0 4px 0;
        font-size: 38px;
    }
    
}



#sub_title_sitemap{
    background: url(../images/sitemap/title_bg.png) center center repeat;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 0 0 0 0;
    margin: 65px 0 0 0;
    height: 150px;
}

#sub_title_sitemap .inner{
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    text-align: center;
}

#sub_title_sitemap .inner h1{
    width: auto;
    margin: 0 0 0 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 22px;
    color: #333;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    border-bottom: 1px solid #333;
    padding: 45px 0 4px 0;
    letter-spacing: 0.05em;
    
}

.sec_sitemap_box01{
    overflow: hidden;
    padding: 0 0 0 0;
}

.sec_sitemap_box01 .inner{
    margin: 0 auto;
    max-width: 1100px;
    padding: 50px 10px;
    overflow: hidden; 
}


.sec_sitemap_box01 .inner ul{
    text-align: left;
    list-style:  none; 
    margin: 0 0;
    width: 50%;
    min-width: 300px;
    float:left;
}

.sec_sitemap_box01 .inner ul li{
    font-weight: bold;
    font-size: 16px;
    position: relative;
    padding: 0 0 20px 35px;
}

.sec_sitemap_box01 .inner ul li span{
    display: block;
    font-size: 16px;
    font-weight: normal;
    color:#333;
    padding-left: 10px;
    line-height: 1em;
    
}

.sec_sitemap_box01 .inner ul li a{
    color:#313131;
    text-decoration: none;
    
    
}
.sec_sitemap_box01 .inner ul li a:hover{
    text-decoration:underline;
}

.sec_sitemap_box01 .inner ul li:before {
    content: '';
    width: 11px;
    height: 11px;
    border: 0px;
    border-top: solid 2px #00a0e9;
    border-right: solid 2px #00a0e9;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 9px;
    left: 0;
}
.sec_sitemap_box01 .inner ul li:after {
    content: '';
    width: 11px;
    height: 11px;
    border: 0px;
    border-top: solid 2px #00a0e9;
    border-right: solid 2px #00a0e9;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 9px;
    left: 8px;
}


.sec_sitemap_box01 .inner ul li:hover:before {
    content: '';
    width: 11px;
    height: 11px;
    border: 0px;
    border-top: solid 2px #ff7800;
    border-right: solid 2px #ff7800;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 9px;
    left: 0;
}
.sec_sitemap_box01 .inner ul li:hover:after {
    content: '';
    width: 11px;
    height: 11px;
    border: 0px;
    border-top: solid 2px #ff7800;
    border-right: solid 2px #ff7800;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 9px;
    left: 8px;
}




@media screen and (min-width: 640px) {
    
    #sub_title_sitemap .inner h1{
        font-size: 30px;
    }
}

/*  画面サイズが920pxまで  */
@media screen and (min-width: 920px) {
    
    #sub_title_sitemap{
        background: url(../images/sitemap/title_bg.png) center center repeat;
        background-size: cover;
        background-repeat: no-repeat;
        padding: 0 0 0 0;
        margin: 120px 0 0 0;
        height: 350px;
    }
    #sub_title_sitemap .inner{
        margin: 0 auto;
        padding: 0;
        overflow: hidden;
        text-align: center;
    }
    
    #sub_title_sitemap .inner h1{
        padding: 140px 0 4px 0;
        font-size: 38px;
    }
    .sec_sitemap_box01 .inner{
        padding: 100px 10px;
    }
    
    .sec_sitemap_box01 .inner ul li{
        font-size: 18px;
        padding: 0 0 30px 35px;
    }
   
}


/* sec_detail_reha
------------------------------------------------------------*/

#sec_detail_reha{
    overflow: hidden;
    padding: 40px 0;
}

#sec_detail_reha .inner{
    margin: 0 auto;
    max-width: 1100px;
    padding: 0 10px;
    overflow: hidden;
}

#sec_detail_reha h1 {
    width: 100%;
    margin: 0 0 25px 0;
    position: relative;
    display: inline-block;
    text-align: left;
    font-size: 20px;
    color: #313131;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    padding: 6px 0 6px 35px;
    border-top: solid 2px #D2D2D2;/*上線*/
    border-bottom: solid 2px #D2D2D2;/*下線*/
}


#sec_detail_reha h1::after {
  position: absolute;
  left: 10px;
  top: 20%;
  content: '';
  height: 30%;
  border-left: 8px solid #F06D00;
}

#sec_detail_reha h1::before {
  position: absolute;
  left: 10px;
  bottom: 20%;
  content: '';
  height: 31%;
  border-left: 8px solid #6CBF23;
}

#sec_detail_reha h1 span{
    margin-left: 15px;
}

#sec_detail_reha .inner p{
    font-size: 14px;
    margin-bottom: 10px;
    line-height: 1.7em;
    
	box-sizing: border-box;
}

#sec_detail_reha .inner p.sub_chatch{
    font-size: 20px;
    font-weight: bold;
    color:#EB6000;
    line-height: 1.5em;
	text-align: center;
	margin-bottom: 20px;
}

#sec_detail_reha .inner p.sub_chatch img{
	vertical-align: middle;
	margin-left: 0px;
	margin-top: 10px;
}

#sec_detail_reha .inner .detail_box{
    width: 100%;
    margin-top: 20px;
    position: relative;
    padding: 0 0;
    box-sizing: border-box;
}

#sec_detail_reha .inner .detail_img{
    float: left;
    width: 100%;
    margin-bottom: 10px;
}


#sec_detail_reha .inner .detail_img img{
    width: 100%;
    max-width: 600px;
}

#sec_detail_reha .inner .detail_spec{
    float: left;
    width: 100%;
    text-align: left;
}


.tabledetail_reha {
    width: 100%;
    padding: 0 5%;
    box-sizing: border-box;
    border-collapse: collapse;
}

.tabledetail_reha td {
    padding: 7px 10px 15px 10px;
    font-size: 13px;
    width: 100%;
    display: block;
    box-sizing: border-box;
}
.tabledetail_reha td{
	text-align: left;
	line-height: 1.6;
}

.tabledetail_reha td ul{
	width: 100%;
	overflow: hidden;
	
}
.tabledetail_reha td ul li{
	float:left;
	width: calc( 100% - 20px );
	font-size: 14px;
	margin-left: 20px;
}

.tabledetail_reha th {
	padding: 5px 15px;
    background: #F6AB00;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
}
.tabledetail_reha td.price{
	text-align: center;
	font-weight: bold;
	font-size: 22px;
	line-height: 1.2;
}

.tabledetail_reha td.price span{
	font-size: 38px;
}



a.detail_reha_btn {
    display: block;
    position: relative;
    width: 100%;
    padding: 10px 0 !important;
    text-align: center;
    text-decoration: none;
    background: #00A0E9;
    overflow: hidden;
    font-size: 18px;
    font-weight:normal;
    color: #fff !important;
    letter-spacing: 0.05em;
    margin-top: 20px;
}

a.detail_reha_btn:hover {
    color: #fff !important;
    background: #EB6B00 !important;
}



/*  画面サイズが920pxまで  */
@media screen and (min-width: 920px) {
    /* sec_detail
	-----------------*/
    #sec_detail_reha{
        padding: 50px 0;
    }

    #sec_detail_reha h1 {
        font-size: 28px;
        
    }
    
    
    #sec_detail_reha .inner p{
        font-size: 20px;
        padding-left: 20px;
    }

    #sec_detail_reha .inner p.sub_chatch{
        font-size: 32px;
		text-align: left;
    }
    #sec_detail_reha .inner p.sub_chatch img{
		vertical-align: middle;
		margin-left: 20px;
		margin-top: 0;
	}

    #sec_detail_reha .inner .detail_img{
        float: left;
        width: 50%;
        
    }
	
	#sec_detail_reha .inner .detail_box{
		margin-top: 30px;
		overflow: hidden;
	}
	#sec_detail_reha .inner .detail_img{
        float: left;
        width: 600px;
        
    }

	
    #sec_detail_reha .inner .detail_spec{
        float: left;
        width: calc( 100% - 600px );
        text-align: left;
        padding-left: 20px;
        box-sizing: border-box;
    }
	.tabledetail_reha td {
        padding: 10px 15px;
        font-size: 20px;
        display: table-cell;
    }
	
    .tabledetail_reha th {
		padding: 7px 15px;
        font-size: 28px;
    }
	
	.tabledetail_reha td ul li{
		float:left;
		width: calc( 50% - 20px );
		font-size: 14px;
		margin-left: 20px;
	}
	
    .tabledetail_reha td.price{
		font-size: 24px;
	}
	.tabledetail_reha td.price span{
		font-size: 48px;
	}
	.tabledetail_reha td ul li{
		font-size: 16px;
	}
	
	a.detail_reha_btn {
        font-size: 20px;
    }
	
}





#sec_detail_reha02{
    overflow: hidden;
    padding: 0 0 0px 0;
}

#sec_detail_reha02 .inner{
    margin: 0 auto;
    max-width: 1120px;
    padding: 0 10px;
    overflow: hidden;
    margin-bottom: 30px;
}

#sec_detail_reha02 .inner h1{
    font-size: 22px;
    font-weight: bold;
    color:#313131;
    line-height: 1.5em;
    background: #F29204;
    color:#FFF;
    padding: 5px 0 7px 40px;
    text-align: left;
    position: relative;
}

#sec_detail_reha02 .inner h1::after {
    position: absolute;
    top: 50%;
    left:0;
    transform:translateY(-50%);
    content: '';
    width: 18px;
    height:18px;
    border: solid 5px #FFF;
    background-color: #FFE600;
    border-radius:100%;
}
#sec_detail_reha02 .inner h1::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform:translateY(-50%);
    content: '';
    width: 15px;
    height:110%;
    background-color: #FFFFFF;
}

#sec_detail_reha02 .inner .feature_box{
    width: 100%;
    margin-top: 20px;
    position: relative;
    padding: 0 0;
    box-sizing: border-box;
	overflow: hidden;
}

#sec_detail_reha02 .inner .feature_box img{
	max-width: 100%;
	margin-top: 10px;
}

#sec_detail_reha02 .inner .feature_box p{
	font-size: 14px;
	font-weight: normal;
	line-height: 1.6;
}

#sec_detail_reha02 .inner .feature_box p.title{
	font-size: 16px;
	font-weight: bold;
}


#sec_detail_reha02 .inner .feature_box .fb_left{
    float: left;
    width: calc( 100% - 10px );
    margin-bottom: 30px;
	margin-left: 10px;
}
#sec_detail_reha02 .inner .feature_box .fb_right{
    float: left;
    width: calc( 100% - 10px );
    margin-bottom: 10px;
	margin-left: 10px;
}


#sec_detail_reha02 .inner .lineup_box{
    width: 100%;
    margin-top: 20px;
    position: relative;
    padding: 0 0;
    box-sizing: border-box;
	overflow: hidden;
}

#sec_detail_reha02 .inner .lineup_box img{
	max-width: 100%;
	margin-top: 0px;
}


#sec_detail_reha02 .inner .lineup_box p{
	font-size: 12px;
	font-weight: normal;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
#sec_detail_reha02 .inner .lineup_box .lb_left{
    float: left;
    width: calc( 100% - 10px );
    margin-bottom: 15px;
	margin-left: 10px;
}
#sec_detail_reha02 .inner .lineup_box .lb_right{
    float: left;
    width: calc( 100% - 10px );
    margin-bottom: 10px;
	margin-left: 10px;
}



/*  画面サイズが920pxまで  */
@media screen and (min-width: 920px) {
	#sec_detail_reha02 .inner{
        margin-bottom: 50px;
    }
    
    
    #sec_detail_reha02 .inner h1{
        font-size: 26px;
        padding: 10px 0 10px 50px;
    }
	
	#sec_detail_reha02 .inner .feature_box .fb_left{
		float: left;
		width: calc( 50% - 20px );
		margin-bottom: 10px;
		margin-left: 20px;
	}
	#sec_detail_reha02 .inner .feature_box .fb_right{
		float: left;
		width: calc( 50% - 20px );
		margin-bottom: 10px;
		margin-left: 20px;
	}
	#sec_detail_reha02 .inner .feature_box p{
		font-size: 16px;
	}

	#sec_detail_reha02 .inner .feature_box p.title{
		font-size: 20px;
	}
	#sec_detail_reha02 .inner .lineup_box p{
		font-size: 18px;
	}
	#sec_detail_reha02 .inner .lineup_box .lb_left{
		float: left;
		width: calc( 45% - 20px );
		margin-bottom: 10px;
		margin-left: 20px;
	}
	#sec_detail_reha02 .inner .lineup_box .lb_right{
		float: left;
		width: calc( 55% - 20px );
		margin-bottom: 10px;
		margin-left: 20px;
	}
	
	
}



/* sec_detail_reha03
------------------------------------------------------------*/

#sec_detail_reha03{
    overflow: hidden;
    padding: 40px 0;
}

#sec_detail_reha03 .inner{
    margin: 0 auto;
    max-width: 1100px;
    padding: 0 10px;
    overflow: hidden;
}

#sec_detail_reha03 h1 {
    width: 100%;
    margin: 0 0 25px 0;
    position: relative;
    display: inline-block;
    text-align: left;
    font-size: 20px;
    color: #313131;
    box-sizing: border-box;
    line-height: 1.4em;
    font-weight: bold;
    padding: 6px 0 6px 35px;
    border-top: solid 2px #D2D2D2;/*上線*/
    border-bottom: solid 2px #D2D2D2;/*下線*/
}


#sec_detail_reha03 h1::after {
  position: absolute;
  left: 10px;
  top: 20%;
  content: '';
  height: 30%;
  border-left: 8px solid #F06D00;
}

#sec_detail_reha03 h1::before {
  position: absolute;
  left: 10px;
  bottom: 20%;
  content: '';
  height: 31%;
  border-left: 8px solid #6CBF23;
}

#sec_detail_reha03 h1 span{
    margin-left: 15px;
}

#sec_detail_reha03 .inner p{
    font-size: 14px;
    margin-bottom: 10px;
    line-height: 1.7em;
    
	box-sizing: border-box;
}

#sec_detail_reha03 .inner p.sub_chatch{
    font-size: 20px;
    font-weight: bold;
    color:#0059B2;
    line-height: 1.5em;
	text-align: center;
	margin-bottom: 20px;
	letter-spacing: 0.02em;
}



#sec_detail_reha03 .inner .feature_box{
    width: 100%;
    margin-top: 20px;
    position: relative;
    padding: 0 0;
    box-sizing: border-box;
	overflow: hidden;
}

#sec_detail_reha03 .inner .feature_box img{
	max-width: 100%;
	margin-top: 0px;
}

#sec_detail_reha03 .inner .feature_box .fb_left{
    float: left;
    width: calc( 100% - 0px );
    margin-bottom: 10px;
	margin-left: 0px;
}
#sec_detail_reha03 .inner .feature_box .fb_right{
    float: left;
    width: calc( 100% - 0px );
    margin-bottom: 10px;
	margin-left: 0px;
}


.tabledetail_reha03 {
    width: 100%;
    padding: 0 5%;
    box-sizing: border-box;
    border-collapse: collapse;
}

.tabledetail_reha03 th,
.tabledetail_reha03 td {
    border-top: 1px solid #FFF;
    font-size: 14px;
    width: 100%;
    display: block;
    box-sizing: border-box;
}

.tabledetail_reha03 th{
	padding: 7px 15px;
	background: #666666;
	color: #FFF;
	font-size: 18px;
}

.tabledetail_reha03 td{
	padding: 10px 15px;
	font-size: 14px;
	font-weight: bold;
	background: #EEE;
}


#sec_detail_reha03 .inner p.txt_right{
	text-align: right;
	font-size: 14px;
	margin-top: 5px;
}


a.detail_reha03_btn {
    display: block;
    position: relative;
    width: 100%;
    padding: 10px 0 !important;
    text-align: center;
    text-decoration: none;
    background: #00A0E9;
    overflow: hidden;
    font-size: 18px;
    font-weight:normal;
    color: #fff !important;
    letter-spacing: 0.05em;
	margin: 40px auto 20px auto;
}

a.detail_reha03_btn:hover {
    color: #fff !important;
    background: #EB6B00 !important;
}

/*  画面サイズが920pxまで  */
@media screen and (min-width: 920px) {
    /* sec_detail
	-----------------*/
    #sec_detail_reha03{
        padding: 50px 0;
    }

    #sec_detail_reha03 h1 {
        font-size: 28px;
        line-height: 1.7em;
    }
    
    
    #sec_detail_reha03 .inner p{
        font-size: 20px;
        padding-left: 20px;
    }

    #sec_detail_reha03 .inner p.sub_chatch{
        font-size: 32px;
		text-align: left;
    }
    
	#sec_detail_reha03 .inner .feature_box .fb_left{
		float: left;
		width: calc( 45% - 20px );
		margin-bottom: 10px;
		margin-left: 20px;
	}
	#sec_detail_reha03 .inner .feature_box .fb_right{
		float: left;
		width: calc( 55% - 0px );
		margin-bottom: 10px;
		margin-left: 0px;
	}
	
	.tabledetail_reha03 th,
	.tabledetail_reha03 td {
        padding: 12px 15px;
        border-top: 1px solid #FFF;
        font-size: 16px;
        display: table-cell;
    }

    .tabledetail_reha03 th {
        text-align: center;
        width: 40%;
		font-size: 24px;
    }
	
	.tabledetail_reha03 td{
		font-size: 22px;
		
	}
	a.detail_reha03_btn {
		width: 60%;
        font-size: 24px;
    }
}



/* sec_detail
------------------------------------------------------------*/

#sec_detail_movie{
    overflow: hidden;
    padding: 0px 0 50px 0;
}

#sec_detail_movie .inner{
    margin: 0 auto;
    max-width: 710px;
    padding: 0 10px;
    overflow: hidden;
}


#sec_detail_movie h2 {
    width: 100%;
    margin: 0 0 15px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 20px;
    color: #313131;
    box-sizing: border-box;
    line-height: 1.7em;
    font-weight: bold;
    padding: 15px 0 20px 0;
}


#sec_detail_movie h2::after {
    content: '';
    position: absolute;
    background-image: url("../images/detail/film.png");
    background-size: contain;
    background-repeat: repeat-x;
    width: 100%;
    height: 12px;
    left: 0;
    top: 0;
}

#sec_detail_movie h2::before {
    content: '';
    position: absolute;
    background-image: url("../images/detail/film.png");
    background-size: contain;
    background-repeat: repeat-x;
    width: 100%;
    height: 12px;
    left: 0;
    bottom: 0;
}

.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.movie-wrap img {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

.movie-wrap{
    position: relative;
}

.movie-wrap:after{
    /* position: absolute; */
    content: '';
    top: 0px;
    left: 0px;
    background: #333;
    color: #fff;
    width: 100%;
    height: 100%;
    filter:alpha(opacity=20);
    -moz-opacity: 0.2;
    opacity: 0.2;
    z-index: 5;
    border-radius: 10px;
}
.movie-wrap:hover:after{
    /* position: absolute; */
    content: '';
    top: 0px;
    left: 0px;
    background: #333;
    color: #fff;
    width: 100%;
    height: 100%;
    filter:alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
    z-index: 5;
}
.movie-wrap img{
    width: 100%;
}



.movie-wrap a{
    display: block;
}
.movie-wrap a:after{
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-size: 20vw;
    content: '\f144';
    font-weight: bold;
    top: 25%;
    left: 0px;
    color: #FFF;
    width: 100%;
    height: 100%;
    filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
    z-index: 10;
    line-height: 100px;
}
.movie-wrap a:hover:after{
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-size: 20vw;
    content: '\f144';
    font-weight: bold;
    top: 25%;
    left: 0px;
    color: #2D4B80;
    width: 100%;
    height: 100%;
    filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
    z-index: 10;
}



/*  画面サイズが920pxまで  */
@media screen and (min-width: 920px) {
	#sec_detail_movie h2 {
        margin: 0 0 25px 0;
        font-size: 24px;
        padding: 20px 0 22px 0;
    }
	
	.movie-wrap a:after{
        position: absolute;
        font-family: "Font Awesome 5 Free";
        font-size: 15vw;
        content: '\f144';
        font-weight: bold;
        top: 35%;
        left: 0px;
        color: #FFF;
        text-align: center;
        filter:alpha(opacity=50);
        -moz-opacity: 0.5;
        opacity: 0.5;
        z-index: 10;
        line-height: 100px;
    }
    .movie-wrap a:hover:after{
        position: absolute;
        font-family: "Font Awesome 5 Free";
        font-size: 15vw;
        content: '\f144';
        font-weight: bold;
        top: 35%;
        left: 0px;
        color: #2D4B80;
        width: 100%;
        height: 100%;
        filter:alpha(opacity=50);
        -moz-opacity: 0.5;
        opacity: 0.5;
        z-index: 10;
    }
	
	
}

.btn1125box{
    margin-top: 30px;
}

.btn-gradation2 {
  display: inline-block;
  width: 100%;
  text-align: center;
  font-size: 16px;
  color: #FFF;
  text-decoration: none;
  font-weight: bold;
  padding: 12px 24px;
  border-radius: 0px;
  background-image: linear-gradient(-90deg, #00559d, #00c49c);
  transition: .5s;
  background-size: 200%;
    box-sizing: border-box;
}

.btn-gradation2:hover {
  background-position: right center;
}




/* sec_event
------------------------------------------------------------*/

#sec_event{
    width: 100%;
    overflow: hidden;
    background-color: #FFF;
    margin: 0;
    padding: 30px 0 20px 0;
}

#sec_event .inner{
    margin: 0 auto;
    max-width: 1400px;
    padding: 0 20px;
    overflow: hidden;
}

#sec_event h1 {
    width: 100%;
    margin: 10px 0 10px 0;
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: 22px;
    color: #333;
    box-sizing: border-box;
    line-height: 1.6em;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-bottom: 10px;
}

#sec_event h1::after{
    position: absolute;
    content: ' ';
    bottom: 0px;
    left: 48.5%;
    width: 3%;
    border-bottom: 2px solid #EA6E14;
}


#sec_event .inner .event_msg{
    width: 100%;
    float:left;
    padding: 0 0 0 0;
    box-sizing: border-box;
}

#sec_event .inner .event_msg h2{
    width: 100%;
    margin: 15px 0 20px 0;
    text-align: center;
    position: relative;
    font-size: 16px;
    color: #333333;
    line-height: 1.5;
}

#sec_event .inner .event_msg p{
    width: 100%;
    margin: 0;
    padding: 0 0 30px 0;
    box-sizing: border-box;
    color: #333333;
    font-size: 13px;
}

#sec_event .inner .event_msg p.attention{
    font-weight: bold;
    text-align: center;
    padding-bottom: 5px !important;
    color: #CC0000;
    font-size: 16px;
}
#sec_event .inner .event_msg p.date{
    font-weight: bold;
    text-align: center;
}


#sec_event .inner .pdf_frame{
    width: 100%;
    float:left;
    padding: 0 0;
    box-sizing: border-box;
    margin-top: 10px;
}


#sec_event .inner .pdf_frame img{
    width: 100%;
}


.simple_square_btn2 {
	display: block;
	position: relative;
	width: 100%;
	padding: 8px 0 10px 0;
    margin-bottom: 10px;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	background: #EA6E14;
    font-size: 14px;
    font-weight: bold;
}
.simple_square_btn2:hover {
    background: #69BD1F;
    color: #fff;
    cursor: pointer;
    text-decoration: none;
}

/*  画面サイズが920pxまで  */
@media screen and (min-width: 640px) {
    #sec_event{
        padding: 60px 0 40px 0;
    }
    
    
    #sec_event h1{
        font-size: 24px;
    }
    #sec_event .inner .event_msg{
        width: 70%;
        float:left;
        padding: 0 5% 0 0;
    }
    #sec_event .inner .event_msg h2{
        font-size: 18px;
    }
    
    #sec_event .inner .event_msg p{
        width: 100%;
        margin: 0;
        padding: 0 0 20px 0;
        box-sizing: border-box;
        font-size: 15px;
    }
    
    #sec_event .inner .event_msg .mov_list p{
        width: 95%;
        font-size: 15px;
    }

    
    #sec_event .inner .event_msg p.attention{
        font-size: 20px;
    }
    
    #sec_event .inner .pdf_frame{
        width: 25%;
        float:left;
    }

	.simple_square_btn2 {
        font-size: 18px;
    }
}




/*  画面サイズが920pxまで  */
@media screen and (min-width: 920px) {
    #sec_event h1{
        font-size: 34px;
    }
    #sec_event .inner .event_msg{
        width: 77%;
        float:left;
        padding: 0 5% 0 2%;
    }
    #sec_event .inner .event_msg h2{
        font-size: 24px;
    }
    
    
    #sec_event .inner .event_msg p{
        width: 100%;
        margin: 0;
        padding: 0 0 20px 0;
        box-sizing: border-box;
        font-size: 16px;
    }
    
    #sec_event .inner .pdf_frame{
        width: 20%;
        float:left;
        
    }

    

}


/* sec_sub_catalog
------------------------------------------------------------*/

#sec_sub_catalog{
    margin:0;
    padding:50px 0 0px 0;
    text-align: left;
}

#sec_sub_catalog .inner{
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
    padding: 0 10px;
}
#sec_sub_catalog .inner h1 {
    position: relative;
    padding: 0 10px;
    text-align: center;
    box-sizing: border-box;
}

#sec_sub_catalog .inner h1:before {
    position: absolute;
    bottom: -10px;
    left: calc(50% - 50px);
    width: 100px;
    height: 3px;
    content: '';
    background: #222;
}

#sec_sub_catalog .inner .vhead_box{
    overflow: hidden;
    margin-top: 50px;
}
#sec_sub_catalog .inner .vhead_box p{
    padding: 0;
    margin: 0;
    font-size: 14px;
    line-height: 1.8;
}
#sec_sub_catalog h2 {
    width: 100%;
    margin: 30px 0 20px 0;
    position: relative;
    display: inline-block;
    text-align: left;
    font-size: 20px;
    color: #313131;
    box-sizing: border-box;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding: 0 0 5px 10px;
    border-bottom: 2px solid #639E27;
}
#sec_sub_catalog h2::before {
    content: url(../images/catalog/catalog_icon.jpg);
    display: inline-block;
    width: 30px;
    height: 15px;
    
}


ul.catalog_list_box{
    padding: 10px 0 0 0;
    overflow: hidden;
    list-style: none;
}


ul.catalog_list_box li{
	max-width: 260px;
	width: calc((100% - 20px) / 2);
	float:left;
	margin-left: 0;
	position: relative;
	padding-bottom: 60px;

}
ul.catalog_list_box li{
	margin-right: 20px;
	margin-bottom: 20px;
}
ul.catalog_list_box li:nth-child(2n){
	margin-right: 0px;
}
ul.catalog_list_box li:nth-child(4n){
	margin-right: 0px;
}


ul.catalog_list_box li a{
    text-align: center;
	padding: 12px 0 0 0;
    color: #FFF;
	font-size: 14px;
	font-weight: bold;
	height: 50px;
	box-sizing: border-box;
	background: #00A0E9;
	position: absolute;
	bottom: 0%;
	width: 100%;
}

ul.catalog_list_box li a::after{
	content: url(../images/catalog/download_icon.png);
    display: inline-block;
	vertical-align:-1px;
    width: 16px;
    height: 16px;
	padding-left: 7px;
	
}


ul.catalog_list_box li a:hover{
    filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}


ul.catalog_list_box li img{
	width: 100%;
	max-width: 390px;
	vertical-align: bottom;
	
}

ul.catalog_list_box li h3{
    font-size: 14px;
    line-height: 1.6;
    padding: 5px 0px;
    /* border-bottom: 1px dotted #CCCCCC; */
}

.catalog_area{
	background: #F6F6F6;
	padding: 20px;
	box-sizing: border-box;
	
}



/*  画面サイズが640pxまで  */
@media screen and (min-width: 640px) {
    #sec_sub_catalog .inner h1 {
        font-size: 44px;
    }
    
    #sec_sub_catalog h2 {
        font-size: 26px;
        margin: 30px 0 20px 0;
        padding: 0 0 5px 10px;
    }
    
	ul.catalog_list_box{
		padding: 0 10px;
	}
	
	ul.catalog_list_box li{
		max-width: 260px;
        width: calc((100% - 60px) / 3);
        float:left;
        margin-left: 0;
		margin-bottom: 30px;
    }
    ul.catalog_list_box li{
        margin-right: 30px;
    }
	ul.catalog_list_box li:nth-child(2n){
		margin-right: 30px;
	}
	ul.catalog_list_box li:nth-child(3n){
		margin-right: 0px;
	}
    ul.catalog_list_box li:nth-child(4n){
        margin-right: 0px;
    }
    
   
    ul.catalog_list_box li h3{
        font-size: 16px;
        line-height: 1.8;
        padding: 10px 0px;
        /* border-bottom: 1px dotted #CCCCCC; */
    }

}

@media screen and (min-width: 1000px) {
    #sec_sub_catalog{
        margin:0;
        padding:50px 0 50px 0;
        text-align: left;
    }
    #sec_sub_catalog .inner{
        padding: 0 0px;
    }
    
    #sec_sub_catalog .inner .vhead_box p{
        font-size: 16px;
    }

	ul.catalog_list_box{
		padding: 0 30px;
	}
	
    ul.catalog_list_box li{
        max-width: 260px;
        width: calc((100% - 180px) / 4);
        float:left;
        margin-left: 0;
		
    }
    ul.catalog_list_box li{
        margin-right: 60px;
		margin-bottom: 30px;
    }
	ul.catalog_list_box li:nth-child(2n){
		margin-right: 60px;
	}
	ul.catalog_list_box li:nth-child(3n){
		margin-right: 60px;
	}
    ul.catalog_list_box li:nth-child(4n){
        margin-right: 0px;
    }
    
    ul.catalog_list_box li a{
		padding: 10px 0 0 0;
		font-size: 16px;
	}
    
    
    
    ul.catalog_list_box li img{
        width: 100%;
        max-width: 390px;
    }
    
}


/* カタログ・チラシ ダウンロード */
.catalog_linl_box{
    vertical-align: middle;
    padding: 0px 10px 0 10px;
    box-sizing: border-box;
	text-align: center;
}

.catalog_linl_box img{
	width: 100%;
	max-width: 480px;
	vertical-align: bottom;
}
.img_pc{
    display:none;
}
.img_sp{
    display:block;
}

.catalog_linl_box-footer{
	margin-bottom: 10px;
}
@media screen and (min-width: 1000px) {
	
	.catalog_linl_box{
		vertical-align: middle;
		padding: 0px 20px 0 20px;
		box-sizing: border-box;
		text-align: center;
	}
	.catalog_linl_box img{
		width: 100%;
		max-width: 1460px;
		vertical-align: bottom;
	}
	
	.img_pc{
        display:block;
    }
    .img_sp{
        display:none;
    }
	
	.catalog_linl_box-footer{
		margin-bottom: 20px;
	}
	
}



/* ------------------------------- */
/* メイン アイキャッチ                */
/* ------------------------------- */

.main-eyecatch{
    padding: 0 0;
    box-sizing: border-box;
    /* background: #CCCCCC;*/
}

.eyecatch-box{
	margin-top: 58px;
	position: relative
	/*
    margin-top: 58px;
    position:relative;
    width: 100%;
	background-image: url(../images/top/eyecatch_background.png);
    background-size:contain;
    background-repeat: no-repeat;
    background-position: center center;
	padding-top: 39.4%;
	*/
}




.eyecatch-box img{
	width: 100%;
}
.eyecatch-box .container {
	position: absolute; /*文字にabsolute*/
	top: 0px; /*上から20px*/
	width: 100%;
    
}

.eyecatch-box-sp{
	margin-top: 58px;
	position: relative
}
.eyecatch-box-sp2{
	margin-top: 0px;
}
.eyecatch-box-sp img{
	width: 100%;
    vertical-align: bottom;
}
.eyecatch-box-sp .container {
	position: absolute; /*文字にabsolute*/
	top: 0px; /*上から20px*/
	width: 100%;
    
}



.eyecatch-box .container .two-box {
	position: relative;
    display: flex; /* Flexboxを有効化 */
	
 }
.eyecatch-box .container .two-box div {
	flex: 1; /* 均等に分割 */
  	text-align: center;
}

.eyecatch-box .container .two-box div p{
	text-align: center;
}
.eyecatch-box .container .two-box div p.sub{
	font-weight: bold;
	font-size: 1.6vw;
	line-height: 1;
	margin-top: 6%;
}
.eyecatch-box .container .two-box div p.main{
	font-weight: 800;
	font-size: 3vw;
	
}

.eyecatch-box .container .two-box div .btn_more{
    margin-top: 49%;
}


.eyecatch-box-sp .container p.sub{
	font-weight: bold;
	font-size: 3.0vw;
	line-height: 1;
	margin-top: 7%;
    margin-left: 20px;
}
.eyecatch-box-sp .container p.main{
	font-weight: 800;
	font-size: 5.3vw;
	margin-left: 20px;
}

.eyecatch-box-sp .container .btn_more{
    margin-top: 13px;
    margin-left: 20px;
}

.eyecatch-box-sp .container .btn_more .eyecatch_more_btn{
    width: 70%;
    font-size: 3vw;
}


.eyecatch_more_btn {
    font-size: 2vw;
    font-weight: normal;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    width: 80%;
    padding: 10px 0 10px 0;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.07em;
    color: #212529;
    border-radius: 6px;
    color: #fff;
}
.btn--more-orange_b,
a.btn--more-orange_b {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(234, 91, 123, 1) 35%, rgba(235, 108, 0, 1));
    margin: 0 0 0 0;
    font-size: 1.6vw;
    font-weight: bold;
    font-family: 'Lato', sans-serif;
    font-weight: 900;
	box-shadow: 3px 3px 0 #a03939; /* 影の太さ・色 */
}
.btn--more-orange_b:hover,
a.btn--more-orange_b:hover {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(235, 108, 0, 1) 35%, rgba(234, 91, 123, 1));
	box-shadow: none;
  	transform: translate(3px,3px);
}

a.btn--more-orange_b:before {
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -6px;
}



.btn--more-blue2_b,
a.btn--more-blue2_b {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(0, 181, 181, 1) 15%, rgba(106, 181, 38, 1));
    margin: 0 0 0 0;
    font-size: 1.6vw;
    font-weight: bold;
    font-weight: bold;
    font-family: 'Lato', sans-serif;
    font-weight: 900;
	box-shadow: 3px 3px 0 #2f6f36; /* 影の太さ・色 */
}
.btn--more-blue2_b:hover,
a.btn--more-blue2_b:hover {
    color: #fff;
    background-image: radial-gradient(circle at 100% 0%, rgba(106, 181, 38, 1) 15%, rgba(0, 181, 181, 1));
	box-shadow: none;
	transform: translate(3px,3px);
}


a.btn--more-blue2_b:before {
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -6px;
}

@media screen and (min-width: 1000px) {
    .main-eyecatch{
        margin: 0 20px;
    }
    .eyecatch-box{
        margin-top: 93px;
    }
	
	.eyecatch_more_btn {
        width: 70%;
        padding: 15px 0 15px 0;
    }
    
    
	.btn--more-orange_b,
    a.btn--more-orange_b {
        font-size: 1.4vw;
		box-shadow: 5px 5px 0 #a03939; /* 影の太さ・色 */
    }
	
	a.btn--more-orange_b:before {
		right: 25px;
	}

	
	.btn--more-orange_b:hover,
	a.btn--more-orange_b:hover {
		box-shadow: none;
		transform: translate(5px,5px);
	}
	
    .btn--more-blue2_b,
    a.btn--more-blue2_b {
        font-size: 1.4vw;
		box-shadow: 5px 5px 0 #2f6f36; /* 影の太さ・色 */
    }
	a.btn--more-blue2_b:before {
		right: 25px;
	}
	.btn--more-blue2_b:hover,
	a.btn--more-blue2_b:hover {
		box-shadow: none;
		transform: translate(5px,5px);
	}
	
    
}



.headsub-eyecatch{
    padding: 0 0;
    box-sizing: border-box;
    /* background: #CCCCCC;*/
}

.headsub-box{
	margin-top: 58px;
	position: relative
	/*
    margin-top: 58px;
    position:relative;
    width: 100%;
	background-image: url(../images/top/eyecatch_background.png);
    background-size:contain;
    background-repeat: no-repeat;
    background-position: center center;
	padding-top: 39.4%;
	*/
}
.headsub-box img{
	width: 100%;
}
.headsub-box .container {
	position: absolute; /*文字にabsolute*/
	top: 0px; /*上から20px*/
	width: 100%;
    
}
.headsub-box .container div p{
	text-align: left;
    padding-left: 5%;
    box-sizing: border-box;
}
.headsub-box .container div p.sub{
	font-weight: bold;
	font-size: 3.0vw;
	line-height: 1;
	margin-top: 13%;
    
}
.headsub-box .container div p.main{
	font-weight: 800;
	font-size: 5.2vw;
}
.headsub-box .container div p.text{
	font-size: 14px;
    margin-top: 10px;
    max-width: 400px;
    display: none;
}

@media screen and (min-width: 640px) {
    .headsub-eyecatch{
        margin: 0 20px;
    }
    .headsub-box{
        margin-top: 93px;
    }
	.headsub-box .container div p.sub{
        font-weight: bold;
        font-size: 1.6vw;
        line-height: 1;
        margin-top: 5%;

    }
    .headsub-box .container div p.main{
        font-weight: 800;
        font-size: 3vw;
    }
    .headsub-box .container div p.text{
        font-size: 14px;
        margin-top: 5px;
        max-width: 600px;
        display: inline-block;
    }
}

@media screen and (min-width: 1000px) {
    .headsub-box .container div p.sub{
        font-weight: bold;
        font-size: 1.6vw;
        line-height: 1;
        margin-top: 6%;

    }
    .headsub-box .container div p.main{
        font-weight: 800;
        font-size: 3vw;
    }
    .headsub-box .container div p.text{
        font-size: 16px;
        margin-top: 20px;
        max-width: 650px;
        display: inline-block;
    }
    
}

/* sec_machine_list
------------------------------------------------------------*/

.sec_machine_list{
    margin:0;
    padding:70px 0 70px 0;
    text-align: left;
}

.sec_machine_list .inner{
    margin: 0 auto;
    max-width: 1240px;
    overflow: hidden;
    padding: 0 10px;
    position: relative;
}
.sec_machine_list .inner h1 {
    position: relative;
    padding: 0 0;
    text-align: left;
    box-sizing: border-box;
    font-size: 5.4vw;
    line-height: 1.5;
    margin-bottom: 0.3em;
}

.sec_machine_list .inner h1 span{
    display: block;
    font-size: 16px;
    line-height: 1.2;
}
.sec_machine_list .inner p{
    font-size: 16px;
}


.sec_machine_list .inner .list_logo {
    position: relative;
    right: 0;
    top:0;
    margin-top: 0px;
    margin-bottom: 10px;
    display: inline-block;
}

.sec_machine_list .inner .list_logo img{
    height: 50px;
}



.bg_gray{
    background:linear-gradient(0deg, rgba(245, 245, 245,1) 0%,rgba(255, 255, 255,1) 20%,rgba(255, 255, 255,1) 80%,rgba(245, 245, 245,1) 100%);
}

/*  画面サイズが640pxまで  */
@media screen and (min-width: 640px) {
    .sec_machine_list .inner h1 {
        font-size: 36px;
    }
    .sec_machine_list .inner h1 span{
        font-size: 20px;
        line-height: 1;
    }
    
    
    
}

@media screen and (min-width: 1000px) {
    .sec_machine_list{
        margin:0;
        padding:70px 0 70px 0;
        text-align: left;
    }
    .sec_machine_list .inner{
        padding: 0 10px;
    }
    
    .sec_machine_list .inner .list_logo {
        position: absolute;
        right: 0;
        top:0;
        margin-top: 20px;
        margin-bottom: 0px;
        display: inline-block;
    }
    
}

