﻿.LINE img{
    max-width:300px;
}
header #header #main_menu li a {
    padding: 10px 25px;
}
nav span.d_block.txt_center.width_100per,header span.d_block.txt_center.width_100per {
    display:none;
}
#sc_menu li a,header a.bg_color1.txt_white{
    padding: 10px 25px;
    box-sizing: border-box;
    height:90px;
}
.linkStyle {
    color: #2f418b;
}
.linkStyle:hover{
    opacity:0.7;
}
@media all and (-ms-high-contrast: none){
    #sc_menu li a{
        padding-top:20px;
    }
    #sc_menu li.page08_link a{
        padding-top:20px;
    }
    div.cate_title{
        padding:5px !important;
    }
    h3.cate_title{
        padding-top:10px !important;
    }
h3.txt_color1.font_bold.font_36.font_24_tb.font_20_sp {
    width:700px;
}
section#main_img::after {
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    background-image: url(Dup/img/house.png);
    background-repeat:repeat-x;
      animation: bg-roop 60s linear infinite;
      background-size:1000px;
      background-position:bottom;
}
@keyframes bg-roop{
    0%{
        background-position:-1000px bottom;
    }
    100%{
        background-position:1000px bottom;
    }
}
}
/*---------------------------------PCのみ---------------------*/
@media screen and (min-width:769px){
    #contents .posi_center {
    position: absolute;
    top: 35%;
    left: 50%;
    transform: translate(-50%,-50%);
}

 #contents .width_300 {
    width: 350px;
}
      #main_img #catch {
    width: 35%;
    min-width: 600px;
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
    z-index: 2;
    padding: 50px;
    box-sizing: border-box;
    padding-top: 100px;
    background: #f6cc38;
}
}
/*---------------------------------ここまで---------------------*/
#intro {
    background-image:none;
}
.index{
    background-image:none;
}
.katei_g{
   margin-bottom:50px;
    border-bottom:1px solid #43d9c5;
    padding:15px;
}
.katei{
    margin:auto;
    font-size:18px;
    
}
.koumoku_title {
    font-size: 22px;
    background: white;
    padding: 5px 30px;
    border: 2px solid #2f418b;
    margin: auto;
    margin-bottom: 50px;
    margin-top: 50px;
}
.cate_title.font_8up.font_6up_tb.font_4up_sp.txt_center.pd_b-25px.pd_l-r5per.pd_l-5px_sp.pd_r-5px_sp {
    background: #f6cc38;
    padding: 5px;
    border: 2px solid #2f418b;
}

.cate_title.font_8up.font_6up_tb.font_4up_sp.txt_center.pd_b-25px.pd_l-r5per.pd_l-5px_sp.pd_r-5px_sp {
    background: #f6cc38;
    padding-bottom: 5px;
    border: 2px solid #2f418b;
    color: #2f418b;
    font-weight:bold;
}
main{
    
    background-color:#f3f3f3;

      background-image: url(Dup/img/house.png);
    background-repeat:repeat-x;
      animation: bg-roop 60s linear infinite;
      background-size:1000px;
}
span.sub_title.d_inline_b.pd_5px.pd_l-10px.pd_r-10px.bg_color1.txt_white.font_14.font_12_sp {
    background: #f6cc38;
}
a.txt_color_nomal.hvr_opa05.motion03s.d_block.pd_30px.width_300-max.border_color2.border_so1 {
    color: #43d9c5;
}
h3.width_30per.pd_5px.pd_l-20px.font_2dw_tb.txt_color2.width_100per_sp {
    color: #2f418b;
}
#page08 .border_color2{
    border-color:#f6cc38;
}
#top_cms .top_cms_box .more a {
    font-size: 20px;
}
#sc_menu .logo img {
    max-width: 220px;
}
h1 a {
    display: block;
    padding: 20px;
}
h1 img {
    max-width: 300px;
}
footer #copyright {
    background: #f6cc38;
    color:black;
}
#page_title::after {
    content: "";
    background-color: rgba(145,145,145,0.3);
}
#page_title h2{
    color:#fdd135;
    text-shadow: 2px 2px white;
}
#page_title p{
  background: #d94352;
}
.cate_box.width_100per.mg_center.border_so1.border_color1.mg_b-50px.pd_30px.pd_b-10px.border_so10-l {
    background: white;
}
nav li a{
    font-size:18px;
}
#catch span.d_inline_b::after {
    width: 90px;
    height: 90px;
    content: "";
    background-image: url(Dup/img/ramp.png);
    position: absolute;
    background-size: contain;
    right: 0;
    background-repeat:no-repeat;
}
#main_img #catch h2 span {
    padding-right: 90px;
}
#contents p.txt_left.font_12_sp{
    color:black;
}
#main_img #catch h2 {
    position: absolute;
    top: 48px;
    left: 50px;
    border: 3px solid #2f418b;
    box-sizing: border-box;
    word-break: keep-all;
    letter-spacing: 5px;
    background: white;
    font-weight: 900;
    text-shadow: none;
    color: #2f418b;
    font-size: 48px;
}
#main_img #catch p{
    color:black;
}



h3.txt_color1.font_24.font_20_tb.font_18_sp.font_bold.border_so3.border_color1.pd_50px.pd_t-30px.pd_b-20px.pd_30px_sp.pd_t-30px_sp.pd_b-20px_sp.linehight_1.d_inline_b.mg_l-20px{
    background:white;
}
#top_cms{
    background: #fef6d7;
    position:relative;
    border: 2px solid #2f418b;
}
#con2 {
    width: 500px;
    margin: auto;
    position: relative;
    top: 50px;
    left: 90px;
}
main {
    padding-bottom: 150px;
}
#con3{
    position: relative;
    top: 50px;
    width: 350px;
    margin: auto;
}
#contents .contents_txt > div{
    margin-top:-360px;
}
h3.txt_color1.font_bold.font_36.font_24_tb.font_20_sp:before {
    width: 310px;
    height: 310px;
    background-image: url(Dup/img/con1.png);
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
    left: -189px;
    bottom: -70px;
}
p.d_inline_b.pd_5px.txt_color1.border_so2.border_color1.font_bold.font_14.font_12_sp.linehight_1_sp {
    display: inline-block;
    width: 200px;
    margin: auto;
    text-align: center;
    font-size: 18px;
    margin-bottom: 30px;
    background: #d94352;
    color: white;
    border: 0;
}
h3.txt_color1.font_bold.font_36.font_24_tb.font_20_sp {
    font-size: 48px;
    background: #ffffff;
    border: 3px solid;
    padding: 0 40px;
    margin:auto;
    display:inline-block;
    position:relative;
}
div#intro_title {
    display: flex;
    flex-direction: column;
    margin-top: 30px;
    margin-bottom:150px;
}
section#main_img::after {
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    background-image: url(Dup/img/house.png);
    background-repeat:repeat-x;
      animation: bg-roop 60s linear infinite;
      background-size:1000px;
}
@keyframes bg-roop{
    0%{
        background-position:-1000px bottom;
    }
    100%{
        background-position:1000px bottom;
    }
}

h3.cate_title {
    background: #f6cc38;
    color: #2f418b;
    font-weight: bold;
    border: 2px solid;
    display:block;
    padding-top:5px; 
    padding-bottom:5px;
    text-align: center;
}

h3.txt_color1.font_bold.font_36.font_24_tb.font_20_sp {
    font-size: 48px;
}
#contents .contents_txt h3 {
    font-size: 32px;
}
h4.font_bold.font_18.mg_b-20px.font_16_tb{
    font-size:32px;
}
#intro .box_wrap .box > div span{
    background:white;
}
.bg_color2 {
    background-color: #fff6d6;
}
#intro .box_wrap .box > div:last-of-type {
    background-color: rgb(246,204,56);
    width: 90%;
    margin-left: 10%;
    transform: translateY(-30px);
    box-sizing: border-box;
    padding: 40px;
    position: relative;
    box-shadow: 0 0 15px rgb(0 0 0 / 10%);
    color: white;
}
.box_2 div{
    background-color: #d94352 !important;
    width: 90%;
    margin-left: 10%;
    transform: translateY(-30px);
    box-sizing: border-box;
    padding: 40px;
    position: relative;
    box-shadow: 0 0 15px rgb(0 0 0 / 10%);
    color: white;
}
#contents_links .square_box a{
    background:transparent;
}

#contents::before{
    display:none;
}
#contents_links .square_box a h4 {
    position: absolute;
    bottom: 5%;
    right: 5%;
    padding: 15px;
    line-height: 1;
    color: #ffffff;
    font-size: 30px;
    text-shadow: 2px 2px #43d9c5;
}

#contents_links .square_box a p {
    color: #ffffff;
    font-weight: bold;
    font-size: 28px;
    text-shadow: 2px 2px #43d9c5;
}
#contents_links .square_box a h4 {
    position: absolute;
    bottom: 5%;
    right: 5%;
    padding: 15px;
    line-height: 1;
    color: #ffffff;
    font-size: 30px;
    text-shadow: 2px 2px #2cc5b0;
}
#contents_links .square_box a::before {
    content: "";
    position: absolute;
    width: 90%;
    height: 90%;
    top: 5%;
    left: 5%;
    border: 3px solid #43d9c5;
    box-sizing: border-box;
    transition: ease 0.3s;
}
#contents .contents_txt {
    background-color: #f6cc38;
}
/*---------------------------------メインビジュアル---------------------*/
@media screen and (min-width:769px) and (max-width:1400px){
 #main_img #catch h2 span {
    padding: 5px 30px;
    padding-right: 70px;
}
#main_img #catch p {
    padding-top: 70px;
}
#main_img #catch h2 {
    position: absolute;
    top: 40px;
    left: 50px;
    border: 3px solid #2f418b;
    box-sizing: border-box;
    word-break: keep-all;
    letter-spacing: 5px;
    background: white;
    font-weight: 900;
    text-shadow: none;
    color: #2f418b;
    font-size: 38px;
}
#catch span.d_inline_b::after {
    width: 70px;
    height: 70px;
    content: "";
    background-image: url(Dup/img/ramp.png);
    position: absolute;
    background-size: contain;
    right: 0;
    background-repeat: no-repeat;
}
}

/*---------------------------------ここまで---------------------*/

/*---------------------------------タブレット---------------------*/
@media screen and (min-width:668px) and (max-width:768px){
  ul.pager.d_flex.flex_stretch.pd_t-50px.font_24.font_20_tb.font_16_tb li{
    display:none;
}
li.prev{
    display:block !important;
}
#cms_1-a .pager li{
    margin:0 auto !important;
}
#main_img #catch h2 {
    font-size: 32px;
    top: -30px;
    left: 55px;
}
#main_img #catch p {
    padding-top: 40px;
}
#catch span.d_inline_b::after {
    width: 60px;
    height: 60px;
    content: "";
    background-image: url(Dup/img/ramp.png);
    position: absolute;
    background-size: contain;
    right: 10px;
    top: 11px;
    background-repeat: no-repeat;
}
#main_img #catch h2 span {
    padding-right: 70px;
}
h3.txt_color1.font_bold.font_36.font_24_tb.font_20_sp:before {
    width: 220px;
    height: 220px;
    left: -109px;
    bottom: -50px;
}
div#catch {
    background: #f6cc38;
}
h3.txt_color1.font_bold.font_36.font_24_tb.font_20_sp {
    font-size: 32px;
}
#contents .logo {
    height: 300px;
}
#intro {
    padding-top: 60px;
}
div#intro_title {
    margin-bottom: 30px;
}
h4.font_bold.font_18.mg_b-20px.font_16_tb {
    font-size: 22px;
}
#contents_links .square_box a h4,#contents_links .square_box a p{
    font-size: 20px;
}
#contents_links .square_box a p{
    width:auto;
}
#contents .contents_txt h3 {
    font-size: 24px;
}
#contents .contents_txt > div {
    margin-top: -220px;
}
#con2 {
    width: 400px;
    left:80px;
}
#con3 {
    position: relative;
    top: 50px;
    width: 320px;
    margin: auto;
}
#contents .d_flex > div {
    padding: 40px;
}
#main_img #catch {
    padding-top: 20px!important;
}
}
/*---------------------------------ここまで---------------------*/


/*--------------------------------スマホ---------------------------------------------------------------------------------*/
@media screen and (max-width:667px){
    ul.pager.d_flex.flex_stretch.pd_t-50px.font_24.font_20_tb.font_16_tb li{
    display:none;
}
li.prev{
    display:block !important;
}
#cms_1-a .pager li{
    margin:0 auto !important;
}
 #main_img {
  
    padding-bottom: 60px;
}
#main_img #catch h2 {
    font-size: 22px;
    top: -20px;
    left: 30px;
        letter-spacing: 0px;
}
#main_img #catch p {
    padding-top: 40px;
}
#catch span.d_inline_b::after {
    width: 50px;
    height: 50px;
    content: "";
    background-image: url(Dup/img/ramp.png);
    position: absolute;
    background-size: contain;
    right: 5px;
    top: 0px;
    background-repeat: no-repeat;
}
#main_img #catch h2 span {
    padding-right: 60px;
}
h3.txt_color1.font_bold.font_36.font_24_tb.font_20_sp:before {
    width: 180px;
    height: 180px;
    left: -29px;
    bottom: 80px;
}
div#catch {
    background: #f6cc38;
}
h3.txt_color1.font_bold.font_36.font_24_tb.font_20_sp {
    font-size: 24px;
}
p.d_inline_b.pd_5px.txt_color1.border_so2.border_color1.font_bold.font_14.font_12_sp.linehight_1_sp {
z-index:2;
}
#contents .logo {
    height: 200px;
}
#intro {
    padding-top: 60px;
}
div#intro_title {
    margin-bottom: 30px;
}
h4.font_bold.font_18.mg_b-20px.font_16_tb {
    font-size: 20px;
}
#contents_links .square_box a h4,#contents_links .square_box a p{
    font-size: 20px;
}
#contents_links .square_box a p{
    width:auto;
}
#contents .contents_txt h3 {
    font-size: 18px;
}
#contents .contents_txt > div {
    margin-top: -170px;
}
#con2 {
    width: 260px;
    left: 50px;
    top: 20px;
}
#con3 {
    position: relative;
    top: 40px;
    width: 240px;
    margin: auto;
}
#contents .d_flex > div {
    padding: 40px;
}
img.width_300.posi_center.width_150_sp{
    width:220px;
}
    .cate_title.font_8up.font_6up_tb.font_4up_sp.txt_center.pd_b-25px.pd_l-r5per.pd_l-5px_sp.pd_r-5px_sp {
    padding: 0;
}
section#main_img::after {
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    background-image: url(Dup/img/house.png);
    background-repeat: repeat-x;
    animation: bg-roop 60s linear infinite;
    background-size: 600px;
}
}
@keyframes bg-roop{
    0%{
        background-position:-600px bottom;
    }
    100%{
        background-position:600px bottom;
    }
}
}
}
/*---------------------------------ここまで---------------------*/

/*--------------------------------5\SE---------------------------------------------------------------------------------*/
@media screen and (max-width:320px){
h4.font_bold.font_18.mg_b-20px.font_16_tb {
    font-size: 16px;
}
#main_img #catch h2 {
    font-size: 18px;
    top: -10px;
    left: 30px;
    letter-spacing: 0px;
}
#catch span.d_inline_b::after {
    width: 40px;
    height: 40px;
    right: 0;
    top: 2px;
 
}
#main_img #catch h2 span {
    padding-right: 44px;
}
h3.txt_color1.font_bold.font_36.font_24_tb.font_20_sp {
    font-size: 20px;
}
h3.txt_color1.font_bold.font_36.font_24_tb.font_20_sp:before {
    width: 180px;
    height: 180px;
    left: -29px;
    bottom: 64px;
}
#con2 {
    width: 220px;
    left: 42px;
    top: 20px;
}
#con3 {
    position: relative;
    top: 40px;
    width: 200px;
    margin: auto;
}
#top_cms .top_cms_box .more a {
    font-size: 16px;
}
.tel a.font_bold.txt_white.font_32.letter_3.font_24_sp{
    font-size:20px;
}
}