﻿.con_box b {
    color: yellow;
}
#banner a:hover{
    background: #00a297;
    transition:all 0.2s;
}


/*------------------------------CMS4-------------------------------------*/

.swiper_box .container1::before {
    width: 100%;
    content: "BEFORE";
    text-align: center;
    background: #ffbb7f;
    color: white;
    display: inline-block;
    left: 0;
    bottom: 10px;
    position: absolute;
    z-index: 2;
    
    letter-spacing: 3px;
    box-sizing: border-box;
}
.swiper_box .container2::before {
    width: 100%;
    content: "AFTER";
    text-align: center;
    background: #86b767;
    color: white;
    display: inline-block;
    left: 0;
    bottom: 10px;
    position: absolute;
    z-index: 2;

    box-sizing: border-box;
    letter-spacing: 3px;
}
/*
.g_type4 .cate_title {
    text-align: center;
    color: #3a3a3a;
    padding: 0;
    display: inline-block;
    padding: 5px 60px;
    border-top: 2px solid #ffb127;
    border-bottom: 2px solid #ffb127;
}
*/


.yajirushi span {
    width: 50px;
    height: 50px;
    width: 0;
    height: 0;
    border-style: solid;
   border-width: 0 20px 30px 20px;
    border-color: transparent transparent #636363 transparent;
    display: block;
    transform: rotate(90deg);
        margin: 0 50px;
}

.swiper_box {
    display: flex;
    justify-content: center;
    align-items: center;
}

.g_type4 .slide_img figure{
	position: relative;
	overflow: hidden;
	width: 100% !important;
	height:auto !important;
}
.g_type4 .slide_img figure img{
	position: relative;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}
.g_type4 .swiper-slide{
    opacity: 1!important;
}
.g_type4 .slide_img .thumbnail .swiper-wrapper {
    margin-left: 0!important;
    transform: none!important;
}
.g_type4 .swiper-button-prev{
	background-image: url("../dup/img/swiper_prev.png")!important;
}
.g_type4 .swiper-button-next{
	background-image: url("../dup/img/swiper_next.png")!important;
}


/* IE */
@media all and (-ms-high-contrast: none){
.g_type4 .slide_img .thumbnail .swiper-wrapper .swiper-slide {
    overflow: hidden;
    position: relative;
    height: 80px;
}
.g_type4 .slide_img .thumbnail .swiper-wrapper .swiper-slide img{
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}
}
/*------------------------------ここまで-------------------------------------*/


#copyright {
    padding-right: 310px;
}
#banner a {
    position: fixed;
    right: 54px;
    bottom: 0;
    z-index: 3;
    display: inline-block;
    background: #d94452;
    height: 54px;
    padding: 0 80px;
    line-height: 54px;
    color: #ffffff;
    font-weight: bold;
    /* font-family: 'Fjalla One'; */
    font-size: 22px;
    letter-spacing: 3px;
}
div#page-top {
    background: #f7cc38;
}

#page07 .box {
    border-bottom: 2px solid #d9d9d92b;
}
#page07 .width_1280-max{
    background: white;
    margin: 100px auto;
}
#page07 .grid_4 h3::after{
    background-color: #f7cc38;
}
#page07 .width_1280-max .txt_white{
    color:black;
    font-weight: bold;
}
#cms_1-a .cate_box.border_color2 {
    border-color: #f7cc38;
}
#main_nav #menu_bg::after{
    background-color: #f7cc38;
}
#main_nav .sns_links {
    background-color: #ffffff7d;
}
#contents_link a:first-of-type:after {
    border-left: 0;
}
#contents2::before {
    width: 520px;
    height: 100px;
    content: "";
    background: url(Dup/img/02.png) no-repeat;
    position: absolute;
    top: 5px;
    left: 5px;
    opacity: 0.2;
    background-size: contain;
}
#contents1::before {
    width: 500px;
    height: 100px;
    content: "";
    background: url(Dup/img/01.png) no-repeat;
    position: absolute;
    top: 5px;
    left: 5px;
    background-size: contain;
    opacity: 0.2;
}
#contents1,#contents2{
    position:relative;
}
#box3_txt a:hover {
    transform: scale(1.03);
}
#box3_txt a {
   transition:all 0.3s;
}
a.linkStyle {
    color: #00a297;
}
#page09 h3 span {
    background-color: #00a297;
    display: inline-block;
    border: 1px solid #fff;
    color: white;
}
.privacy_wrap h3 {
    color: #0c0c0c;
}
.privacy_wrap {
    background: white;
    color: black;
    padding: 50px;
}
#page09 h3 span {
    background-color: #00a297;
    display: inline-block;
    border: 1px solid #fff;
    color: white;
}
a.txt_color_nomal.hvr_opa05.motion03s.d_block.pd_30px.width_300-max.border_color2.border_so1 {
    background: #d94452;
    color: white;
}
#tel_txt .border_color2 {
    border-color: #6a6a6a;
}
#tel_txt h3 {
    color: black;
}
#contact_box_wrap{
    background:white;
    padding:50px;
    color:black;
}
#contents_link a:before {
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    background: #2020208c;
}

p.box2_txt:before {
    width: 30px;
    height: 30px;
    content: "";
    position: absolute;
    background: url(Dup/img/check.png) no-repeat;
    background-size: contain;
    left: 7px;
    top: 6px;
}

#cms_6-b .cate_box .box_txt1{
    color:black;
}
.cate_title {
    background: none !important;
    color: #1e1e1e;
    border: 0;
    text-align: center;
      border-bottom: 2px solid #00a297;
    font-weight: bold;
    padding: 0;
}

.cms_6-b .cate_box, .cms_6-b .cate_box .box_txt1, .cms_6-b .cate_box .box_txt2 ,#cms_6-b .cate_box, #cms_6-b .cate_box .box_txt1, #cms_6-b .cate_box .box_txt2{
    border-color: #6a6a6a;
}
.cms_6-b .cate_box:first-of-type,#cms_6-b .cate_box:first-of-type{
    border-top: 1px solid #6a6a6a;
}

p.box2_txt img {
    position: absolute;
    max-width: 65px;
    top: -15px;
    left: 20px;
}


#box3_txt h3:before {
    width: 50px;
    height: 50px;
    content: "";
    position: absolute;
    background: url(Dup/img/con3.png) no-repeat;
    background-size: contain;
    top: -9px;
    left: 0px;
}

#footer .grid_6:nth-of-type(2){
background: #edc42e;
}

#cms_2-b .cate_box{
    background: white;
}

p.right_txt {
    position: absolute;
    right: 1.5vw;
    bottom: 1.8vw;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.1vw;
    text-align: center;
}

.cms_2-b h3{
    background: #00a297;
    color: white;
    text-align: center;
    font-weight: bold;
    position: absolute;
    bottom: 30px;
    z-index: 2;
    left: 10px;
    padding: 0px 50px;
}
.cms_2-b .cate_box{
    position: relative;
    overflow: hidden;
}

.bg_color2 {
    background-color:#fffef5;
}
div#page_title::before {
    width: 300px;
    height: 300px;
    content: "";
    background: url(Dup/img/page_bg2.png) no-repeat;
    position: absolute;
    left: -80px;
    z-index: 3;
    bottom: -120px;
}
#main_contents {
    background: url(Dup/img/page_bg.png) no-repeat;
    background-position: left bottom;
    background-size: 380px;
    
}
.top #main_contents{
    background:none;
}

#cms {
    background-color: #fffef5;
}

#contents_link a::after {
           background-color: #fc4c5dad;
}
.con_box_txt h4:before {
    width: 28px;
    height: 41px;
    content: "";
    background: url(Dup/img/con6.png) no-repeat;
    position: absolute;
    background-size: contain;
    left: 10px;
}

#top_cms .txt_white {
    color: #242424;
}

#top_cms {
    background-color: rgb(252 255 246 / 30%);
}
/*
.con1_wrap,.con2_wrap {
    z-index: 2;
    position: relative;
}

section#contents1::before {
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    z-index: 2;
    background: #00a297;
    top: 0;
    left: 0;
    opacity: 0.9;
}
section#contents2::before {
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    z-index: 2;
    background: #00a297;
    top: 0;
    left: 0;
    opacity: 0.9;
}
*/
.con_box_txt h4 {
    background: none;
    font-size: 24px;
    position: relative;
    padding-left: 50px;
}

#contents1 .con_box,#contents2 .con_box{
    display:flex;
    align-items: center;
}
.con_box_txt{
       padding:0 50px;
}
#contents1 {
    background: #d94452;
    padding: 50px;
}
#contents2 {
    background: #00a297;
    padding: 50px;
}
body::before{
   background-color: rgb(252 255 246 / 30%);
}

#box3_txt a {
    display: inline-block;
    background: #d94452;
    color: white;
    text-align: center;
    padding: 5px 80px;
    border-radius: 30px;
    margin-top: 20px;
    font-weight: bold;
    letter-spacing: 3px;
    font-size: 18px;
}

#box3_txt h3 {
    font-size: 24px;
    font-weight: bold;
    color: #d94452;
    position: relative;
    padding-left: 34px;
}
#box3_txt{
    width: 65%;
    margin-left: auto;
    padding: 30px;
    box-sizing: border-box;
}
#box3_img {
    width: 32%;
    position: absolute;
    left: 30px;
    bottom: 0;
}
#intro_box3 {
    background: white;
    max-width: 1000px;
    border-radius: 20px;
    position: relative;
    margin: auto;
}
#intro_box2 h3 {
    letter-spacing: 2px;
    position: absolute;
        top: -60px;
    text-align: center;
    width: 100%;
    font-size: 28px;
    font-weight: bold;
    color: #2b2929;
}

div#box_left {
    position: relative;
    left: 100px;
}
div#box_right {
    position: relative;
    right: 100px;
}

p.box2_txt {
    background: white;
    padding: 5px 50px;
    text-align: center;
    border-radius: 20px;
    margin-bottom: 60px;
    font-weight:bold;
    width: 190px;
    position:relative;
}

#box_img img{
    width: 32%;
}
#intro_box2 #box_img {
    width: 400px;
    height: 400px;
    background: #f7cc38;
    border-radius: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

div#intro_box2 {
    justify-content: space-between;
    max-width: 1000px;
    margin: 100px auto;
    flex-wrap: nowrap;
        margin-top: 140px;
}

.intro_box1 p{
   background: white;
    color: #000000;
    padding: 30px;
    border-radius: 20px; 
    
        padding-top: 50px;
}
#main_contents #main_menu .sns_links li:hover::before,#main_contents #main_menu .sns_links li:hover::after{
     display:none !important;
}
#main_menu .sns_links li {
    width: 70px;
}
#main_menu .sns_links li:hover{
    transform:translate(0,-5px) !important;
}

#main_menu .sns_links ul{
    justify-content: flex-start;
}
#main_menu ul {
    padding: 0 40px;
    max-width: 360px;
    margin: auto;
}

#intro hgroup h2 {
   background: #d94352;
    padding: 0px 50px;
    font-weight: bold;
    display: inline-block;
    border-radius: 40px;
    position: relative;
    top: 40px;
    font-size:28px;
}
hgroup{
    text-align:center;
}

#intro::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
        background-color: rgb(255 235 151 / 90%);
    z-index: 1;
    outline: 4px solid white;
    outline-offset: -20px;
}


#main_contents #main_menu li::before {
    border: 2px solid #222222;
}
#main_contents #main_menu li::after {
    border-bottom: 1px solid #222222;
}
#main_contents #main_menu li.active::before {
    background-color: #222222;
}
#main_menu .txt_white {
    color: #222222;
    font-weight: bold;
}

#main_menu ul {
    padding: 0 40px;
    max-width: 360px;
    margin: auto;
}
#main_banner{
    position: absolute;
    right: -13vw;
    width: 34vw;
    bottom: -13vw;
    animation:roll 25s linear infinite;
}
@keyframes roll{
    0%{
        transform:rotate(0);
    }
    100%{
        transform:rotate(360deg);
    }
}

div#main_txt1::before {
    content: "を";
    position: absolute;
    right: 0;
    top: 9.5vw;
    font-size: 5vw;
    line-height: 5vw;
}

.main_txt{
    position:absolute;
    font-size:70px;
    font-weight:bold;
}
#header h1 {
    max-width: 250px;
}

.top header {
    border-bottom: 1px solid #fff;
    position: absolute;
    width: 100%;
    z-index: 2;
    border: 0;
}
.top #main_contents{
    padding-top: 0;
}
.bg_color1 {
    background-color: #f7cc38;
}
video{
        vertical-align: bottom;
}
#main_contents::after{
    display:none;
}
div#main_txt1 {
    right: 10px;
    font-weight: bold;
    font-size: 9vw;
    top: 0;
    line-height: 10vw;
    color: #d62b3c;
    color: #f7cc38;
    z-index: 2;
}
div#main_txt2{
    left: 10px;
    font-weight: bold;
    font-size: 9vw;
    bottom: -10px;
    line-height: 10vw;
    color: #f7cc38;
    color: #d62b3c;
    z-index: 2;
}

#main_contents #main_img{
    position: relative;
}
#main_contents,#main_img{
    max-height: 100vh;
    overflow: hidden;
    box-shadow:none !important;
}
#main_contents{
    background: url(Dup/img/page_bg.png) no-repeat !important;
    background-size: 20% !important;
    background-position: 0% 100% !important;
}
div#main_txt_tb{
    display:none;
}
/*--------------------------------タブレット---------------------------*/
@media screen and (max-width:768px){
    #main_contents #main_img{
        width:100% !important;
    }
    div#main_txt_tb{
        display:block;
    position: absolute;
    font-size: 58px;
    font-weight: bold;
    color: #d94452;
    bottom: -20px;
    left: 10px;
    
}
div#main_txt2, div#main_txt1 {
    display: none;
}
#main_banner {
    position: absolute;
    right: -19vw;
    width: 53vw;
    bottom: -19vw;
    animation: roll 25s linear infinite;
}
p.right_txt {
    position: absolute;
    right: 1.5vw;
    bottom: 1.8vw;
    color: #ffffff;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
}
#header h1 {
    max-width: 180px;
}
#intro hgroup h2{
    font-size:22px;
        padding: 5px 50px;
}
div#box_right {
    position: relative;
    right: -20px;
    order: 3;
    top: -30px;
}
div#box_left {
    position: relative;
    left: 0;
    order: 2;
    top: -30px;
}
div#intro_box2 {
    flex-wrap: wrap;
    margin-top: 140px;
    justify-content: center;
}
#intro_box2 #box_img {
   order: 1;
}
p.box2_txt{
    margin-bottom:20px;
}
#box3_txt h3 {
    font-size: 20px;
    font-weight: bold;
    color: #d94452;
    position: relative;
    padding-left: 0;
}
#box3_txt h3:before {
    width: 45px;
    height: 45px;
    content: "";
    position: absolute;
    background: url(Dup/img/con3.png) no-repeat;
    background-size: contain;
    top: -10px;
    left: -33px;
}
#box3_txt {
    width: 65%;
    
}
#box3_img {
    width: 45%;
    position: absolute;
    left: -50px;
    bottom: 0px;
    z-index: -1;
}
div#intro_box2 {
    flex-wrap: wrap;
    margin-top: 110px;
    justify-content: center;
    margin-bottom: 80px;
}
#contents1  .con_box figure,#contents2  .con_box figure {
    width: 60% !important;
    order:1;
}
#contents1 .con_box, #contents2 .con_box {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 100% !important;
}
.con_box_txt{
    margin-top:20px;
    order:2;
        width: 100% !important;

}
.cms_2-b .box_wrap{
    flex-direction:column;
    
}
.cms_2-b .cate_box{
    width:80% !important;
    padding: 0;
}
.cms_2-b h3 {
    background: #00a297;
    color: white;
    text-align: center;
    font-weight: bold;
    position: absolute;
    bottom: 20px;
    z-index: 2;
    left: 0;
    padding: 5px;
    width: 100%;
    box-sizing: border-box;
    font-size: 24px;
}
#footer h3.font_en.font_50.mg_b-10px.font_30_sp {
    font-size: 40px;
}
div#page_title::before{
    display:none;
}
#main_contents {
    background-size: 50% !important;
}
#page10 span.font_24.d_block.mg_b-10px.font_20_sp{
    font-size:20px;
}
}

/*--------------------------------スマホ---------------------------*/
@media screen and (max-width:667px){
    #header h1 {
    max-width: 100px;
}
#header {
    padding: 10px;
}
div#main_txt_tb {
    display: block;
    position: absolute;
    font-size: 32px;
    font-weight: bold;
    color: #d94452;
    bottom: -10px;
    left: 10px;
}
#main_banner {
    position: absolute;
    right: -23vw;
    width: 70vw;
    bottom: -24vw;
    animation: roll 25s linear infinite;
}
p.right_txt {
    font-size: 12px;
}
#main_txt_tb span{
    display:block !important;
}
div#main_txt_tb {
    display: block;
    position: absolute;
    font-size: 24px;
    font-weight: bold;
    color: #d94452;
    bottom: 6px;
    left: 5px;
    line-height: 20px;
}
#intro::after{
    outline:0;
}
#intro hgroup h2 {
    font-size: 18px;
    padding: 5px 20px;
}
#intro hgroup h2{
    top:0;
}
.intro_box1 p{
    padding-top:30px;
}
#intro_box2 h3{
    font-size:18px;
}
#intro_box2 #box_img {
    width: 300px;
    height: 300px;
}
div#box_right{
    right:0;
}
#box3_txt {
    width: 100%;
}
#box3_txt h3:before {
    width: 100%;
    height: 55px;
    content: "";
    position: absolute;
    background: url(Dup/img/con3.png) no-repeat;
    background-size: contain;
    top: -60px;
    left: 0px;
    background-position: center;
}
#box3_img{
    display:none;
}
#box3_txt a {
    padding: 5px;
    width: 100%;
    box-sizing: border-box;
}
#contents1::before,#contents2::before {
    width: 80%;
    height: 50px;
}
.con_box_txt {
    padding: 0;
}
#contents1,#contents2{
    padding: 20px;
}
.con_box_txt h4:before{
    top:2px;
}
.con_box_txt h4{
    font-size:18px;
}
.cms_2-b .cate_box {
    width: 100% !important;
    padding: 0;
}
.cms_2-b h3{
    font-size: 18px;
}
a.txt_color_nomal.hvr_opa05.motion03s.d_block.pd_30px.width_300-max.border_color2.border_so1 {
    font-size: 18px;
    white-space:nowrap;
}
#page_title h2 span{
    font-size:24px;
}
.privacy_wrap,#contact_box_wrap {
    padding: 20px;
}
#page10 .grid_4 a .bg_color3 {
    right: 0;
    background: #f7cc38;
    border: 1px solid white !important;
    box-sizing: border-box;
}
#banner a {
    position: fixed;
    right: 50px;
    bottom: 0;
    z-index: 3;
    display: inline-block;
    background: #d94452;
    height: 50px;
    padding: 0 30px;
    line-height: 54px;
    color: #ffffff;
    font-weight: bold;
    /* font-family: 'Fjalla One'; */
    font-size: 16px;
    letter-spacing: 3px;
}
#copyright {
    padding-right: 0;
}
}
