@charset "utf-8";

html{
   overflow-x: hidden; 
}

body {
    overflow-x: hidden;
    font-size: 16px;
    color: #161e5d;
    background-color: #dddee0;
    
}

@media (max-width: 767px){
	body{
	
    }	
}

@media(min-width: 768px){
    a[href^="tel:"]{
        pointer-events: none;
    }
    body{
        overflow-x: hidden;   
    }    
    
}

br.sp{
    display:none;
}

br.pc{
    display:block;
}

@media (max-width: 767px){
   br.sp{
        display:block;
    } 
    br.pc{
        display:none;
    }
}

header{
    margin: 0px 0px 0px 0px;
    background: url("../img/common/h-bg.png")repeat-x left top;
    background-size: auto 100%;
    height: 66px;
    position: relative;
}

header h1{
    margin: 0px auto;
    max-width: 500px;
    text-align: center;
}

header h1 img{
    margin: 0px auto;
    width: 316px;
}

@media (max-width: 767px){
    header{
        margin: 0px auto;
        width: 100%; 
    }
    
    header h1{
        margin: 0px 0px 0px 0px;
        padding: 4px 0px 0px 0px;
        width: 72%;
    }
    
    header h1 img{
        width: 100%;
    }
}

.c-hamburger {
  position: relative;
  width: inherit;
  height: inherit;
  margin: 0;
  border: 6px solid #272836;
  background: #b4823c;
  cursor: pointer;
}


.c-hamburger span {
  display: block;
  position: relative;
  left: 50%;
  width: 30px;
  height: 2px;
  transform: translateX(-50%);
  background: #fff;
  transition: all 0.4s;
}


.c-hamburger span:nth-of-type(1) {
  top: -8px;
}

.c-hamburger span:nth-of-type(2) {
  top: -2px;
}


.c-hamburger span:nth-of-type(3) {
  top: 4px;
}


.c-hamburger .c-hamburger__text {
  display: block;
  top: 9px;
  background: transparent;
  color: #fff;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}


.c-hamburger.is-active span:nth-of-type(1) {
  top: 0;
  transform: translateX(-50%) rotate(225deg);
}


.c-hamburger.is-active span:nth-of-type(2) {
  opacity: 0;
}


.c-hamburger.is-active span:nth-of-type(3) {
  top: -4px;
  transform: translateX(-50%) rotate(-225deg);
}

.p-header__nav {
  display: flex;
  z-index: 10;
  position: absolute;
  top: 0;
  right: -70%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  background: transparent;
  font-weight: 700;
  opacity: 0;
  transition: 0.6s;
}




.p-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: inherit;
  padding: 13px 20px;
}


.p-header__title {
  width: 100%;
  max-width: 120px;
  height: 48px;
  background: lightgray;
}


.p-header__title a {
  display: block;
  width: 100%;
  height: auto;
}


.p-header__title a img {
  height: 100%;
}


.p-header__hamburger {
  z-index: 100;
  position: absolute;
  top: 0;
  right: 0;
  width: 70px;
  height: 96%;
}



.p-header__nav.is-active {
  position: fixed;
  top: 0;
  right: 0;
  background-color: rgba(39, 40, 54, 0.9);
  opacity: 1;
  transition: 0.6s;
    z-index: 20;
}

.p-nav {
  padding-top: 72px;
  padding-bottom: 72px;
}





.p-nav__list {
  display: block;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  background-color: #272836;
}



.p-nav__item {
  position: relative;
  width: 100%;
}

.p-nav__link {
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px;
  text-align: left;
    color: #ffffff;
}




















#contents{
    margin: 0px 0px 0px 0px;
    width: 100%;
    
}

@media (max-width: 767px){
    #contents{
        margin: 0px auto;
        width: 100%;
    }
}


.top .key{
    background:#c7cbd0 url("../img/common/key-bg-pc.png") no-repeat center top;
    background-size: auto 100%;
}

.top .key h1{
    margin: 0px auto;
    padding: 50px 0px 90px 0px;
    max-width: 528px;
}


@media (max-width: 767px){
    
    .top .key{
        background:#c7cbd0 url("../img/common/key-bg-sp.png") no-repeat center top;
        background-size: 100% auto;
    }

    .top .key h1{
        margin: 0px auto;
        padding: 34px 0px 90px 0px;
        width: 90%;
    }
    
}




.top .about{
    margin: -50px auto 50px;
    padding: 20px 0px 20px 0px;
    max-width: 750px;
    background-color: #272836;
    position: relative;
    z-index: 10;
}

.top .about h2{
    margin: 0px auto 20px;
    padding: 0px 0px 10px 0px;
    width: 90%;
    border-bottom: dotted 1px #ffffff;
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

.top .about .txtBox{
    margin: 0px auto 20px;
    padding: 0px 0px 0px 0px;
    width: 86%;
}

.top .about .txtBox p{
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    line-height: 1.6em;
    font-size: 15px;
    color: #ffffff;
}

.top .about .btn{
    margin: 0px auto;
    padding: 0px 0px 0px 0px;
    width: 90%;
    display:flex;
}

.top .about .btn .lbtn{
    margin: 0px auto;
    width: 46%;
}

.top .about .btn .rbtn{
    margin: 0px auto;
    width: 46%;
}



@media (max-width: 767px){
    
    .top .about{
        margin: -50px auto 50px;
        padding: 20px 0px 20px 0px;
        width: 90%;
        background-color: #272836;
    }

    .top .about h2{
        margin: 0px auto 10px;
        padding: 0px 0px 8px 0px;
        font-size: 4vw;
    }
    
    .top .about .txtBox p{
        font-size: 3.2vw;
    }
}


.top .listBox{
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 70px 0px;
    background: url("../img/common/list-bg-pc.png") no-repeat center 30px;
    background-size: 100% auto;
}

.top .listBox h2{
    margin: -20px auto 14px;
    padding: 0px 0px 0px 0px;
    max-width: 750px;
}

.top .listBox .boxIn{
    margin: 0px auto;
    max-width: 900px;
}


.top .listBox ul{
    margin: 0px auto 10px;
    padding: 0px 0px 0px 0px;
    width: 100%;
    display:flex;
    flex-wrap: wrap;
}

.top .listBox ul li{
    margin: 0px auto 4px;
    padding: 0px 0px 4px 0px;
    border-bottom: dotted 1px #ffffff;
    width: 48%;    
}

.top .listBox ul li:last-child{
    margin: 0px auto;
}

.top .listBox ul li .lbox{
    margin: 0px 0px 0px 0px;
    padding: 20px 0px 20px 0px;
    display:flex;
    align-items: center;
    background-color: #ffffff;
    border: solid 1px #161e5d;
}

.top .listBox ul li .lbox .pic{
    margin: 0px auto;
    width: 30%;
    min-height: 160px;
}

.top .listBox ul li .lbox .pic img{
    border-radius: 50%;
    border: solid 1px #999999;
}

.top .listBox ul li .lbox .ldetail{
    margin: 0px auto;
    width: 60%;
}

.top .listBox ul li .lbox .ldetail h3{
    margin: 0px 0px 10px 0px;
    font-size: 18px;
    font-weight: bold;
}

.top .listBox ul li .lbox .ldetail .name{
    margin: 0px 0px 10px 0px;
}

.top .listBox ul li .lbox .ldetail .area{
    margin: 0px 0px 10px 0px;
}

.top .listBox .btnList{
    margin: 0px auto;
    max-width: 400px;
}


@media (max-width: 767px){
    
    .top .listBox{
        margin: 0px 0px 0px 0px;
        padding: 0px 0px 60px 0px;
        background: url("../img/common/list-bg.png") no-repeat center 30px;
        background-size: auto 100%;
    }
    
    .top .listBox h2{
        margin: -20px auto 14px;
        padding: 0px 0px 0px 0px;
        width: 90%;
    }
    
    .top .listBox .boxIn{
        width: 100%;
    }
    
    .top .listBox ul{
        display:block;
    }
    
    .top .listBox ul li{
        margin: 0px auto 4px;
        width: 96%;
    }
    
    .top .listBox ul li:last-child{
        margin: 0px auto;
        width: 96%;
    }
    
    .top .listBox ul li .lbox .ldetail h3{
        font-size: 4vw;
    }
    
    .top .listBox ul li .lbox .ldetail .name{
        font-size: 3.2vw;
    }

    .top .listBox ul li .lbox .ldetail .area{
        font-size: 3.2vw;
    }
    
    .top .listBox .btnList{
        margin: 0px auto;
        width: 90%;
    }

    
    
}


.top .templateBox{
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 60px 0px;
    background:url("../img/common/template-bg.png")no-repeat left 20px;
    background-size: 100% auto;
}



.top .templateBox h2{
    margin: -30px auto 40px;
    padding: 0px 0px 0px 0px;
    max-width: 750px;
}



.top .templateBox ul{
    margin: 0px auto;
    max-width: 950px;
    display:flex;
    flex-wrap: wrap;
}


.top .templateBox ul li{
    margin: 0px auto 20px;
    width: 48%;
}

.top .templateBox ul li:last-child{
    margin: 0px 0px 0px 0px;
}

.top .templateBox ul li .tbox{
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    width: 100%;
    display:flex;
    align-items:top;
}


.top .templateBox ul li .tbox .pic{
    margin: 0px auto;
    width: 30%;
}

.top .templateBox ul li .tbox .tdetail{
    margin: 0px auto;
    width: 60%;
}

.top .templateBox ul li .tbox .tdetail h3{
    margin: 0px 0px 10px 0px;
    font-size: 18px;
    font-weight: bold;
}

.top .templateBox ul li .tbox .tdetail .txt{
    margin: 0px 0px 10px 0px;
    line-height: 1.6em;
}

.top .templateBox ul li .tbox .tdetail .link a{
    margin: 0px 0px 0px 0px;
    padding: 10px 0px 10px 0px;
    display:block;
    text-decoration: none;
    color: #161e5d;
    background-color: #ffffff;
    border-radius: 20px;
    text-align: center;
    font-weight: bold;
}


@media (max-width: 767px){
    
    .top .templateBox h2{
        width: 90%;
    }
    
    .top .templateBox ul{
        margin: 0px auto;
        width: 98%;
        display:block;
    }
    
    .top .templateBox ul li{
        width: 98%;
    }
    
}



.top .qualificationBox{
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 30px 0px;
    background: url("../img/common/qualification-bg-pc.png") no-repeat center 30px;
    background-size: 100% auto;
}

.top .qualificationBox h2{
    margin: -30px auto 40px;
    padding: 0px 0px 0px 0px;
    max-width: 750px;   
}

.top .qualificationBox .boxIn{
    margin: 0px auto;
    padding: 0px 0px 0px 0px;
    max-width: 750px;
}


.top .qualificationBox .pic{
    margin: 0px auto 50px;
    padding: 0px 0px 0px 0px;
    max-width: 300px;
}


.top .qualificationBox .txtBox{
    margin: 0px auto 24px;
    padding: 0px 0px 0px 0px;
    width: 90%;
}

.top .qualificationBox .txtBox p{
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    line-height: 1.6em;
    font-size: 15px;
}

.top .qualificationBox .link{
    margin: 0px auto;
    max-width: 400px;
    
}


@media (max-width: 767px){
    
    .top .qualificationBox{
        margin: 0px 0px 0px 0px;
        padding: 0px 0px 30px 0px;
        background: url("../img/common/qualification-bg.png") no-repeat center 30px;
        background-size: 100% auto;
    }

    .top .qualificationBox h2{
        margin: -30px auto 20px;
        padding: 0px 0px 0px 0px;
        width: 90%;   
    }
    
    .top .qualificationBox .pic{
        margin: 0px auto 20px;
        padding: 0px 0px 0px 0px;
        width: 50%;
    }  
    
    .top .qualificationBox .link{
        margin: 0px auto;
        width: 90%;

    }
    
}




.top .newsBox{
    margin: 0px auto;
    padding: 40px 0px 40px 0px;
}

.top .newsBox h2{
    margin: 0px 0px 24px 0px;
    padding: 0px 0px 0px 0px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

.top .newsBox ul{
    margin: 0px auto 20px;
    padding: 0px 0px 0px 0px;
    max-width: 500px;
}

.top .newsBox ul li{
    margin: 0px 0px 22px 10px;
    padding: 0px 0px 0px 0px;
    list-style: disc;
    line-height: 1.3em;
}

.top .newsBox ul li a{
    margin: 0px 0px 0px 0px;
    padding: 10px 0px 10px 0px;
    text-decoration: underline;    
}

.top .newsBox ul li .date{
    margin: 0px 0px 5px 0px;
}

.top .newsBox .list{
    margin: 0px auto;
    max-width: 500px;
    text-align: right;
}




@media (max-width: 767px){
    .top .newsBox{

    }
    
    .top .newsBox ul{
        margin: 0px auto 20px;
        padding: 0px 0px 0px 0px;
        width: 90%;
    }
    
    .top .newsBox .list{
        margin: 0px auto;
        width: 90%;
        text-align: right;
    }

    
}




footer{
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    background-color: #272836;
}

footer .footerBox{
    margin: 0px auto;
    padding: 30px 0px 20px 0px;
    max-width: 500px;
}

footer .lead{
    margin: 0px 0px 20px 0px;
}

footer .lead p{
    color: #ffffff;
    text-align: center;
}


footer .sns{
    margin: 0px auto 20px;
    width: 100%;
    display:flex;
}

footer .sns .instagram{
    margin: 0px 10px 0px auto;
    width: 30px;
}

footer .sns .twitter{
    margin: 0px auto 0px 10px;
    width: 30px;
}

footer .cname{
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 10px 0px;
    text-align: center;
    color: #ffffff;
    font-size: 15px;
}

footer .fLink{
    margin: 0px 0px 20px 0px;
    padding: 10px 0px 0px 0px;
    border-top: solid 1px #ffffff;
}

footer .fLink ul{
    margin: 0px auto;
    width: 90%;
}

footer .fLink ul li{
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    border-bottom: solid 1px #ffffff;
}

footer .fLink ul li a{
    margin: 0px 0px 0px 0px;
    padding: 10px 0px 10px 0px;
    color: #ffffff;
    text-decoration: none;
    display:block;    
}

footer .fLink ul li a:before{
    content:"・";
}

footer .fLink ul li a:hover{
    text-decoration: underline;
}

footer .company{
    margin: 0px auto 30px;
    width: 90%;
}

footer .company p{
    line-height: 1.6em;
    font-size: 14px;
    color: #ffffff;
}

footer .copyright{
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    text-align: center;
}

footer .copyright p{
    font-size: 12px;
    color: #ffffff;
}





@media (max-width: 767px){
    footer .lead p{
        font-size: 3.4vw;
    }
    
    
    footer .company p{
        font-size: 3.4vw;
    }
    
    footer .fLink ul li a{
        font-size: 4vw;
    }
    
}



