@charset "utf-8";

@font-face {
	font-family: 'HGSoeiPresenceEB';
	src: url(../font/HGPSoeiPresenceEB.ttf) format('truetype');
	font-style: normal;
	font-weight: normal;
}
@font-face {
	font-family: 'HGSoeiKakugothicUB';
	src: url(../font/HGSoeiKakugothicUB.ttf) format('truetype');
	font-style: normal;
	font-weight: normal;
}

body {
    font-family: 'HGSoeiKakugothicUB';
    color: #333;
}
a {
    color: inherit;
}
a:hover,
a img:hover{
opacity:0.6;
filter:alpha(opacity=60);
-ms-filter: "alpha( opacity=60 )";
}
ul, ol, li {
    margin: 0;
    padding: 0;
    list-style: none;
}
img {
    max-width: 100%;
    height: auto;
}
figure {
    line-height: 0;
    margin: 0;
}
.full-img img {
    width: 100%;
    height: auto;
}

.hoken{color: #ffffff; font-size: 30px; text-align: center; margin: -20px;}

.text-border-b {
    text-shadow: rgb(0, 0, 0) 5px 0px 0px, rgb(0, 0, 0) 4.90033px 0.993347px 0px, rgb(0, 0, 0) 4.60531px 1.94709px 0px, rgb(0, 0, 0) 4.12668px 2.82321px 0px, rgb(0, 0, 0) 3.48353px 3.58678px 0px, rgb(0, 0, 0) 2.70151px 4.20736px 0px, rgb(0, 0, 0) 1.81179px 4.6602px 0px, rgb(0, 0, 0) 0.849836px 4.92725px 0px, rgb(0, 0, 0) -0.145998px 4.99787px 0px, rgb(0, 0, 0) -1.13601px 4.86924px 0px, rgb(0, 0, 0) -2.08073px 4.54649px 0px, rgb(0, 0, 0) -2.94251px 4.04248px 0px, rgb(0, 0, 0) -3.68697px 3.37732px 0px, rgb(0, 0, 0) -4.28444px 2.57751px 0px, rgb(0, 0, 0) -4.71111px 1.67494px 0px, rgb(0, 0, 0) -4.94996px 0.7056px 0px, rgb(0, 0, 0) -4.99147px -0.291871px 0px, rgb(0, 0, 0) -4.83399px -1.27771px 0px, rgb(0, 0, 0) -4.48379px -2.2126px 0px, rgb(0, 0, 0) -3.95484px -3.05929px 0px, rgb(0, 0, 0) -3.26822px -3.78401px 0px, rgb(0, 0, 0) -2.4513px -4.35788px 0px, rgb(0, 0, 0) -1.53666px -4.75801px 0px, rgb(0, 0, 0) -0.560763px -4.96845px 0px, rgb(0, 0, 0) 0.437495px -4.98082px 0px, rgb(0, 0, 0) 1.41831px -4.79462px 0px, rgb(0, 0, 0) 2.34258px -4.41727px 0px, rgb(0, 0, 0) 3.17346px -3.86382px 0px, rgb(0, 0, 0) 3.87783px -3.15633px 0px, rgb(0, 0, 0) 4.4276px -2.32301px 0px, rgb(0, 0, 0) 4.80085px -1.39708px 0px, rgb(0, 0, 0) 4.98271px -0.415447px 0px;
}
.col-w {
    color: #fff !important;
}
.col-y {
    color: #ffcc00 !important;
}
.col-r {
    color: #ff0033 !important;
}
.col-dr {
    color: #990000 !important;
}
.col-lr {
    color: #ff6666 !important;
}
.relative {
    position: relative;
}
.sp,
.super-sp {
    display: none;
}

.wrapper {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
}
.container {
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 15px;
}
section {
    padding: 30px 0;
}
section h2 {
    font-size: 85px;
    color: #fff;
    text-align: center;
    margin-bottom: 50px;
}
span.font-sm {
    font-size: 65%;
}
span.font-md {
    font-size: 85%;
}

header {
    background: url("images/kv_bg.gif") center bottom;
    background-size: cover;
}
header h1 {
    font-size: 120px;
    text-align: right;
    color: #cc0000;
    text-shadow: rgb(0, 0, 0) 10px 0px 0px, rgb(0, 0, 0) 9.95004px 0.998334px 0px, rgb(0, 0, 0) 9.80067px 1.98669px 0px, rgb(0, 0, 0) 9.55336px 2.9552px 0px, rgb(0, 0, 0) 9.21061px 3.89418px 0px, rgb(0, 0, 0) 8.77583px 4.79426px 0px, rgb(0, 0, 0) 8.25336px 5.64642px 0px, rgb(0, 0, 0) 7.64842px 6.44218px 0px, rgb(0, 0, 0) 6.96707px 7.17356px 0px, rgb(0, 0, 0) 6.2161px 7.83327px 0px, rgb(0, 0, 0) 5.40302px 8.41471px 0px, rgb(0, 0, 0) 4.53596px 8.91207px 0px, rgb(0, 0, 0) 3.62358px 9.32039px 0px, rgb(0, 0, 0) 2.67499px 9.63558px 0px, rgb(0, 0, 0) 1.69967px 9.8545px 0px, rgb(0, 0, 0) 0.707372px 9.97495px 0px, rgb(0, 0, 0) -0.291995px 9.99574px 0px, rgb(0, 0, 0) -1.28844px 9.91665px 0px, rgb(0, 0, 0) -2.27202px 9.73848px 0px, rgb(0, 0, 0) -3.2329px 9.463px 0px, rgb(0, 0, 0) -4.16147px 9.09297px 0px, rgb(0, 0, 0) -5.04846px 8.63209px 0px, rgb(0, 0, 0) -5.88501px 8.08496px 0px, rgb(0, 0, 0) -6.66276px 7.45705px 0px, rgb(0, 0, 0) -7.37394px 6.75463px 0px, rgb(0, 0, 0) -8.01144px 5.98472px 0px, rgb(0, 0, 0) -8.56889px 5.15501px 0px, rgb(0, 0, 0) -9.04072px 4.2738px 0px, rgb(0, 0, 0) -9.42222px 3.34988px 0px, rgb(0, 0, 0) -9.70958px 2.39249px 0px, rgb(0, 0, 0) -9.89993px 1.4112px 0px, rgb(0, 0, 0) -9.99135px 0.415807px 0px, rgb(0, 0, 0) -9.98295px -0.583741px 0px, rgb(0, 0, 0) -9.8748px -1.57746px 0px, rgb(0, 0, 0) -9.66798px -2.55541px 0px, rgb(0, 0, 0) -9.36457px -3.50783px 0px, rgb(0, 0, 0) -8.96758px -4.4252px 0px, rgb(0, 0, 0) -8.481px -5.29836px 0px, rgb(0, 0, 0) -7.90968px -6.11858px 0px, rgb(0, 0, 0) -7.25932px -6.87766px 0px, rgb(0, 0, 0) -6.53644px -7.56803px 0px, rgb(0, 0, 0) -5.74824px -8.18277px 0px, rgb(0, 0, 0) -4.90261px -8.71576px 0px, rgb(0, 0, 0) -4.00799px -9.16166px 0px, rgb(0, 0, 0) -3.07333px -9.51602px 0px, rgb(0, 0, 0) -2.10796px -9.7753px 0px, rgb(0, 0, 0) -1.12153px -9.93691px 0px, rgb(0, 0, 0) -0.123887px -9.99923px 0px, rgb(0, 0, 0) 0.87499px -9.96165px 0px, rgb(0, 0, 0) 1.86512px -9.82453px 0px, rgb(0, 0, 0) 2.83662px -9.58924px 0px, rgb(0, 0, 0) 3.77978px -9.25815px 0px, rgb(0, 0, 0) 4.68517px -8.83455px 0px, rgb(0, 0, 0) 5.54374px -8.32267px 0px, rgb(0, 0, 0) 6.34693px -7.72764px 0px, rgb(0, 0, 0) 7.0867px -7.0554px 0px, rgb(0, 0, 0) 7.75566px -6.31267px 0px, rgb(0, 0, 0) 8.34713px -5.50686px 0px, rgb(0, 0, 0) 8.8552px -4.64602px 0px, rgb(0, 0, 0) 9.27478px -3.73877px 0px, rgb(0, 0, 0) 9.6017px -2.79415px 0px, rgb(0, 0, 0) 9.83268px -1.82162px 0px, rgb(0, 0, 0) 9.96542px -0.830894px 0px;
}
header .header-kv {
    padding-top: 130px;
    position: relative;
}
header .header-kv-cont p {
    color: #cc0000;
    font-size: 48px;
    text-align: right;
    margin: 0;
    letter-spacing: -.01em;
}
header .header-kv-cont .d-flex {
    align-items: flex-end;
}
header .header-kv-cont .kv-txt,
header .header-kv-cont .kv-img {
    width: 50%;
    line-height: 1.35;
    margin-bottom: 20px;
}
header .header-kv-cont .kv-txt .kv-txt-header {
    background: rgba(255, 255, 255, .7);
    padding: 30px 0;
}
header .header-kv-cont .kv-txt .kv-txt-header p {
    text-align: center;
}
header .header-kv-cont .kv-txt .kv-txt-header .kv-txt-ttl {
    font-size: 60px;
}
header .header-kv-cont .kv-txt .kv-price {
    width: calc(100% - 50px);
    margin: 0 auto;
}
header .header-kv-cont .kv-txt .kv-price-ttl {
    background: #facd89;
    color: #ffcc33;
    font-size: 100px;
    text-shadow: rgb(255, 255, 255) 10px 0px 0px, rgb(255, 255, 255) 9.95004px 0.998334px 0px, rgb(255, 255, 255) 9.80067px 1.98669px 0px, rgb(255, 255, 255) 9.55336px 2.9552px 0px, rgb(255, 255, 255) 9.21061px 3.89418px 0px, rgb(255, 255, 255) 8.77583px 4.79426px 0px, rgb(255, 255, 255) 8.25336px 5.64642px 0px, rgb(255, 255, 255) 7.64842px 6.44218px 0px, rgb(255, 255, 255) 6.96707px 7.17356px 0px, rgb(255, 255, 255) 6.2161px 7.83327px 0px, rgb(255, 255, 255) 5.40302px 8.41471px 0px, rgb(255, 255, 255) 4.53596px 8.91207px 0px, rgb(255, 255, 255) 3.62358px 9.32039px 0px, rgb(255, 255, 255) 2.67499px 9.63558px 0px, rgb(255, 255, 255) 1.69967px 9.8545px 0px, rgb(255, 255, 255) 0.707372px 9.97495px 0px, rgb(255, 255, 255) -0.291995px 9.99574px 0px, rgb(255, 255, 255) -1.28844px 9.91665px 0px, rgb(255, 255, 255) -2.27202px 9.73848px 0px, rgb(255, 255, 255) -3.2329px 9.463px 0px, rgb(255, 255, 255) -4.16147px 9.09297px 0px, rgb(255, 255, 255) -5.04846px 8.63209px 0px, rgb(255, 255, 255) -5.88501px 8.08496px 0px, rgb(255, 255, 255) -6.66276px 7.45705px 0px, rgb(255, 255, 255) -7.37394px 6.75463px 0px, rgb(255, 255, 255) -8.01144px 5.98472px 0px, rgb(255, 255, 255) -8.56889px 5.15501px 0px, rgb(255, 255, 255) -9.04072px 4.2738px 0px, rgb(255, 255, 255) -9.42222px 3.34988px 0px, rgb(255, 255, 255) -9.70958px 2.39249px 0px, rgb(255, 255, 255) -9.89993px 1.4112px 0px, rgb(255, 255, 255) -9.99135px 0.415807px 0px, rgb(255, 255, 255) -9.98295px -0.583741px 0px, rgb(255, 255, 255) -9.8748px -1.57746px 0px, rgb(255, 255, 255) -9.66798px -2.55541px 0px, rgb(255, 255, 255) -9.36457px -3.50783px 0px, rgb(255, 255, 255) -8.96758px -4.4252px 0px, rgb(255, 255, 255) -8.481px -5.29836px 0px, rgb(255, 255, 255) -7.90968px -6.11858px 0px, rgb(255, 255, 255) -7.25932px -6.87766px 0px, rgb(255, 255, 255) -6.53644px -7.56803px 0px, rgb(255, 255, 255) -5.74824px -8.18277px 0px, rgb(255, 255, 255) -4.90261px -8.71576px 0px, rgb(255, 255, 255) -4.00799px -9.16166px 0px, rgb(255, 255, 255) -3.07333px -9.51602px 0px, rgb(255, 255, 255) -2.10796px -9.7753px 0px, rgb(255, 255, 255) -1.12153px -9.93691px 0px, rgb(255, 255, 255) -0.123887px -9.99923px 0px, rgb(255, 255, 255) 0.87499px -9.96165px 0px, rgb(255, 255, 255) 1.86512px -9.82453px 0px, rgb(255, 255, 255) 2.83662px -9.58924px 0px, rgb(255, 255, 255) 3.77978px -9.25815px 0px, rgb(255, 255, 255) 4.68517px -8.83455px 0px, rgb(255, 255, 255) 5.54374px -8.32267px 0px, rgb(255, 255, 255) 6.34693px -7.72764px 0px, rgb(255, 255, 255) 7.0867px -7.0554px 0px, rgb(255, 255, 255) 7.75566px -6.31267px 0px, rgb(255, 255, 255) 8.34713px -5.50686px 0px, rgb(255, 255, 255) 8.8552px -4.64602px 0px, rgb(255, 255, 255) 9.27478px -3.73877px 0px, rgb(255, 255, 255) 9.6017px -2.79415px 0px, rgb(255, 255, 255) 9.83268px -1.82162px 0px, rgb(255, 255, 255) 9.96542px -0.830894px 0px;
    padding: 30px 0;
    text-align: center;
}
header .header-kv-cont .kv-txt .kv-price-ttl span {
    font-size: 75%;
    color: #000;
}
header .header-kv-cont .kv-txt .kv-price-txt {
    color: #fff;
    background: #f19149;
    padding: 10px 0;
    text-align: center;
    font-size: 68px;
}

header .header-logo {
    position: absolute;
    left: 0;
    top: 0;
    width: 30%;
    height: 300px;
    max-width: 150px;
}
header .header-tel {
    position: absolute;
    right: 250px;
    width: 40%;
    height: 100px;
    top: 10px;
    max-width: 400px;
}
header .header-contact {
    position: absolute;
    right: 0;
    top: 10px;
    height: 100px;
    text-align: center;
}
header .header-contact a {
    padding: 10px 40px;
    border-radius: 10px;
    font-size: 24px;
    color: #fff;
    background: #e38431;
    box-shadow: 0 5px 0 #d16728;
}
header .header-contact a:hover {
    box-shadow: none;
}
header .header-ttl {
    background: #ffff00;
    color: #cc0000;
    padding: 20px;
    text-align: center;
    font-size: 60px;
    line-height: 1;
}
header .header-ttl h2 {
    font-size: 100px;
    text-align: center;
    text-shadow: none;
    margin-bottom: 0;
}
#hole-contact header {
    background: url(images/contact_kv_img.jpg) center;
    background-size: cover;
    height: 70vw;
    max-height: 500px;
}
#hole-contact header .header-kv {
    padding: 0;
    height: 100%;
}
#hole-contact header .header-tel {
    right: 0;
    display: block !important;
    width: 60%;
}
#hole-contact header .header-kv .contact-ttl {
    background: rgba(153, 204, 255, .5);
    padding: 15px;
    text-align: right;
    font-family: 'Arial', sans-serif;
    color: #666;
    font-size: 60px;
    position: absolute;
    right: 0;
    bottom: 0;
}
#hole-contact header .header-kv .contact-ttl h1 {
    color: #fff;
    font-family: 'HGSoeiKakugothicUB';
    font-size: 60px;
}

@media (max-width: 768px) {
    #hole-contact header .header-kv .contact-ttl,
    #hole-contact header .header-kv .contact-ttl h1 {
        font-size: 42px;
    }
}
@media (max-width: 400px) {
    #hole-contact header .header-kv .contact-ttl,
    #hole-contact header .header-kv .contact-ttl h1 {
        font-size: 36px;
    }
}
nav.main-navigation {
    background: #e60012;
    padding: 15px 0;
}
nav ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
}
nav ul li {
    width: 20%;
    color: #fff;
    font-size: 40px;
    text-align: center;
    line-height: 1;
    border-right: 3px solid #fff;
    padding: 20px 0;
}
nav ul li a {
    color: #fff !important;
}
nav ul li:last-child {
    border: none;
}
nav ul li span {
    font-size: 65%;
}
@media (max-width: 1300px) {
    header h1 {
        font-size: 9.25vw;
    }
    header .header-kv-cont p {
        font-size: 3.7vw;
    }
    header .header-kv-cont .kv-txt .kv-txt-header .kv-txt-ttl {
        font-size: 4.25vw;
    }
    header .header-kv-cont .kv-txt .kv-price-ttl {
        font-size: 7.75vw;
    }
    header .header-kv-cont .kv-txt .kv-price-txt {
        font-size: 5vw;
    }
}
@media (max-width: 768px) {
    header h1,
    header .header-kv-cont .kv-txt .kv-txt-header .kv-txt-ttl,
    header .header-kv-cont .kv-txt .kv-price-txt {
        text-shadow: rgb(0, 0, 0) 3px 0px 0px, rgb(0, 0, 0) 2.83487px 0.981584px 0px, rgb(0, 0, 0) 2.35766px 1.85511px 0px, rgb(0, 0, 0) 1.62091px 2.52441px 0px, rgb(0, 0, 0) 0.705713px 2.91581px 0px, rgb(0, 0, 0) -0.287171px 2.98622px 0px, rgb(0, 0, 0) -1.24844px 2.72789px 0px, rgb(0, 0, 0) -2.07227px 2.16926px 0px, rgb(0, 0, 0) -2.66798px 1.37182px 0px, rgb(0, 0, 0) -2.96998px 0.42336px 0px, rgb(0, 0, 0) -2.94502px -0.571704px 0px, rgb(0, 0, 0) -2.59586px -1.50383px 0px, rgb(0, 0, 0) -1.96093px -2.27041px 0px, rgb(0, 0, 0) -1.11013px -2.78704px 0px, rgb(0, 0, 0) -0.137119px -2.99686px 0px, rgb(0, 0, 0) 0.850987px -2.87677px 0px, rgb(0, 0, 0) 1.74541px -2.43999px 0px, rgb(0, 0, 0) 2.44769px -1.73459px 0px, rgb(0, 0, 0) 2.88051px -0.838247px 0px;
    }
    header .header-kv-cont .kv-txt .kv-price-ttl {
        text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
    }
}
@media (max-width: 480px) {
    header .header-kv-cont .kv-txt .kv-price {
        width: calc(100% - 20px);
    }
    header .header-kv-cont .kv-txt .kv-price-ttl,
    header .header-kv-cont .kv-txt .kv-txt-header {
        padding: 15px 0;
    }
}

@media (max-width: 1200px) {
    header .header-ttl {
        font-size: 5.5vw;
    }
    header .header-ttl h2 {
        font-size: 7vw;
        letter-spacing: -.05em;
    }
    header .header-kv {
        padding-top: 20vw;
    }
    header .header-logo {
        height: 30vw;
        max-height: 155px;
    }
    header .header-contact {
        right: 55px;
        height: 80px;
    }
    header .header-tel {
        right: 275px;
        height: 80px;
    }
    header nav.main-navigation {
        display: none;
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        overflow-y: scroll;
        padding: 50px 0 70px;
        z-index: 99;
    }
    header nav ul li {
        width: 100%;
        border-right: none;
        border-bottom: 3px solid #fff;
    }
    .menu-trigger,
    .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }
    .menu-trigger {
        position: fixed;
        top: 3vw;
        right: 0;
        width: 50px;
        height: 50px;
        padding: 10px;
        background: #fff;
        z-index: 999;
    }
    .menu-trigger span {
        position: absolute;
        left: 10px;
        width: 30px;
        height: 5px;
        background-color: #000;
        border-radius: 3px;
    }
    .menu-trigger span:nth-of-type(1) {
        top: calc(50% - 12.5px);
    }
    .menu-trigger span:nth-of-type(2) {
        top: calc(50% - 2.5px);
    }
    .menu-trigger span:nth-of-type(3) {
        top: calc(50% + 7.5px);
    }
    .menu-trigger span:nth-of-type(1) {
        -webkit-animation: menu-bar01 .75s forwards;
        animation: menu-bar01 .75s forwards;
    }
    .menu-trigger span:nth-of-type(2) {
        transition: all .25s .25s;
        opacity: 1;
    }
    .menu-trigger span:nth-of-type(3) {
        -webkit-animation: menu-bar02 .75s forwards;
        animation: menu-bar02 .75s forwards;
    }
    .menu-trigger.active span:nth-of-type(1) {
        -webkit-animation: active-menu-bar01 .75s forwards;
        animation: active-menu-bar01 .75s forwards;
    }
    .menu-trigger.active span:nth-of-type(2) {
        opacity: 0;
    }
    .menu-trigger.active span:nth-of-type(3) {
        -webkit-animation: active-menu-bar03 .75s forwards;
        animation: active-menu-bar03 .75s forwards;
    }
}
@-webkit-keyframes menu-bar01 {
    0% {
        -webkit-transform: translateY(10px) rotate(45deg);
    }
    50% {
        -webkit-transform: translateY(10px) rotate(0);
    }
    100% {
        -webkit-transform: translateY(0) rotate(0);
    }
}
@keyframes menu-bar01 {
    0% {
        transform: translateY(10px) rotate(45deg);
    }
    50% {
        transform: translateY(10px) rotate(0);
    }
    100% {
        transform: translateY(0) rotate(0);
    }
}
@-webkit-keyframes menu-bar02 {
    0% {
        -webkit-transform: translateY(-10px) rotate(-45deg);
    }
    50% {
        -webkit-transform: translateY(-10px) rotate(0);
    }
    100% {
        -webkit-transform: translateY(0) rotate(0);
    }
}
@keyframes menu-bar02 {
    0% {
        transform: translateY(-10px) rotate(-45deg);
    }
    50% {
        transform: translateY(-10px) rotate(0);
    }
    100% {
        transform: translateY(0) rotate(0);
    }
}
@-webkit-keyframes active-menu-bar01 {
    0% {
        -webkit-transform: translateY(0) rotate(0);
    }
    50% {
        -webkit-transform: translateY(10px) rotate(0);
    }
    100% {
        -webkit-transform: translateY(10px) rotate(45deg);
    }
}
@keyframes active-menu-bar01 {
    0% {
        transform: translateY(0) rotate(0);
    }
    50% {
        transform: translateY(10px) rotate(0);
    }
    100% {
        transform: translateY(10px) rotate(45deg);
    }
}
@-webkit-keyframes active-menu-bar03 {
    0% {
        -webkit-transform: translateY(0) rotate(0);
    }
    50% {
        -webkit-transform: translateY(-10px) rotate(0);
    }
    100% {
        -webkit-transform: translateY(-10px) rotate(-45deg);
    }
}
@keyframes active-menu-bar03 {
    0% {
        transform: translateY(0) rotate(0);
    }
    50% {
        transform: translateY(-10px) rotate(0);
    }
    100% {
        transform: translateY(-10px) rotate(-45deg);
    }
}

.price-plan {
    background: #f19ec2;
}
.price-plan ul li figure {
    width: 25%;
}
.price-plan ul li dl {
    width: 75%;
    font-size: 55px;
}
.price-plan ul li dl dt {
    background: #fff;
    padding: 12px 20px;
}
.price-plan ul li dl dt span {
    font-size: 85%;
    margin-left: 50px;
}
.price-plan ul li dl dd {
    background: #ec6941;
    color: #fff;
    padding: 12px 20px;
}
.price-plan ul li dl dd span {
    font-size: 75%;
    margin-right: 20px;
}
.price-plan-note {
    color: #0099ff;
    background: #fff;
    padding: 15px 10px 15px 60px;
    font-size: 60px;
    position: relative;
    letter-spacing: -.05em;
}
.price-plan-note::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 100%;
    background: #ea68a2;
}
.price-plan-link {
    width: 100%;
    max-width: 800px;
    margin: 30px auto 0;
}
.price-plan-link a {
    display: block;
    color: #fff;
    background: #ec6941;
    box-shadow: 0 5px 5px #cc0000;
    border-radius: 5px;
    font-size: 50px;
    position: relative;
    text-align: center;
    padding: 30px 0 20px;
}
.price-plan-link a:hover {
    box-shadow: none;
}
.price-plan-link a span {
    position: absolute;
    color: #cc0000;
    left: 15px;
    top: -5px;
    box-shadow: 0 -2px 2px rgb(0, 0, 0, .1);
    padding: 5px 20px;
    color: #cc0000;
    background: #fff000;
    font-size: 16px;
    border-radius: 5px;
}

.meka-ttl {
    background: #45bdcf;
    padding: 40px 10px;
}
.meka-ttl h2 {
    color: #fff;
    font-size: 60px;
    letter-spacing: -.01em;
}
.meka section {
    background: #f19ec2;
}
.meka-cont {
    width: 65%;
    color: #fff;
    font-size: 48px;
    line-height: 1.1;
}
.meka-sec-ttl {
    background: #fff;
    border-radius: 50%;
    padding: 70px 7% 70px 3%;
    margin-bottom: 50px;
}
.meka-sec-ttl h2 {
    color: #ff0033;
    text-align: left;
    margin-bottom: 0;
}
.meka-sec-ttl p {
    text-align: right;
    color: #fff;
    font-size: 60px;
}
.meka-sec-txt {
    padding: 0 80px 0 30px;
    z-index: 1;
    position: relative;
}
.meka section figure {
    position: absolute;
    right: 0;
    top: -75px;
    width: 45%;
}

.blank-link {
    padding: 20px 15px 30px;
}
.blank-link p {
    color: #00cccc;
    font-size: 65px;
    margin-bottom: 0;
}
.blank-link p.en-ttl {
    color: #666;
    font-size: 30px;
    letter-spacing: .01em;
    line-height: 1;
    margin-bottom: 40px;
}
.blank-link a {
    display: block;
    background: #ea68a2;
    text-align: center;
    border-radius: 10px;
    color: #fff;
    font-size: 48px;
    padding: 20px 0;
}
.area-link figure {
    width: 65%;
}
.area-link .area-cont {
    width: 35%;
}
.price-link {
    margin-top: -2%;
}
.price-link .price-cont {
    width: 35%;
}
.price-link figure {
    width: 45%;
    padding: 0 30px 30px 0;
}
.price-link figure img {
    box-shadow: 30px 30px 0 #333;
}

.work {
    background: #7ecef4;
    color: #fff;
    font-size: 45px;
    line-height: 1;
}
.work ul li {
    width: 48%;
    max-width: 500px;
    background: #facd89;
    border-radius: 10px;
    padding: 0 20px 20px;
    color: #666;
    margin-bottom: 20px;
}
.work ul li h3 {
    color: #fff;
    font-size: 42px;
    padding: 15px 0 15px 15%;
    text-align: center;
    position: relative;
}
.work ul li h3::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 14%;
    height: 100%;
    background: url(images/crown.png) left center no-repeat;
    background-size: contain;
}
.work ul li .work-item {
    background: #fff;
    border-radius: 10px;
    font-size: 72px;
    padding: 15px;
}
.work ul li .work-item p {
    margin: -15px 0 0;
    line-height: 1;
}
.work-txt {
    margin-top: 30px;
    font-size: 36px;
    color: #ffff00;
    letter-spacing: -.075em;
}
.work-txt h3 {
    font-size: 72px;
    color: #fff;
}

.compensation h2 {
    color: #3399ff;
    padding: 0 15px;
    display: inline;
    background: linear-gradient(to top, #ffff00 40%, transparent 40%);
}
.compensation-cont {
    background: #eee;
    padding: 120px 0 30px;
    border-radius: 10px;
    margin-top: -50px;
}
.compensation-txt {
    background: #ffff00;
    padding: 10px;
    color: #3399ff;
    font-size: 48px;
    border-radius: 10px;
}
.compensation-txt p {
    padding: 30px;
}
.compensation-main {
    background: #fff;
    color: #333;
    margin-bottom: 0;
    border-radius: 10px;
}

.example h2 {
    background: #eee;
    padding: 20px 10px;
    font-size: 60px;
    color: #333;
    margin-bottom: 0;
}
.example ul.ex-img li {
    width: calc(100% / 3);
}
.example ul.ex-link li {
    width: 24%;
    margin-top: 15px;
}
.example ul.ex-link li a p {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
    font-size: 24px;
    text-align: center;
    padding: 20px 0;
    background: rgba(255, 255, 255, .7);
}
.t-contact {
    background: #00ffff;
    color: #fff;
    padding: 20px 0;
}
.t-contact h2 {
    display: inline;
    background: linear-gradient(to top, #ffff00 40%, transparent 40%);
    color: #fff;
}
.t-contact p {
    padding: 30px 20px;
    font-size: 40px;
}
.t-contact ul li {
    width: 32%;
    margin-bottom: 20px;
}
.t-contact ul li h3 {
    text-align: center;
    font-size: 48px;
}
.t-contact ul li figure {
    padding: 0 20px 20px 0;
}
.t-contact ul li figure img {
    box-shadow: 20px 20px 0 #313131;
}

.feature {
    background: #f19ec2;
}
.feature h2 {
    background: url(images/bg-txt.png) no-repeat center bottom;
    background-size: auto 60%;
    font-size: 60px;
    margin-bottom: 0.5em;
}
.feature p {
    color: #fff;
    font-size: 42px;
    line-height: 1.1;
    max-width: 925px;
    margin: 0 auto;
}

.other-link {
    padding-top: 30px;
}
.other-link ul li {
    width: 48%;
    margin-bottom: 20px;
    text-align: center;
}
.other-link ul li:first-child {
    color: #ffcc99;
}
.other-link ul li:last-child {
    color: #ff9999;
}
.other-link ul li h2 {
    font-size: 60px;
}
.other-link ul li p {
    font-size: 27px;
}
.other-link ul li a {
    display: block;
    border-radius: 10px;
}
.other-link ul li:first-child a {
    background: #f19149;
}
.other-link ul li:last-child a {
    background: #ff0000;
}
.other-link ul li a img {
    max-width: 450px;
}

footer {
    background: #dcdcdc;
    padding-top: 50px;
}
footer ul.social-link {
    margin-bottom: 50px;
    justify-content: space-evenly;
}
footer ul.social-link li {
    width: 100px;
}
footer .footer-menu {
    font-size: 24px;
    letter-spacing: -.01em;
    margin-bottom: 50px;
    line-height: 1.5;
}
footer .footer-menu a {
    white-space: nowrap;
}
footer .copyright {
    background: #313131;
    color: #fff;
    padding: 20px 0;
    margin: 0;
}

@media (max-width: 1200px) {
    section h2 {
        font-size: 60px;
    }
}
@media (max-width: 1200px) and (min-width: 769px){
    .price-plan ul li dl {
        font-size: 4.5vw;
    }
    .price-plan-note {
        font-size: 4.85vw;
    }
    .meka-sec-ttl p {
        font-size: 42px;
    }
    .meka-sec-txt {
        padding: 0 0 0 30px;
    }
    .blank-link p {
        font-size: 5.5vw;
    }
    .blank-link p.en-ttl {
        font-size: 3.5vw;
    }
    .blank-link a,
    .work ul li h3 {
        font-size: 4vw;
    }
    .price-link {
        margin-top: 0;
    }
    .price-link figure {
        padding: 0 15px 15px 0;
    }
    .price-link figure img {
        box-shadow: 15px 15px 0 #333;
    }
    .work {
        font-size: 4.25vw;
    }
    .other-link ul li h2 {
        font-size: 5vw;
    }
    .example ul.ex-link li a p {
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .pc {
        display: none !important;
    }
    .sp {
        display: block;
    }
    .price-plan ul li figure,
    .price-plan ul li dl,
    .meka-cont,
    .area-link figure,
    .area-link .area-cont,
    .price-link .price-cont,
    .price-link figure,
    .work ul li,
    .other-link ul li,
    .t-contact ul li,
    .t-contact ul li figure img {
        width: 100%;
    }
    .price-plan ul li dl {
        font-size: 42px;
    }
    .price-plan-note {
        font-size: 4.5vw;
        padding: 15px 10px 15px 30px;
    }
    .price-plan-note::before {
        width: 20px;
    }
    .price-plan-link a {
        font-size: 8vw;
    }
    .meka-sec-ttl {
        width: 65%;
    }
    .meka-sec-txt {
        padding: 0 20px;
    }
    .meka-sec-ttl h2 {
        font-size: 50px;
    }
    .meka-sec-ttl p {
        font-size: 42px;
    }
    .compensation h2 {
        font-size: 8vw;
    }
    .price-link figure {
        order: 1;
    }
    .price-link .price-cont,
    .area-link .area-cont {
        order: 2;
        text-align: center;
    }
    .price-link {
        margin-top: 30px;
    }
    .blank-link a {
        max-width: 500px;
        margin: 0 auto;
        font-size: 7vw;
    }
    .work ul li {
        margin: 0 auto 20px;
    }
    .example h2 {
        font-size: 7vw;
    }
    .example ul.ex-link li {
        width: 49%;
        position: relative;
    }
    .example ul.ex-link li::after {
        content: '';
        position: absolute;
        right: 0;
        bottom: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 60px 60px;
        border-color: transparent transparent #00ffff transparent;
    }
    .example ul.ex-link li a {
        display: block;
    }
    .example ul.ex-link li a::after {
        content: '詳細ページ';
        font-size: 22px;
        position: absolute;
        right: 10px;
        bottom: 5px;
        z-index: 1
    }
    .example ul.ex-link li a p {
        color: #0066cc;
    }
    .t-contact h2 {
        font-size: 9vw;
    }

    footer {
        padding-bottom: 70px;
    }
    .contact-fix {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100vw;
        background: #fff;
        padding: 10px 15px;
        z-index: 100;
    }
    .contact-fix-tel,
    .contact-fix-cont {
        width: 48%;
    }
    .contact-fix a {
        display: block;
        border-radius: 10px;
        color: #fff;
        font-size: 18px;
        text-align: center;
        padding: 10px 0;
    }
    .contact-fix-cont a {
        background: #e38431;
        box-shadow: 0 5px 0 #d16728;
    }
    .contact-fix-tel a {
        background: #3d89e9;
        box-shadow: 0 5px 0 #25589d;
    }
    .contact-fix a:hover {
        box-shadow: none;
    }
    .contact-fix a i {
        margin-right: 15px;
        font-size: 120%;
        vertical-align: middle;
    }
    .contact-fix-tel a i {
        transform: rotateY(180deg);
    }
}

@media (max-width: 480px) {
    .super-sp {
        display: block;
    }
    section h2,
    .work-txt h3 {
        font-size: 36px;
    }
	.hoken{font-size: 4vw;}
	
    .price-plan ul li dl {
        font-size: 9vw;
    }
    .meka-ttl h2 {
        font-size: 40px;
    }
    .meka-cont {
        font-size: 24px;
    }
    .meka-sec-ttl {
        margin-bottom: 20px;
        padding: 25px 15px;
    }
    .meka-sec-ttl h2,
    .meka-sec-ttl p {
        font-size: 28px;
    }
    .meka section figure {
        top: -50px;
    }
    .blank-link p {
        font-size: 42px;
    }
    .blank-link p.en-ttl,
    .compensation-txt,
    .feature p {
        font-size: 24px;
    }
    .price-link figure {
        padding: 0 10px 10px 0;
    }
    .price-link figure img {
        box-shadow: 10px 10px 0 #333;
    }
    .work {
        font-size: 30px;
        line-height: 1.2;
    }
    .work ul li {
        padding: 0 10px 10px;
    }
    .work ul li .work-item {
        padding: 10px;
        font-size: 60px;
    }
    .work ul li h3 {
        font-size: 28px;
    }
    .compensation-cont {
        padding: 80px 0 30px;
    }
    .compensation-txt p {
        padding: 10px;
    }
    .example ul.ex-img li,
    .example ul.ex-link li {
        width: 100%;
    }
    .t-contact p {
        font-size: 24px;
    }
    .t-contact ul li h3 {
        font-size: 36px;
    }
    .feature h2 {
        background-size: 100% 60%;
        font-size: 11vw;
    }
    .other-link ul li h2 {
        font-size: 10vw;
    }
    .other-link ul li p {
        font-size: 24px;
        padding: 0 10px;
        line-height: 1.1;
    }
    footer ul.social-link {
        margin-bottom: 30px;
    }
    footer ul.social-link li {
        width: 50px;
    }
    footer .footer-menu {
        font-size: 16px;
        margin-bottom: 30px;
    }
    footer .copyright {
        font-size: 14px;
        padding: 10px 0;
    }
}

#repair-thanks {
    padding: 80px 0;
    font-size: 24px;
    line-height: 1.2;
}
#repair-thanks h2 {
    font-size: 30px;
    margin-bottom: 40px;
}
#repair-thanks p a {
    color: #ff0000;
}
#repair-thanks .back-btn a {
    padding: 20px;
    background: #f19ec2;
    color: #fff;
    border-radius: 10px;
}

#repair-contact {
    padding: 15px 0 50px;
    line-height: 1.3;
    font-family: 'HGSoeiPresenceEB';
}
#repair-contact .subpage_title_area {
    background: #f19ec2;
    margin: 15px 0;
}
#repair-contact .subpage_title_area h2 {
    font-size: 48px;
    margin-bottom: 0;
}
#repair-contact .formWrap {
    margin: 40px auto;
    max-width: 900px;
}
#repair-contact .formWrap table {
    width: 100%;
}
#repair-contact .formWrap table tr th,
#repair-contact .formWrap table tr td {
    padding: 15px;
    border: 1px solid #6086db;
}
#repair-contact .formWrap table tr th {
    width: 30%;
    border-left: 3px solid #234793;
}
#repair-contact .formWrap input[type=text],
#repair-contact .formWrap input[type=email],
#repair-contact .formWrap input[type=file],
#repair-contact .formWrap textarea,
#repair-contact .formWrap .policy iframe {
    width: 100%;
}
#repair-contact .formWrap input[type=text],
#repair-contact .formWrap input[type=email],
#repair-contact .formWrap textarea,
#repair-contact .formWrap select {
    padding: 5px 15px;
    min-height: 40px;
    border-radius: 5px;
    border: 1px solid #a9a9a9;
}
#repair-contact .formWrap input[type=submit],
#repair-contact .formWrap input[type=button] {
    min-width: 100px;
    height: 40px;
    border: 1px solid #6086db;
    background: #fff;
    border-radius: 5px;
}
#repair-contact .formWrap .policy {
    border: 1px solid #a9a9a9;
    border-radius: 5px;
    padding: 10px;
    margin: 20px 0;
}
#repair-contact .formWrap .submit_area {
    text-align: center;
    margin-top: 30px;
}
#repair-contact .confirmation {
    max-width: 900px;
    margin: 30px auto;
    font-size: 20px;
    color: #ff0000;
}
.red {
    color: #ff0000;
}

@media (max-width: 768px) {
    #repair-contact .formWrap table tr th,
    #repair-contact .formWrap table tr td {
        display: block;
    }
    #repair-contact .formWrap table tr th {
        width: 100%;
        border-left: 1px solid #6086db;
        border-top: 3px solid #234793;
        border-bottom: none;
    }
    #repair-contact .formWrap table tr td {
        margin-bottom: 15px;
    }
}