@charset "utf-8";

html {
    font-size: 62.5%;
}

body {
    font-size: 2.1rem;
    line-height: 1.5;
    font-family: 'Noto Sans JP', sans-serif;
    color: #000;
    text-align:justify;
    font-feature-settings: "palt";
}
.sp,
.tb,
.resp {
    display: none;
}
.cf::after {
    content: "";
    display: block;
    clear: both;
}
.cf:before {
    content: "";
    display: block;
    clear: both;
} 
.cf {
    display: block;
}
h1{
    display:none;
}
img{
    display:block;
}
span.under-l{
    text-decoration:underline;
    text-decoration-color: red;
    text-decoration-thickness: 3px;
}


/* main */

#main{
    position: relative; 
    width:100%;
}
#main img {
    width:100%;
}
#ci img {
    position: absolute;
    top:1.5625vw;
    left:5.2083vw; 
    width:14.4791vw;
}
#main_copy img {
    position: absolute;
    top:5.2083vw;
    left:0; 
    width:83.3333vw;
}
#medal img {
    position: absolute;
    top:5.2083vw;
    right:0.5208vw; 
    width:15%;
}
ul#point {
    position: absolute;
    bottom:2.6041vw;
    right:4.1666vw; 
}
ul#point li {
    width:12.5vw;
    float:left;
    margin-left:2.0833vw;
}

section#sec0 {
    margin-top:30px;
    margin-bottom:30px;
}

section#sec1 {
    margin-top:0;
    margin-bottom:180px;
}
section#sec2 {
    margin-bottom:180px;
}
section#sec3 {
    margin-bottom:180px;
}
section#sec4 {
    margin-bottom:180px;
}

#sec0 p.bnr {
    width:1280px;
    margin:0 auto 30px;
    font-size:1.2rem;
}

#sec1 .h2img {
    width:100%;
    height:160px;
    background:url(../images/h2_back.png) repeat-x;
    margin-bottom:60px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
}
#sec1 .h2img img {
    width:128px;
    height:128px;
    margin-top:16px;
}
#sec1 h2 {
    text-align:center;
    color:#0A0A64;
    font-weight:800;
}
#sec2 h2,
#sec3 h2,
#sec4 h2 {
    width:100%;
    height:160px;
    background:url(../images/h2_back.png) repeat-x;
    margin-bottom:60px;
    text-align:center;
    color:#0A0A64;
    font-weight:800;
}

h2 span.h2-first {
    font-size:3rem;
    line-height:2.5;
    letter-spacing:0.3rem;
}
h2 span.h2-second {
    font-size:5.5rem;
    line-height:1.3;
    letter-spacing:1rem;
}
h2 span.h-color {
    color:#FF7800;
}
.container {
    width:1280px;
    margin:0 auto;
}
h3 {
    font-size:3.5rem;
    text-align:center;
    color:#0A0A64;
    letter-spacing:0.5rem;
    margin-bottom:60px;
}
h3 img {
    display:inline;
}
h3 span.under1{
    background:url(../images/under1.png) no-repeat bottom;
}
h3 span.under2{
    background:url(../images/under2.png) no-repeat bottom;
}
h3 span.under3{
    background:url(../images/under3.png) no-repeat bottom;
}
h3 span.under4{
    background:url(../images/under4.png) no-repeat bottom;
}
h3 span.under5{
    background:url(../images/under5.png) no-repeat bottom;
}
.lead {
    font-size:2.5rem;
    text-align:center;
    letter-spacing:0.3rem;
    line-height:1.4;
    font-weight:400;
    margin-bottom:60px;
}
.lead span.bo1{
    font-weight:700;
}
.lead span.bi1{
    font-size:3rem;
    font-weight:700;
}
p.sec-last {
    text-align:center;
    color: #0A0A64;
    font-weight:700;
    letter-spacing:0.7rem;
}
p.sec-last span {
    font-size:3rem;
}
p.sec-last span.uline {
    font-size:4.2rem;
    background:url(../images/uline.png) repeat-x bottom;
}
p.sec-last span.kobetsu {
    letter-spacing:0.5rem;
}

span.bracket {
    font-size:80%;
}


/* section1 */

section#sec1 ul.nayami,
section#sec1 ul.nayami2 {
    width:1280px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
section#sec1 ul.nayami li {
    width:400px;
    height:500px;
    border: solid 6px #0A0A64;
    border-radius: 30px;
    padding:20px;
    margin-bottom:45px;
}
section#sec1 ul.nayami li.sokochi {
    background:url(../images/sokochi.png) no-repeat center;
    background-size:90%;
}
section#sec1 ul.nayami li.shakuchiken {
    background:url(../images/shakuchiken.png) no-repeat center;
    background-size:90%;
}
section#sec1 ul.nayami li.saikenchikufuka {
    background:url(../images/saikenchikufuka.png) no-repeat center;
    background-size:90%;
}
section#sec1 ul.nayami2 li {
    width:400px;
    height:260px;
    border: solid 6px #0A0A64;
    border-radius: 30px;
    padding:20px;
    margin-bottom:45px;
}

section#sec1 ul.nayami li dl,
section#sec1 ul.nayami2 li dl {
    position;relative;
}
section#sec1 ul.nayami li dl dt {
    position: relative;
    font-size:5.8rem;
    text-align:center;
    letter-spacing:0.15rem;
    line-height:1;
    font-weight:700;
    color: #0A0A64;
    height:140px;
}
section#sec1 ul.nayami2 li dl dt {
    position: relative;
    font-size:5.8rem;
    text-align:center;
    letter-spacing:0.15rem;
    line-height:1;
    font-weight:700;
    color: #0A0A64;
    height:80px;
}
section#sec1 ul.nayami li dl dt p,
section#sec1 ul.nayami2 li dl dt p {
    position: absolute;
    top: 50%;
    z-index: 0;
    width: 100%;
    letter-spacing:1rem;
    line-height:1.1;
    transform: translate(0, -50%);
}
section#sec1 ul.nayami li dl dt span,
section#sec1 ul.nayami2 li dl dt span {
    font-size:4.2rem;
}
section#sec1 ul.nayami li dl dd {
    position;absolute;
    bottom:0;
    height:82px;
    font-size:2rem;
    letter-spacing:.1rem;
    padding-top:240px;
}
section#sec1 ul.nayami2 li dl dd {
    position;absolute;
    bottom:0;
    height:82px;
    font-size:2rem;
    letter-spacing:.15rem;
    padding-top:20px;
}
section#sec1 ul.nayami2 li dl dd span.tbig{
    font-size:2.4rem;
}
section#sec1 ul.nayami2 li dl dd span.tbold{
    font-weight:700;
}
section#sec1 ul.nayami2 li dl dd span.tnomal{
    font-weight:400;
}
section#sec1 div.sonota {
    position:relative;
    width:1280px;
    height:372px;
    background: #D9D9D9;
    border-radius: 30px;
}
section#sec1 div.sonota p {
    font-size:2.5rem;
    text-align:center;
    letter-spacing:.5rem;
    line-height:1.5;
    font-weight:300;
    margin-bottom:20px;
    padding-top:40px;
}
section#sec1 div.sonota p span {
    font-size:3rem;
}
section#sec1 div.sonota ul {
    width:1100px;
    margin: 0 auto;
    border-top: solid 1px #0A0A64;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-justify-content: left;
    justify-content: left;
}
section#sec1 div.sonota ul li {
    min-width:240px;
    height:60px;
    background: #FFF;
    border: solid 1px #549894;
    border-radius: 30px;
    margin-top:30px;
    margin-right:46px;
    padding: 0 30px;
    font-size:2.3rem;
    font-weight:300;
    line-height:56px;
    text-align:justify;
    text-align-last:justify;
    text-justify:inter-ideograph;
}
section#sec1 div.sonota ul li.lmid {
    padding: 0 20px;
}
section#sec1 div.sonota ul li.lmax {
    padding: 0 10px;
}
section#sec1 div.sonota ul li.last {
    margin-right:0;
}
section#sec1 div.sonota p.etc {
    position:absolute;
    font-size:2.2rem;
    letter-spacing:0;
    right:40px;
    bottom:10px;
}


/* section2 */

section#sec2 ul.tsuyomi {
    width:1280px;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-justify-content: left;
    justify-content: left;
}
section#sec2 ul.tsuyomi li {
    width:400px;
    border: solid 6px #0A0A64;
    border-radius: 30px;
    padding:20px;
    margin-right:40px;
    margin-bottom:45px;
}
section#sec2 ul.tsuyomi li.genkin {
    margin-right:0;
}
section#sec2 ul.tsuyomi li.chokusetsu {
    margin-bottom:0;
}
section#sec2 ul.tsuyomi li.himitsu {
    margin-bottom:0;
}
section#sec2 ul.tsuyomi li.taiou {
    margin-right:0;
    margin-bottom:0;
}
section#sec2 ul.tsuyomi li dl dt {
    font-size:5.5rem;
    text-align:center;
    letter-spacing:1rem;
    line-height:1;
    font-weight:700;
    color: #0A0A64;
}
section#sec2 ul.tsuyomi li dl dt.tsume {
    letter-spacing:0rem;
}

section#sec2 ul.tsuyomi li dl dt span {
    font-size:4.2rem;
}
section#sec2 ul.tsuyomi li dl dd {
    font-size:2rem;
    letter-spacing:.1rem;
    margin-top:30px;
}
section#sec2 ul.tsuyomi li.speed dl dd {
    letter-spacing:.3rem;
}
section#sec2 ul.tsuyomi li.genkin dl dd {
    letter-spacing:.2rem;
}
section#sec2 ul.tsuyomi li.chokusetsu dl dd {
    letter-spacing:.2rem;
}
section#sec2 ul.tsuyomi li.himitsu dl dd {
    letter-spacing:.2rem;
}
section#sec2 ul.tsuyomi li dl dd.timg {
    text-align:center;
}
section#sec2 ul.tsuyomi li dl dd.timg img{
    display:inline;
}

/* section3 */

section#sec3 div.case1,
section#sec3 div.case2,
section#sec3 div.case3 {
    width:1280px;
    height:500px;
    position:relative;
    margin:bottom:60px;
}
section#sec3 h4 {
    font-size:2.8rem;
    color:#549894;
    letter-spacing:.3rem;
    line-height:30px;
    position:absolute;
    top:100px;
 }
section#sec3 h4 span.case {
    font-size:3.8rem;
    font-weight:200;
}
section#sec3 h4 span.caseno {
    font-size:7rem;
    font-weight:200;
}
section#sec3 h4 span.kugiri {
    font-size:3.4rem;
    color:#0A0A64;
}
section#sec3 h5{
    position:absolute;
    top:160px;right:0;
    width:1060px;
    height:60px;
    font-size:3.4rem;
    color:#0A0A64;
    padding-left:36px;
    line-height:1.6;
    letter-spacing:.3rem;
    background: -moz-linear-gradient(left, #CFDAE5 75%, #FFF);
    background: -webkit-linear-gradient(left, #CFDAE5 75%, #FFF);
    background: linear-gradient(to right, #CFDAE5 75%, #FFF);
}
section#sec3 div.case1 img, 
section#sec3 div.case2 img, 
section#sec3 div.case3 img {
    position:absolute;
    top:0;right:0;
    z-index:1;
}
section#sec3 div.faq {
    position:absolute;
    top:255px;right:0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
section#sec3 div.faq dl.qframe {
    width:648px;
    height:211px;
    background:url(../images/qframe.png) no-repeat center;
}
section#sec3 div.faq div.sarrow {
    width:15px;
}
section#sec3 div.faq dl.aframe {
    width:630px;
    height:211px;
    background:url(../images/aframe.png) no-repeat center;
}
section#sec3 div.faq dl.qframe dt {
    font-size:3.1rem;
    color:#549894;
    text-align:center;
    letter-spacing:.2rem;
    margin-top:40px;
}
section#sec3 div.faq dl.qframe dd {
    width:520px;
    font-size:2.1rem;
    letter-spacing:.2rem;
    text-align:justify;
    margin-top:30px;
    margin-left:60px;
}
section#sec3 div.faq dl.qframe dd.case3 {
    letter-spacing:.1rem;
}
section#sec3 div.faq dl.aframe dt {
    font-size:3.1rem;
    color:#FFF;
    text-align:center;
    letter-spacing:.2rem;
    margin-top:38px;
    margin-left:40px;
}
section#sec3 div.faq dl.aframe dd {
    width:560px;
    font-size:2.1rem;
    letter-spacing:.2rem;
    text-align:justify;
    margin-top:30px;
    margin-left:50px;
}


/* section4 */

section#sec4 ul.nagare {
    width:1280px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
section#sec4 ul.nagare li.nagare1,
section#sec4 ul.nagare li.nagare2,
section#sec4 ul.nagare li.nagare3,
section#sec4 ul.nagare li.nagare4,
section#sec4 ul.nagare li.nagare5 {
    width:210px;
    height:374px;
    font-size:2.8rem;
    font-weight:700;
    text-align:center;
    color:#0A0A64;
    letter-spacing:0.2rem;
    padding-top:108px;
    line-height:1.2;
}
section#sec4 ul.nagare li.nagare_arrow {
    width:30px;
    margin-top:170px;
}
section#sec4 ul.nagare li.nagare1 {
    background:url(../images/nagare1.png) no-repeat center;
}
section#sec4 ul.nagare li.nagare2 {
    background:url(../images/nagare2.png) no-repeat center;
}
section#sec4 ul.nagare li.nagare3 {
    background:url(../images/nagare3.png) no-repeat center;
}
section#sec4 ul.nagare li.nagare4 {
    background:url(../images/nagare4.png) no-repeat center;
}
section#sec4 ul.nagare li.nagare5 {
    background:url(../images/nagare5.png) no-repeat center;
}
section#sec4 article.column1 {
    width:1140px;
    margin: 180px auto 0;
}
section#sec4 article.column1 h6 {
    width:100%;
    font-size:3rem;
    font-weight:700;
    color:#0A0A64;
    line-height:1.4;
    letter-spacing:.2rem;
    text-align:center;
    padding:70px 75px 30px;
    background:url(../images/column.png) no-repeat left top;
}
section#sec4 article.column1 h6 span {
    color:#FF0000;
}
section#sec4 article.column1 ul {
    width:100%;
    padding:0 110px 70px;
    display:flex;
    justify-content: space-between;
    background:url(../images/column.png) no-repeat left bottom;
}
section#sec4 article.column1 ul li {
    width:31%;
    font-size: 16px;
    font-weight: 300;
    line-height:1.5;
    letter-spacing: .05rem;
    text-align: justify;
    padding:1rem;
    background:#FFF;
    box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.5);
}
section#sec4 article.column1 ul li div.h_line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom:1rem;
}
section#sec4 article.column1 ul li p.h_line_1 {
width:25%;
color:#fff;
background:#64b6b4;
padding: 1rem .5rem;
text-align:center;
}
section#sec4 article.column1 ul li p.h_line_2 {
width:70%;
    font-size: 20px;
    font-weight:700;
    line-height:1.2;
}
section#sec4 article.column1 ul li p strong {
    color:red;
}
section#sec4 article.column1 p.note1 {
    text-align:center;
    font-size:1.4rem;
    letter-spacing:.1rem;
    padding:0 75px 70px;
    background:url(../images/column.png) no-repeat left bottom;
}

/* footer */

footer{
    border-top: solid 4px #0A0A64;
    padding:2.6041vw 15.625vw 7.2916vw
}
footer div.f-flex{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
footer div.logo {
    width:19.2708vw;
    margin-top:0.7812vw;
}
footer p.txt1 {
    text-align:left;
    font-size:0.9375vw;
    letter-spacing:.2rem;
}
footer div.client {
    width:100%;
    height:4.6875vw;
    background: #A8CBC9;
    border-radius: 20px;
    margin-top:1.0416vw;
    font-size:0.9375vw;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding:0.5208vw;
}
footer div.client p.cli_h {
    width:12.5vw;
    height:3.125vw;
    letter-spacing:1rem;
    line-height:36px;
    border-right: solid 1px #000;
    padding:0.5208vw 0 0 1.8229vw;
    margin-top:0.3125vw;
}
footer div.client p.cli_name {
    width:62.5vw;
    height:3.125vw;
    letter-spacing:.3rem;
    padding:0.4166vw 0 0 1.5625vw;
}

div.f_menu{
    position:fixed;
    bottom:0;
    background:rgba(10,10,100,0.8);
    width:100%;
    height:5.2083vw;
    padding:1.3021vw 4%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

div.f_menu img {
    width:41.1458vw;
    height:2.7604vw;
}
div.f_menu p {
    width:21.771vw;
    height:3.125vw;
    margin-right:2.0833vw;
    color:#FFF;
    border: solid 2px #FFF;
    font-size:1.25vw;
    line-height:2.6041vw;
    text-align:center;
    transition: all 0.4s ease-out;
}
div.f_menu p:hover {
    color:#0a0a64;
    border-color:transparent;
    background: linear-gradient(270deg, #549894 0%, #cfdae5 50%, #0a0a64 100%);
    background-size: 200% auto;
    background-position: right center;
}


/* pagetop */

.pagetop {
    height: 80px;
    width: 80px;
    position: fixed;
    right: 30px;
    bottom: 6.7708vw;
    color:#FFF;
    background: rgba(0, 0, 0, 0.4);
    border: solid 2px #FFF;
    border-radius: 20%;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 2;
    cursor: pointer;
}
.pagetop__arrow {
    display: block;
    height: 20px;
    width: 20px;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    transform: translateY(20%) rotate(-45deg);
}
.pagetop p{
}


/* generic */

div.arrow {
    width:280px;
    margin:40px auto;
}
.scroll_up {
    transition: 1s ease-in-out;
    transform: translateY(60px);
    opacity: 0;
}
.scroll_up.on {
    transform: translateY(0);
    opacity: 1.0;
}

/*実績*/
.ac_wrap {
width:960px;
margin: 180px auto 0;
font-feature-settings: "palt";
-webkit-font-feature-settings: "palt";
-moz-font-feature-settings: "palt";
}

#sec4 h2.achievements {
margin-bottom:4rem;
background:none;
font-size: 4.2rem;
font-weight:300;
letter-spacing:.5rem;
height:auto;
border-bottom:2px solid #549894;
}

div.achievements {
display:flex;
flex-wrap: wrap;
justify-content: space-between;
}

.achievements dl.ac_box {
width:46%;
margin-bottom:40px;
padding:10px;
background:#CFDAE5;
}
.achievements dl.ac_box dt h3 {
font-size:28px;
font-weight:300;
letter-spacing:.2rem;
text-align:left;
margin-bottom:0;
}
.achievements dl.ac_box dt h3 span {
font-size:75%;
}
.achievements dl.ac_box dt h4 {
font-size:18px;
font-weight:700;
text-align:left;
letter-spacing:.1rem;
}
.achievements dl.ac_box dd {
margin-top:1rem;
}
.achievements dl.ac_box dd div {
display:flex;
justify-content: space-between;
align-items: flex-start;
}
.achievements dl.ac_box dd p {
width:45%;
font-size:16px;
font-weight:300;
letter-spacing:0;
text-align:justify;
padding-bottom:.3rem;
}
.achievements dl.ac_box dd p span {
font-size:85%;
}

.achievements dl.ac_box dd div.ac_photo {
margin:.5rem 0;
width:50%;

}
.achievements dl.ac_box dd div.ac_photo img {
text-align:center;
width:100%;
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */
/* 1279*/
/* ---------------------------------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 1279px) {

.resp-hide {
	display: none;
}
.resp {
	display: block;
}

.container {
    width:calc(100% - 40px);
}

#sec0 p.bnr {
    width:95%;
    margin:0 auto;
    font-size:1rem;
}

#sec1 .h2img {
    width:100%;
    height:16.6666vw;
    background:url(../images/h2_back.png) repeat-x;
    margin-bottom:5.5555vw;
}
#sec2 h2,
#sec3 h2,
#sec4 h2 {
    width:100%;
    height:16.6666vw;
    background:url(../images/h2_back.png) repeat-x;
    margin-bottom:5.5555vw;
}
h2 span.h2-first {
    font-size:2.7343vw;
}
h2 span.h2-second {
    font-size:4.1015vw;
    line-height:1.8;
    letter-spacing:.5rem;
}
h3 {
    font-size:2.7777vw;
    margin-bottom:5.5555vw;
}

h3 span.under1{
    background-size:100%;
}
h3 span.under2{
    background-size:100%;
}
h3 span.under3{
    background-size:100%;
}
h3 span.under4{
    background-size:100%;
}
h3 span.under5{
    background-size:100%;
}
h3 span.quomark {
    display:inline;
    font-size:3.5156vw;
    color:#959595;
}

.lead {
    font-size:2.3437vw;
    margin-bottom:5.5555vw;
}
.lead span.bi1{
    font-size:3.1481vw;
}

p.sec-last {
    letter-spacing:0.6rem;
}
p.sec-last span {
    font-size:2.2222vw;
}
p.sec-last span.uline {
    font-size:2.9629vw;
    background-size:100% 60%;
}
p.sec-last span.kobetsu {
    letter-spacing:0.4rem;
}

/* section1 */

section#sec1 ul.nayami,
section#sec1 ul.nayami2 {
    width:calc(100% - 40px);
    margin:0 auto;
}
section#sec1 div.nayami,
section#sec1 div.nayami2 {
    width:100%;
    margin: 0 auto 3.5156vw;
    text-align: center;
}
section#sec1 div.nayami img{
    display:inline;
}
section#sec1 div.sonota {
    width:100%;
    height:auto;
}
section#sec2 div.tsuyomi {
    width:100%;
    margin: 0 auto 3.5156vw;
    text-align: center;
}
section#sec2 div.tsuyomi img {
    display:inline;
}


/* section2 */



/* section3 */

section#sec3 div.case1,
section#sec3 div.case2,
section#sec3 div.case3 {
    width:100%;
    height:auto;
    text-align:center;
    margin:bottom:4.6875vw;
}
section#sec3 div.case1 img,
section#sec3 div.case2 img,
section#sec3 div.case3 img {
    position:relative;
    display:inline;
}


/* section4 */


section#sec4 div.nagare {
    width:100%;
    height:auto;
    text-align:center;
    margin:bottom:4.6875vw;
}
section#sec4 div.nagare img {
    display:inline;
}




section#sec4 article.column1 {
    width:89.0625vw;
    margin: 14.0625vw auto 0;
}
section#sec4 article.column1 h6 {
    width:100%;
    font-size:2.34375vw;
    letter-spacing:.2rem;
    padding:5.46875vw 5.859375vw 2.34375vw;
    background-size: cover;
}
section#sec4 article.column1 ul {
    padding:0 8.59375vw 5.46875vw;
    background-size: cover;
}
section#sec4 article.column1 ul li {
    font-size: 1.25vw;
    letter-spacing:0;
}
section#sec4 article.column1 p.note1 {
    font-size:1.09375vw;
    padding:0 5.859375vw 5.46875vw;
    background:url(../images/column.png) no-repeat left bottom;
    background-size: cover;
}


}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */
/* 960*/
/* ---------------------------------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 960px) {

.resp-hide {
	display: none;
}
.resp {
	display: block;
}
.scroll_up {
    transform: translateY(40px);
}

#sec1 .h2img {
    height:11.4583vw;
    background:url(../images/h2_back_tab.png) repeat-x center;
}
#sec1 .h2img img {
    width:9.1145vw;
    height:9.1145vw;
    margin-top:1.1718vw;
}
#sec2 h2,
#sec3 h2,
#sec4 h2 {
    width:100%;
    height:11.4583vw;
    background:url(../images/h2_back_tab.png) repeat-x center;
    margin-bottom:3.9062vw;
}
h2 span.h2-first {
    font-size:2.5vw;
    line-height:2.2;
}
h2 span.h2-second {
    font-size:3.9062vw;
    line-height:1;
    letter-spacing:.7rem;
}
section#sec2 {
    margin-top:6.25vw;
    margin-bottom:6.25vw;
}
section#sec1 {
    margin-top:7.0312vw;
    margin-bottom:14.0625vw;
}
section#sec2 {
    margin-bottom:14.0625vw;
}
section#sec3 {
    margin-bottom:14.0625vw;
}
section#sec4 {
    margin-bottom:14.0625vw;
}
.container {
    width:calc(100% - 40px);
}

h3 {
    font-size:2.6041vw;
    margin-bottom:2.6041vw;
}
.lead {
    font-size:2.3437vw;
}
.lead span.bi1{
    font-size:2.8125vw;
}
p.sec-last {
    letter-spacing:0.4rem;
}
p.sec-last span.kobetsu {
    letter-spacing:0.3rem;
}


section#sec2 div.tsuyomi {
    width:100%;
    margin: 0 auto 3.5156vw;
    text-align: center;
}
section#sec2 div.tsuyomi img {
    display:inline;
}

div.arrow {
    width:21.875vw;
    margin:3.125vw auto;
}


/*実績*/
.ac_wrap {
width:100%;
margin: 18.75vw auto 0;
}
#sec4 h2.achievements {
margin-bottom:1.0417vw;
background:none;
font-size: 4.2rem;
font-weight:500;
height:auto;
}
.achievements dl.ac_box {
width:48%;
margin-bottom:4.1666vw;
}
.achievements dl.ac_box dt h3 {
font-size:2.9167vw;
}
.achievements dl.ac_box dt h3 span {
font-size:75%;
}
.achievements dl.ac_box dt h4 {
font-size:1.667vw;
}
.achievements dl.ac_box dt h4 span {
font-size:85%;
}
.achievements dl.ac_box dd p {
font-size:1.6667vw;
}
.achievements dl.ac_box dd div.ac_photo {
width:50%;
}

section#sec4 article.column1 ul li div.h_line {
margin-bottom:.5rem;
}

section#sec4 article.column1 ul li p.h_line_2 {
font-size: 1.4583vw;
line-height:1.2;
}
section#sec4 article.column1 ul li p.h_line_1 {
padding:0 .6rem .1rem;
}


}


/* ---------------------------------------------------------------------------------------------------------------------------------------- */
/* 768 */
/* ---------------------------------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 768px) {
.tb {
    display: block;
}
.pc {
    display: none;
}
}

/* ---------------------------------------------------------------------------------------------------------------------------------------- */
/* 640 */
/* ---------------------------------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 640px) {
.sp {
    display: block;
}
.sp-hide {
    display: none;
    }
.resp {
    display: none;
    }
.scroll_up {
    transform: translateY(20px);
}

section#sec0 {
    margin-top:0;
    margin-bottom:0;
}
section#sec0 p.bnr {
    margin-bottom:10px;
}

section#sec1 {
    margin-top:3vw;
    margin-bottom:16vw;
}
section#sec2 {
    margin-bottom:16vw;
}
section#sec3 {
    margin-bottom:16vw;
}
section#sec4 {
    margin-bottom:16vw;
}
.container {
    width:calc(100% - 30px);
}

h2 {
    line-height:50%;
}
#sec1 .h2img {
    height:11.2000vw;
    background:url(../images/h2_back_sp.png) repeat-x center;
    margin-bottom:4.2666vw;
}
#sec1 .h2img img {
    width:8.5333vw;
    height:8.5333vw;
    margin-top:1.3333vw;
}
#sec2 h2,
#sec3 h2,
#sec4 h2 {
    width:100%;
    height:11.2000vw;
    background:url(../images/h2_back_sp.png) repeat-x center;
}
h2 span.h2-first {
    font-size:3.2vw;
    line-height:1.8;
}
h2 span.h2-second {
    font-size:4.2666vw;
    letter-spacing:.2rem;
}

h3 {
    font-size: 3.2vw;
    margin-bottom:5.3333vw;
    letter-spacing:.2rem;
}
.lead {
    margin-bottom:5.3333vw;
    font-size: 3.2vw;
    letter-spacing:.25rem;
    text-align:justify;
}
.lead span.bi1{
    font-size:4.2666vw;
}
p.sec-last {
    line-height:70%;
}
p.sec-last span.uline {
    font-size:4vw;
    letter-spacing:.5rem;
    line-height:150%;
}
p.sec-last span {
    font-size:3.2vw;
    letter-spacing:.2rem;
}
p.sec-last span.kobetsu {
    letter-spacing:.5rem;
}

footer{
    border-top: solid 2px #0A0A64;
    padding:2.6667vw 3.3333vw 21.3333vw
}
div.f_menu{
    width:100%;
    height:18.6667vw;
    padding:1.3333vw 2%;
}
div.f_menu img {
    width:100%;
    height:auto;
}
div.f_menu p {
    margin-right:0;
    border: none;
}
div.f_menu p.button {
    width:16vw;
    height:auto;
}
div.f_menu p.tel {
    width:55.3333vw;
    height:auto;
    padding-top:1.3333vw;
}
div.f_menu p:hover {
    border-color:none;
    background: none;
}

.pagetop {
  height: 8vw;
  width: 8vw;
  right: 5.3333vw;
  bottom: 21.3333vw;
  border: solid 1px #FFF;
}

.pagetop__arrow {
    height: 3vw;
    width: 3vw;
}

/*実績*/
.ac_wrap {
width:100%;
margin: 18.75vw auto 0;
}

#sec4 h2.achievements {
margin-bottom:5.3333vw;
font-size: 5.3333vw;
line-height:1.5;
}

div.achievements {
display:block;
}

.achievements dl.ac_box {
width:95%;
margin: 0 auto 5.3333vw;/*20px*/
padding:2.6667vw;/*10px*/
}
.achievements dl.ac_box dt h3 {
font-size:4.8vw;/*18px*/
}
.achievements dl.ac_box dt h4 {
font-size:3.2vw;/*12px*/
}
.achievements dl.ac_box dd p {
width:45%;
font-size:3.2vw;/*12px*/
margin:0 auto;
}
.achievements dl.ac_box dd div.ac_photo {
margin:1.3333vw auto;
width:50%;
}

section#sec4 article.column1 h6 {
    font-size:3.75vw;
}
section#sec4 article.column1 ul {
    display:block;
    padding-bottom:1rem;
    padding:0 6.25vw 3.125vw;
}
section#sec4 article.column1 ul li {
    width:100%;
    font-size: 2.8125vw;
    font-weight: 400;
    letter-spacing: 0;
    margin-bottom:3.125vw;
}
section#sec4 article.column1 p.note1 {
    font-size:2.1875vw;
    padding:0 6.25vw 6.25vw;
    text-align:justify;
    /*text-indent:-1rem;*/
}

section#sec4 article.column1 ul li div.h_line {
margin-bottom:.5rem;
}

section#sec4 article.column1 ul li p.h_line_2 {
width:74%;
font-size: 3.125vw;
line-height:2;
}
section#sec4 article.column1 ul li p.h_line_1 {
padding:0 .6rem .1rem;
}

}
