@charset "UTF-8";

#container {
overflow: hidden; }

blockquote {font-size: 100%; }
embed,
iframe,
object {
max-width: 100%; }
.section {
padding-top: 50px;
padding-bottom: 50px; }
.section .section {
padding-top: 0;
padding-bottom: 0; }
body {
-webkit-font-smoothing: antialiased; }
img {
height: auto;
max-width: 100%; }
a {
transition: color 0.4s, background-color 0.4s, border-color 0.4s, text-decoratin 0.4s; }


ul.iconButton{
top: 18rem;
left: 0;
width: 60px;
font-size: 3.2rem;
font-weight: 800;
position: fixed;
transition: all 0.3s;
z-index: 500;
text-align: center;
margin-bottom: 0;
}
ul.iconButton li{
display: inline-block;
}
ul.iconButton li a{
width: 60px;
height: 60px;
background: #A40B5D;
display: block;
color: #fff;
opacity: 0.7;
padding-top: 0.8rem;
margin-bottom: 1rem;
}
ul.iconButton li:nth-child(2) a{
background: #00C7EB;
top: 25rem;
}
ul.iconButton li a:hover {
opacity: 1;
transition: all 0.3s;
}

#pagetop {
position: fixed;
bottom: 1rem;
right: 1rem;
z-index: 100;
width: 70px;
height: 70px;
display: inline-flex;
justify-content: center;
align-items: center;
background: rgba(149, 202, 216, 0.7);

}
#pagetop img {
width: 40px;
height: 16px;
}

#pagetop a {
color: #fff;
font-size: 3rem;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
}
.al_c {
text-align: center !important;
}
.al_l {
text-align: left;
}
.al_j {
text-align: justify;
}
.mg_auto {
margin: 0 auto;
text-align: center;
}
.po_r {
position: relative;
}
.flex {
display: flex;
}
.fd_re {
flex-direction: row-reverse;
}

.fd_c {
flex-direction: column;
}
.jc_c {
justify-content: center;
}
.jc_sb {
justify-content: space-between;
}
.jc_sa {
justify-content: space-around;
}
.ai_c {
align-items: center;
}
.ai_s {
align-items: stretch;
}
.ai_fe {
align-items:flex-end;
}
.as_fs {
align-self: flex-start;
}
.mb_0 {
margin-bottom: 0 !important;
}
.mb_s {
margin-bottom: 3rem !important;
}
.mb_m {
margin-bottom: 5rem !important;
}
.mb_l {
margin-bottom: 7rem !important;
}
.mt_s {
margin-top: 3rem !important;
}
.mt_m {
margin-top: 5rem !important;
}
.pt_m {
padding-top: 5rem;
}
.mr_3 {
margin-right: 3rem;
}
.mb_-2 {
margin-bottom: -2rem;
}
.mr_-2 {
margin-right: -2rem;
}
.mr_-3 {
margin-right: -3rem;
}
.ml_-2 {
margin-left: -2rem;
}
.ml_-3 {
margin-left: -3rem;
}
.mt_-3{
margin-top: -3rem;
}
.mt_-6{
margin-top: -6rem;
}
.txt_l {
font-size: 2.6rem;
}

.note {
font-size: 1.5rem !important;
font-weight: 300 !important;
line-height: 1.3 !important;
text-align: left;
}
.di_b {
display: block;
}
.di_ib {
display: inline-block
}
.z-1 {
z-index: -1;
}
.z10 {
z-index: 10;
position: relative;
}
br.nopc {
display: none;
}
.only_sp{
display: none;
}
.size05{
zoom: 0.5;
}

.form header .container {
height: 100px;
align-items: center;
}
header {
width: 100%;
display: block;
padding: 0;
position: fixed;
}
.form header h1 {
margin: 0;
padding-right: 1.2rem;
border-right:solid 1px #fff ;
letter-spacing: 0.15rem;
}
.form header p {
padding-left: 1.5rem;
letter-spacing: 0.15rem;
margin: 0;
}
.form .main #contact {
padding-top: 150px;
}


.hero {
width: 100%;
overflow: hidden;
position: relative;
padding-bottom: 0;
text-align: center;
height: 700px;
}
.hero .wrap {
width: 1280px;
margin: 0 auto;
}

.hero figure {
height: 700px;
width: 777px;
animation-delay: 0.5s;
position: absolute;
right: 120px;
top: 0;
z-index: 1;
}

.hero .block{
height: 700px;
width: 630px;
animation-delay: 1.5s;
padding-top: 7rem;
z-index: 2;
position: relative;
}
.hero h1{
font-size: 5rem;
font-weight: 600;
letter-spacing: 0.7rem;
color: #fff;
border-bottom:3px solid #fff ;
width: 470px;
margin: 0 auto;
padding-bottom: 2.5rem;
}
.hero p{
font-size: 2.6rem;
line-height: 1.5;
color: #fff;
margin-bottom: 4rem;
}
.hero .box{
width: 470px;
border: 3px solid #fff;
border-radius: 3rem;
margin: 0 auto;
text-align: left;
padding: 5rem 0 4.5rem 5rem ;
}
.hero .box h2{
font-size: 2.6rem;
line-height: 1.6;
letter-spacing: 0.6rem;
}
.hero .box p{
color: #000;
font-size: 1.8rem;
line-height: 1.8;
margin-bottom: 0;
}

.index > .main {
padding-top: 0;
}

.index .area1 ul li {
font-size:3.2rem ;
font-weight: 500;
letter-spacing:0.4rem;
background: linear-gradient(transparent 91%, #2B95B1 0%);
display: inline-block;
padding: 0 0.5rem 0.8rem;
margin-bottom: 1.5rem;
font-family: inherit;
}

.index .area2 .box .fuki::after,
.index .area3 .box .fuki::after{
left: 45%;
}
.index .area1 h2.fuki {
animation-delay: 2.5s;
}
figure.fuki_r {
margin: 10rem 0 0 7rem;
}
.index .area2 ul li {
padding: 2rem 11rem;
margin-bottom: 2rem;
}
.index .area2 ul li.last {
padding: 2rem 0 0;
}
.index .area2 ul li.last figure.oyako {
margin-top: 6rem;
}
.index .area2 ul li h3 {
margin-bottom: -1rem;
}
.index .area2 p.last {
font-size: 3.2rem;
font-weight: 700;
margin: 1rem 0;
}
.index .area2 h2.last {
padding-left: 20rem;
margin-top: 3rem;
}
.index .area2 h2.last strong {
display: inline-block;
background: linear-gradient(transparent 70%, rgba(43, 149, 177, 0.2) 0%);
}
.index .area2 h2.last b {
letter-spacing: -2rem;
}
.index .area3 .box_first h2 {
position: absolute;
left: 0;
bottom: 1rem;
background: rgba(255, 255, 255, 0.5);
padding: 2rem 5rem;
font-size: 4.2rem;
}
.index .area3 .block1 {
padding: 3rem 8rem;
}
.index .area3 .block1 .fuki {
padding: 4rem 9rem 5rem 8rem;
margin-bottom: 0;
}
.index .area3 .block1 .fuki_r {
margin-top: 0;
}
.index .area3 .block1 .fuki em {
font-weight: 800;
font-size:4.6rem ;
color: #2B95B1;
background-color: #fff;
border-radius: 40rem;
padding: 0 2.2rem 0.5rem;
margin-right: 1rem;
line-height: 0;
letter-spacing: 0;
}

.index .area3 .block1 .fuki .ant {
position: absolute;
right: 0;
bottom: 1rem;
font-size: 1.6rem;
font-weight: 500;
}

.index .area3 .block1 ol li {
border: #2B95B1 solid 3px;
padding: 0 5rem 1rem;
margin: 3rem 0 11rem;
position: relative;
}
.index .area3 ol li:last-child {
margin-bottom: 5rem;
}
.index .area3 .block1 ol li:after {
content: '';
display: inline-block;
width: 90px;
height: 36px;
background: url(../images/ico_arrow.png) no-repeat center bottom/100% 100%;
margin-bottom: -8.5rem;
}
.index .area3 .block1 ol li:last-child:after {
display: none;
}
.index .area3 .block1 ol li h3 {
margin-bottom: -1rem;
}
.index .area3 .block1 ol li h3 em {
display: block;
font-weight: 800;
font-size:4.2rem ;
color: #fff;
background-color: #2B95B1;
border-radius: 40rem;
width: 7rem;
height: 7rem;
margin: -2rem auto 1rem;
line-height: 1.5;
letter-spacing: 0;
}
.index .area3 .block1 ol li p {
margin-bottom: -1rem;
}
.index .area3 .block1 ol li:last-child p {
margin-bottom: 2rem;
}
.index .area3 .fuki.nofuki {
padding: 2rem 0;
margin: 6rem 0 9rem;
}
.index .area3 .fuki.nofuki::after {
display: none;
}
.index .area3 .block2 {
border: solid #fff 4px;
padding: 0 8rem 5rem;
margin-bottom: 10rem;
}
.index .area3 h3 {
margin: -32px 0 5rem;
}
.index .area3 .block2 .fuki {
padding: 4rem 5.5rem;
}
.index .area3 .block2 figure.fuki_r{
    margin: -6rem 0 0 0;
}

.index .area3 .block2 ul li .spec {
width: 100%;
padding: 4rem 3rem 0;
}
.index .area3 .block2 ul li:nth-child(2) .spec {
padding: 3rem 3rem 0;
}
.index .area3 .block2 .spec ul li {
font-size: 1.6rem;
font-weight: 600;
letter-spacing: 0.1rem;
line-height: 1.2;
margin-bottom: 0.7rem;
}
.index .area3 .block2 .spec small {
font-size:1.6rem ;
}
.index .area3 .block2 ul li p {
margin: 0;
letter-spacing: 0.1rem;
padding: 2rem 4rem;
font-size: 1.6rem;
}
.index .area4 .block {
border: solid #000 1px;
margin: 10rem 0 0;
padding: 0 8rem 5rem;
}
p.update {
text-align: right;
font-size:1.75rem ;
font-weight: 400;
margin: 1rem 0 3rem;
}
.index .area4 .block h3 {
margin-top:-28px ;
}
.index .area4 .block .box {
margin-bottom:3rem ;
}
.index .area4 .block .box h4 {
font-size: 1.8rem;
padding: 0.3rem 0;
}
.index .area4 .block .box ul {
margin:0 1rem;
}
.index .area4 .block .box ul li {
position: relative;
padding-left: 2rem;
margin-bottom: 0.8rem;
text-align: left;
line-height: 1.3;
letter-spacing: 0.1rem;
font-size: 1.8rem;
}
.index .area4 .block .box ul li:before {
content: "";
position: absolute;
top: 0.7rem;
left: 0;
width: 1rem;
height: 1rem;
background-color: rgba(43, 149, 177, 0.8);
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.index .area4 .block .box ul li a {
transition: all 0.3s;
}
.index .area4 .block .box ul li a:hover {
color: #2B95B1;
transition: all 0.3s;
}
.index .area4 .block .box ul li img {
zoom: 0.5;
margin-bottom: 0.5rem;
}

.index .contact iframe{
width: 100%;
}

ul.grid2 {
display: flex;
justify-content: center;
flex-wrap: wrap;
margin: 2rem auto 4rem;
}
ul.grid2:after,
ul.grid2:before{
content:"";
display:block;
width: 48%;
height:0;
}
ul.grid2 li {
width: 48%;
}
ul.grid2:before{
order:1;
}

ul.grid3 {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
}
ul.grid3:after,
ul.grid3:before{
content:"";
display:block;
width: 30%;
height:0;
}
ul.grid3 li {
width: 30%;
margin:0 0 4rem;
}
ul.grid3:before{
order:1;
}

ul.grid3 li a {
position: relative;
}

footer {
font-size: 1.8rem;
font-weight: 500;
line-height: 1.5;
padding: 5rem 2rem ;
}
footer p {
font-size: 2.6rem;
font-weight: 700;
margin: 0;
}
footer ul {
margin: 2rem 0 3rem;
}
footer small {
width: auto;
display: inline-block;
}

/*==================1150==================*/
@media screen and (max-width:1150px){

.hero {
zoom: 0.7;
}

}
/*==================800==================*/
@media screen and (max-width:800px){

.hero {
/* zoom: 0.6; */
}
.form header .container {
height: 70px;
flex-direction: column;
}
.form header h1 {
margin: 0;
padding-right: 0;
border-right:none ;
font-size: 1.6rem;
}
.form header p {
font-size: 1.6rem;
}
.form .main #contact {
    padding-top: 100px;
}

}
/*==================600==================*/
@media screen and (max-width:600px){

html{
font-size: 50%;
}

.mr_3 {
margin-right: 0;
}
.mb_-2 {
margin-bottom: 0;
}
.mr_-2 {
margin-right: 0;
}
.mr_-3 {
margin-right: 0;
}
.ml_-2 {
margin-left: 0;
}
.ml_-3 {
margin-left: 0;
}
.mt_-3{
margin-top: 0;
}
.mt_-6{
margin-top: 0;
}
.mb_l {
margin-bottom: 2rem !important;
}
.mb_m {
margin-bottom: 2rem !important;
}

.size05{
zoom: 0.3;
}

.hero {
zoom: 1;
height: auto;
}
.hero .wrap {
width: 100%;
}
.hero figure {
position: relative;
width: 100%;
height: auto;
margin: 0 0 0 -5rem;
overflow: hidden;
text-align: center;
right: 0;
 
}
.hero .block{
height: auto;
width: 100%;
padding-top: 2rem;
}
.hero h1{
font-size: 3.4rem;
border-bottom:2px solid #fff ;
width: 85%;
padding-bottom: 0.8rem;
}
.hero p{
font-size: 2.2rem;
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.2rem;
margin: 0.8rem 0 2rem;
}
.hero .box{
width: 100%;
border: none;
border-radius: 0;
margin: 0 auto;
padding: 1rem 4rem 0 ;
}
.hero .box h2{
margin: 0.8rem 0;
font-size: 2.2rem;
line-height: 1.3;
text-align: justify;
letter-spacing: 0.2rem;
}
.hero .box p{
font-size: 1.8rem;
font-weight: 500;
line-height: 1.5;
text-align: justify;
margin: 0;
}
.index .area1 ul li {
background: linear-gradient(transparent 92%, #2B95B1 0%);
margin-bottom: 0.5rem;
font-weight: 600;
}

.index .area1 ul li {
font-size:2rem ;
letter-spacing:0.1rem;
font-weight: 700;
}
figure.fuki_r {
margin: 1rem 0 0 2rem;
}
.index .area2 ul li {
padding: 1rem 2rem;
margin-bottom: 2rem;
}
.index .area2 h2.last {
padding: 1rem;
text-align: center;
}
.index .area2 ul li.last figure.oyako {
    margin-top: 2rem;
}
.index .area2 p.last {
font-size: 2.2rem;
font-weight: 700;
margin: 1rem 0 0;
}
.index .area2 h2.last strong {
display: inline;
}
.index .area3 .box_first {
margin-left: -15px;
margin-right: -15px;
}
.index .area3 .block1 {
padding: 0.5rem 2rem;
margin-left: -15px;
margin-right: -15px;
}
.index .area3 .box_first h2 {
    bottom: 0;
    padding: 1rem 2rem;
    font-size: 2.2rem;
}
.index .area3 .block1 .fuki {
    padding: 3rem 0rem 4rem 0rem;
width: 75%;
text-align: center;
letter-spacing: 0;
}
.index .area3 .block1 .fuki span {
letter-spacing: 0.3rem;
}
.index .area3 .block1 .fuki span.ant {
letter-spacing: 0;
}
.index .area3 .block1 .fuki em {
    font-size: 2.4rem;
    padding: 0 1.3rem 0.3rem;
    margin-right: 0.5rem;
}
.index .area3 h3 {
    margin: -19px 0 1rem;
}
.index .area3 .block1 ol li h3 em {
    display: block;
    font-size: 3rem;
    color: #fff;
    width: 5rem;
    height: 5rem;
    margin: -1rem auto 1rem;
    line-height: 1.5;
    letter-spacing: 0;
}
.index .area3 .block1 ol li {
    border: #2B95B1 solid 2px;
    padding: 0 2rem 0;
    margin: 2rem 0 7rem;
}
.index .area3 ol li:last-child {
    margin-bottom: 0;
}
.index .area3 .block1 ol li:after {
    width: 45px;
    height: 18px;
    margin-bottom: -5rem;
}
.index .area3 .fuki.nofuki {
    padding: 1.5rem 0;
    margin: 3rem 0 5rem;
}
.index .area3 .block2 {
    border: solid #fff 2px;
    padding: 0 2rem 0;
    margin-bottom: 3rem;
}
.index .area3 .block2 .fuki {
    padding: 2rem 2rem;
margin-right: 2rem;
width: 65%;
}
.index .area3 .block2 figure.fuki_r {
    margin: -1rem 0 0 0;
}
.index .area3 .block2 .box.message {
margin-bottom: -2rem;
}
.index .area3 .block2 > ul {
margin-right: -16px;
margin-left: -16px;
margin-bottom: 0;
}
.index .area3 .block2 ul li .box figure {
zoom: 0.6;
}
.index .area3 .block2 ul li .spec {
    padding: 3rem 2rem 0;
}
.index .area3 .block2 ul li:nth-child(2) .spec {
    padding: 2.2rem 2rem 0;
}
.index .area3 .block2 .spec ul li {
font-size: 1.5rem;
font-weight: 500;
letter-spacing: 0;
margin-bottom: 0.4rem;
}
.index .area3 .block2 .spec h5 {
margin: -1.5rem 0 0;
font-size: 2rem;
letter-spacing: 0.1rem;
}
.index .area3 .block2 .spec small {
    font-size: 1.4rem;
}
.index .area3 .block2 ul li p {
    padding: 2rem 2rem;
line-height: 1.5;
}
.index .area4 .block {
    margin: 4rem 0 2rem;
    padding: 0 2rem 2rem;
}
.index .area4 .block h3 {
    margin: -17px 0 1rem;
}
.index .area4 .block .box ul {
    margin: 0;
}
.index .area4 .block .box ul li {
letter-spacing: 0;
}
.index .area4 .block .box ul li img {
margin-bottom: 0.3rem;
}

footer {
padding: 3rem 1.5rem;
}
footer p {
font-size: 1.8rem;
}
footer ul li {
font-size: 1.6rem;
line-height: 1.2;
margin-bottom: 0.8rem;
}

.flex_d_c{
flex-direction:column !important;
margin: 0 !important;
width: 100% !important;
text-align: center;
}
.flex_d_c li{
margin-bottom: 5rem;
}
.only_pc{
display: none !important;
}
.only_sp{
display: block !important;
}
.ta_l_onlysp{
text-align: left !important;
}
.di_b{
display: block !important;
}

.al_c_onlysp{
text-align: center !important;
}

br.nosp,
p.nosp br,
.index .story p br,
.sub_special.tokuten .box_r p br{
display: none;
}
.index h2.t1{
zoom:0.8;
letter-spacing: 0.5rem;
}
.block.sp100 {
width: 100% !important;
}
.slick-arrow{
display: none !important;
}
#content {
margin: 3em 0 3em;
}




#pagetop.btn::after {
margin: 0 0 0.2em;
}
.gnavi {
zoom: 1;
}
.gnavi li span {
font-size: 1.6rem;
}
.gnavi li a {
width:auto;
height: auto;
background:none;
background-position: 0;
text-indent:0;
white-space:nowrap;
transition: all .3s;
}
.gnavi li a:hover {
background-position: 0;
transition: all .3s;
}


.location iframe{
height: 320px;
width: 90%;
}
#propertylink{
margin-top: -60px;
padding-top: 60px;
}
#contactlink{
margin-top: -60px;
padding-top: 60px;
}
.contact iframe{
height: 1240px;
overflow:hidden;
}


}
