/* ----------------------------------------------------------
General Settings
---------------------------------------------------------- */
.pt_nom {background-image: url(../img/pagetitle/pt_nom.jpg);}
.pt_template {background-image: url(../img/pagetitle/pt_template.jpg);}




.pt_01 {background-image: url(../img/pagetitle/01.jpg);}
.pt_02 {background-image: url(../img/pagetitle/02.jpg);}
.pt_03 {background-image: url(../img/pagetitle/03.jpg);}
.pt_04 {background-image: url(../img/pagetitle/04.jpg);}
.pt_05 {background-image: url(../img/pagetitle/05.jpg);}
.pt_06 {background-image: url(../img/pagetitle/06.jpg);}
.pt_07 {background-image: url(../img/pagetitle/07.jpg);}
.pt_08 {background-image: url(../img/pagetitle/08.jpg);}
.pt_09 {background-image: url(../img/pagetitle/09.jpg);}
.pt_10 {background-image: url(../img/pagetitle/10.jpg);}
.pt_11 {background-image: url(../img/pagetitle/11.jpg);}
.pt_12 {background-image: url(../img/pagetitle/12.jpg);}
.pt_13 {background-image: url(../img/pagetitle/13.jpg);}
.pt_14 {background-image: url(../img/pagetitle/14.jpg);}
.pt_15 {background-image: url(../img/pagetitle/15.jpg);}
.pt_16 {background-image: url(../img/pagetitle/16.jpg);}
.pt_17 {background-image: url(../img/pagetitle/17.jpg);}
.pt_18 {background-image: url(../img/pagetitle/18.jpg);}
.pt_19 {background-image: url(../img/pagetitle/19.jpg);}
.pt_20 {background-image: url(../img/pagetitle/20.jpg);}
.pt_21 {background-image: url(../img/pagetitle/21.jpg);}













/* ----------------------------------------------------------
Style for PCs
---------------------------------------------------------- */
@media screen and (min-width: 1025px) {

/* Pagetitle */
.pagetitle {
  width:100%;
  height: auto;
  display: block;
background: #000000;
background: linear-gradient(180deg, rgba(0, 0, 0, 1) 55%, rgba(117, 104, 72, 1) 100%);
}
.ptcov {
  width:100%;
  height: auto;
  display: block;
}
.ptbody {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 60% auto;
  padding:150px 5% 50px;
}
.pt01 {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.pt01 h2 {
  font-size:14px;
  font-weight: 500;
  line-height: 1em;
  color:var(--color-1st);
  margin-bottom: 20px;
  order:2;
}
.pt01 p {
  font-size:32px;
  font-family: var(--font-en);
  font-weight: 400;
  line-height: 1em;
  color:var(--color-white);
  margin-bottom: 10px;
  order:1;
}
.ptbody ul {
  width:100%;
  height: auto;
  display: flex;
  margin:0;
  order:3;
}
.ptbody ul li {
  font-size:12px;
  line-height: 1.5em;
  color:var(--color-white);
  margin:0;
}
.ptbody ul li:after {
  content: " > ";
  margin-right:0.5em;
}
.ptbody ul li:last-child:after {
  content:"";
  margin-right:0;
}
.ptbody ul li a {
  color:var(--color-white);
  text-decoration: underline;
}


/* Shopinfo */
.shopinfo_line01 {
  width:100%;
  height: auto;
  display: block;
  background-image: url(../img/shopinfo/shopinfoimg01.webp);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 55% auto;
}
.sil01cc {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  padding:100px 57% 100px 5%;
}
.sil01cc h2 {
  font-size:18px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-black);
  margin-bottom: 0.25em;
}
.sil01cc h3 {
  font-size:34px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-black);
  margin-bottom: 0.5em;
}
.sil01cc p {
  font-size:14px;
  line-height: 2em;
  margin-bottom: 0;
}


.shopinfo_line02 {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding:50px 5% 50px 5%;
}
.sil02cc {
  width:35%;
  height: auto;
  display: flex;
  flex-direction: column;
  order:2;
}
.sil02cc h2 {
  font-size:26px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-black);
  margin-bottom: 0.5em;
}
.sil02cc p {
  font-size:14px;
  line-height: 2em;
  margin-bottom: 0;
}
.sil02img {
  width:60%;
  height: auto;
  display: flex;
  justify-content: space-between;
  order:1;
}
.sil02img div {
  flex:1;
  margin:0 1%;
}
.sil02img div:nth-child(1) {
  margin-top:-50px;
}
.sil02img div:nth-child(2) {
  margin-top:50px;
}

.shopinfo_line03 {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding:50px 5% 150px 5%;
}
.sil03cc {
  width:35%;
  height: auto;
  display: flex;
  flex-direction: column;
  order:1;
}
.sil03cc h2 {
  font-size:26px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-black);
  margin-bottom: 0.5em;
}
.sil03cc p {
  font-size:14px;
  line-height: 2em;
  margin-bottom: 0;
}
.sil03img {
  width:60%;
  height: auto;
  display: flex;
  justify-content: space-between;
  order:2;
}
.sil03img div {
  flex:1;
  margin:0 1%;
}
.sil03img div:nth-child(1) {
  margin-top:-0px;
}
.sil03img div:nth-child(2) {
  margin-top:-50px;
}



}

/* ----------------------------------------------------------
Style for iPad Pro
---------------------------------------------------------- */
@media screen and (min-width: 769px) and (max-width: 1024px) {

/* Pagetitle */
.pagetitle {
  width:100%;
  height: auto;
  display: block;
  background-color: var(--color-black);
}
.ptcov {
  width:100%;
  height: auto;
  display: block;
}
.ptbody {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 100% auto;
  padding-top:30%;
}
.pt01 {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  background-color: var(--color-white);
  padding:30px 5% 20px;
}
.pt01 h2 {
  font-size:14px;
  font-weight: 500;
  line-height: 1em;
  color:var(--color-1st);
  margin-bottom: 20px;
  order:2;
}
.pt01 p {
  font-size:32px;
  font-family: var(--font-en);
  font-weight: 400;
  line-height: 1em;
  color:var(--color-black);
  margin-bottom: 10px;
  order:1;
}
.ptbody ul {
  width:100%;
  height: auto;
  display: flex;
  margin:0;
  order:3;
}
.ptbody ul li {
  font-size:12px;
  line-height: 1.5em;
  color:var(--color-black);
  margin:0;
}
.ptbody ul li:after {
  content: " > ";
  margin-right:0.5em;
}
.ptbody ul li:last-child:after {
  content:"";
  margin-right:0;
}
.ptbody ul li a {
  color:var(--color-black);
  text-decoration: underline;
}


/* Shopinfo */
.shopinfo_line01 {
  width:100%;
  height: auto;
  display: block;
  background-image: url(../img/shopinfo/shopinfoimg01.webp);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 80% auto;
}
.sil01cc {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  padding:50px 5% 38% 5%;
}
.sil01cc h2 {
  font-size:22px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-black);
  margin-bottom: 0.25em;
}
.sil01cc h3 {
  font-size:38px;
  font-weight: 700;
  line-height: 1.25em;
  color:var(--color-black);
  margin-bottom: 0.5em;
}
.sil01cc p {
  font-size:14px;
  line-height: 2em;
  margin-bottom: 0;
}


.shopinfo_line02 {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding:100px 5% 50px 5%;
}
.sil02cc {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  margin-bottom: 100px;
  order:1;
}
.sil02cc h2 {
  font-size:26px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-black);
  margin-bottom: 0.5em;
}
.sil02cc p {
  font-size:14px;
  line-height: 2em;
  margin-bottom: 0;
}
.sil02img {
  width:70%;
  height: auto;
  display: flex;
  justify-content: space-between;
  order:2;
}
.sil02img div {
  flex:1;
  margin:0 1%;
}
.sil02img div:nth-child(1) {
  margin-top:-50px;
}
.sil02img div:nth-child(2) {
  margin-top:50px;
}

.shopinfo_line03 {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding:100px 5% 50px 5%;
}
.sil03cc {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  margin-bottom: 100px;
  order:1;
}
.sil03cc h2 {
  font-size:26px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-black);
  margin-bottom: 0.5em;
}
.sil03cc p {
  font-size:14px;
  line-height: 2em;
  margin-bottom: 0;
}
.sil03img {
  width:70%;
  height: auto;
  display: flex;
  justify-content: space-between;
  order:2;
}
.sil03img div {
  flex:1;
  margin:0 1%;
}
.sil03img div:nth-child(1) {
  margin-top:-0px;
}
.sil03img div:nth-child(2) {
  margin-top:-50px;
}



}


/* ----------------------------------------------------------
Style for Smartphone
---------------------------------------------------------- */
@media screen and (max-width: 768px) {

/* Pagetitle */
.pagetitle {
  width:100%;
  height: auto;
  display: block;
  background-color: var(--color-black);
}
.ptcov {
  width:100%;
  height: auto;
  display: block;
}
.ptbody {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  background-repeat: no-repeat;
  background-position: right top;
  background-size: 100% auto;
  padding-top:40%;
}
.pt01 {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  background-color: var(--color-white);
  padding:25px 5% 20px;
}
.pt01 h2 {
  font-size:12px;
  font-weight: 500;
  line-height: 1em;
  color:var(--color-1st);
  margin-bottom: 15px;
  order:2;
}
.pt01 p {
  font-size:22px;
  font-family: var(--font-en);
  font-weight: 400;
  line-height: 1em;
  color:var(--color-black);
  margin-bottom: 10px;
  order:1;
}
.ptbody ul {
  width:100%;
  height: auto;
  display: flex;
  margin:0;
  order:3;
}
.ptbody ul li {
  font-size:11px;
  line-height: 1.5em;
  color:var(--color-black);
  margin:0;
}
.ptbody ul li:after {
  content: " > ";
  margin-right:0.5em;
}
.ptbody ul li:last-child:after {
  content:"";
  margin-right:0;
}
.ptbody ul li a {
  color:var(--color-black);
  text-decoration: underline;
}


/* Shopinfo */
.shopinfo_line01 {
  width:100%;
  height: auto;
  display: block;
  background-image: url(../img/shopinfo/shopinfoimg01.webp);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 100% auto;
}
.sil01cc {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  padding:50px 5% 50% 5%;
}
.sil01cc h2 {
  font-size:18px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-black);
  margin-bottom: 0.25em;
}
.sil01cc h3 {
  font-size:26px;
  font-weight: 700;
  line-height: 1.25em;
  color:var(--color-black);
  margin-bottom: 0.5em;
}
.sil01cc p {
  font-size:14px;
  line-height: 2em;
  margin-bottom: 0;
}


.shopinfo_line02 {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding:50px 5% 0px 5%;
}
.sil02cc {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  margin-bottom: 100px;
  order:1;
}
.sil02cc h2 {
  font-size:22px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-black);
  margin-bottom: 0.5em;
}
.sil02cc p {
  font-size:14px;
  line-height: 2em;
  margin-bottom: 0;
}
.sil02img {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  order:2;
}
.sil02img div {
  flex:1;
  margin:0 1%;
}
.sil02img div:nth-child(1) {
  margin-top:-50px;
}
.sil02img div:nth-child(2) {
  margin-top:50px;
}

.shopinfo_line03 {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding:100px 5% 150px 5%;
}
.sil03cc {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  margin-bottom: 100px;
  order:1;
}
.sil03cc h2 {
  font-size:22px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-black);
  margin-bottom: 0.5em;
}
.sil03cc p {
  font-size:14px;
  line-height: 2em;
  margin-bottom: 0;
}
.sil03img {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  order:2;
}
.sil03img div {
  flex:1;
  margin:0 1%;
}
.sil03img div:nth-child(1) {
  margin-top:-0px;
}
.sil03img div:nth-child(2) {
  margin-top:-50px;
}


}





.privacy h4{
  background: #2c59a7;
  color: #fff;
  padding: 10px;
  font-size: 20px;
  margin-bottom: 20px;

}

.privacy p strong{
  border-bottom: 1px solid #000;
  padding-bottom: 5px;
  display: block;
  font-size: 16px;

}


.privacy p{

  font-size: 14px;

}


/*汎用*/

.content-all h3{
  font-weight: bold;
  font-size: 38px;
  margin-bottom: 30px;
  color: #2c59a7
}

.content-all h3 span {
 
  font-size: 18px;
  padding-top: 10px;
  display: block;
}


.box-b{
  border: 1px solid #000;
  padding: 30px;
  width: 100%;
  margin-bottom: 30px;

}


.content-all h4{
  border-bottom: 1px solid #000;
  padding-bottom: 5px;
  display: block;
  font-size: 18px;
  margin-bottom: 20px;

}


.content-all h5{
  border: 1px solid #000;
  padding: 10px;
  display: table;

}







h4.midashi-a{
  background:#2c59a7;
  color: #fff;

  border-bottom: none;
  padding-bottom: 0px;
    padding: 20px;
}

.img-one{
  display: table;
  margin: 0 auto;
  margin-bottom: 30px;
}




.img-one img{
  max-width: 100%;
  width: auto;
}



.img-one a:hover{
  opacity: 0.7;
}




.img-two{
  display: table;
  margin: 0 auto;
  margin-bottom: 30px;
}

.img-two a{
  display: table-cell;
  padding: 0 10px;
  vertical-align: middle;
}

.img-two a:hover{
  opacity: 0.7;
}





.content-all h5{

  font-size: 14px;
  margin-bottom: 10px;


}

.tex-box{
  border: 1px solid #000;
  padding: 20px;
  display: table;
  font-size: 44px;

  margin: 0 auto;
    margin-bottom: 50px;
}

.center{
    display: table;
    margin: 0 auto;
}

.tex-box a{
  text-decoration: none;
    color: #cc3333;
    font-weight: bold;
}

.tex-box span{
  display: block;
  font-size: 17px;
  text-align: right;
}



.tex-box div{

  font-size: 14px;
  display: block;
  text-align: center;

}




.tex-box .free-d{
  max-width: 40px;
  display: inline;
  margin-right: 10px;
}






.tex-box-02{
  display: table;
  font-size: 44px;



}


.tex-box-02 a{
  text-decoration: none;
    color: #cc3333;
    font-weight: bold;
}



.tex-box-02 .free-d{
  max-width: 40px;
  display: inline;
  margin-right: 10px;
}

















.line-a{
  background: #07b53b;
  color: #fff;
  padding: 20px;

  display: table;
  margin: 0 auto;
    margin-bottom: 40px;
}


.line-a a{
  color: #fff;
}






.line-b{
  background: #2c59a7;
  color: #fff;
  padding: 20px;
  margin-bottom: 60px;

}


html {
  scroll-padding-top: 80px;
}


.box-a{
  display: table;
  margin-bottom: 30px;
}



.box-a-left{
  display: table-cell;
  width: 20%;
  vertical-align: top;
}



.box-a-left img{
  min-width: 300px;
}





.box-a-right{
    vertical-align: top;
  display: table-cell;
    width: 80%;
    padding-left: 30px;
}




.box-c{
  display: table;
  margin-bottom: 30px;
}



.box-c-left{
  display: table-cell;
  width: 80%;
  vertical-align: top;
     padding-right: 30px;
}


.box-c-right{
    vertical-align: top;
  display: table-cell;
    width: 20%;
 
}











.item-01{
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;

}


.anc-a{
  color: #ccc;
  font-size: 38px;
  font-weight: bold;
  margin-bottom: 5px;

}

.mgb0{
  margin-bottom: 0px !important;

}

.mgb10{
  margin-bottom: 10px !important;

}





.btn-a{

  display: table;
  margin: 0 auto;
    margin-bottom: 60px;
    font-size: 20px;
}


.btn-a a{
  background: #eb4a0a;
  display: block;
  text-decoration: none;
  color: #fff;
  padding: 20px 30px;
  border-radius: 50px;
  text-align: center;
}


.btn-a a:hover{
  opacity: 0.7;
}


.box-in{
  max-width: 500px;
  display: table;
  margin: 0 auto;

}

.price-table table td{
  text-align: center;

}


.price-table table td:nth-child(1){

}







.bg-g{
     background:#f5f5f5;

}


.service-list a{
  text-decoration: none;
    color: #2c59a7;
  font-size: 24px;
  padding: 30px;
  font-weight: bold;
  display: block;
}




.service-list{
width: 100%;
    height: auto;
    display: flex;
    flex-wrap: wrap;
}


.service-list li{
  border: 1px solid #2c59a7;
  text-align: center;

  text-decoration: none;
  width: 48%;
  margin: 1%;
}

.service-list a:hover{
  background:#2c59a7;
  color: #fff; 
}



.table-02{
  width: 100%;
  margin-bottom: 40px;
    border-collapse:  collapse;
}
.table-02 td{
  border: 1px solid #000;
  padding: 15px;
  vertical-align: middle;

}


.table-02 th{
  font-weight: bold;
  border: 1px solid #000;
  padding: 15px;
  background:#2c59a7;
  color: #fff; 
  width: 20%;
}



.table-02 p{
  margin-bottom: 0px;

}

/*
.contact p{
  font-size: 15px;

}
*/


.form-link-01{
  margin-bottom: 50px;

}

.form-link-01 a{
  text-decoration: none;
  background: #2c59a7;
  color: #fff;
  padding: 10px;

}

.form-link-01 a:hover{
  opacity: 0.7;

}


  /*Access */
#map_canvas_01 {
  width: 100%;
  height: 500px;
  display: block;
}
.box50mleft {
  width: 48%;
  height: auto;
  display: block;
  float: left;
}
.box50mright {
  width: 48%;
  height: auto;
  display: block;
  float: right;
}
.wd80 {
  width: 80%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.mmbody h2.h2logo {
  font-size: 18px;
  line-height: 1.4em;
  margin-bottom: 10px;
  text-align: center;
  background-image: url(../img/header/0logo.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: auto 70px;
  padding-top: 80px;
}




@media screen and (max-width: 768px) {



.privacy h4{
  font-size: 17px;


}

.privacy p strong{
  font-size: 14px;

}






.content-all h3{
  font-weight: bold;
  font-size: 30px;
  margin-bottom: 30px;
  color: #2c59a7

}

.content-all h4{
  border-bottom: 1px solid #000;
  padding-bottom: 5px;
  display: block;
  font-size: 16px;
  margin-bottom: 10px;

}


.content-all h5{

  font-size: 12px;
  margin-bottom: 10px;


}





.tex-box{
  border: 1px solid #000;
  padding: 20px;
  display: table;
  font-size: 30px;
  margin-bottom: 30px;

}


.tex-box a{

    display: table;
    margin: 0 auto;
}

.tex-box span{

  font-size: 11px;
  text-align: right;
  padding-right: 20px;

}


.tex-box div{


  font-size: 12px;

}




.box-a{
  display: block;
  margin-bottom: 30px;
}



.box-a-left{
  display: block;
  width: 100%;
  vertical-align: top;
  margin-bottom: 20px;
}


.box-a-left img{
  max-width: 100%;
  width: auto;
}





.box-a-right{
    vertical-align: top;
  display: block;
    width: 100%;
    padding-left: 0px;
}

.content-all h3 span {
 
  font-size: 15px;
  padding-top: 10px;
  display: block;
}

.item-01{
  font-size: 16px;


}


.anc-a{

  font-size: 30px;


}


.box-c{
  display: block;
  margin-bottom: 30px;
}



.box-c-left{
  display: block;
 width: 100%;
  vertical-align: top;
     padding-right: 0px;
     margin-bottom: 20px;
}


.box-c-right{
    vertical-align: top;
  display: block;
    width: 100%;
 
}

.box-c-right img{
  max-width: 100%;
  width: auto;

}
.link-b a{
    font-size: 16px;


}


.btn-a{

  display: table;
  margin: 0 auto;
    margin-bottom: 60px;
    font-size: 16px;
}

.btn-a a{
  background: #eb4a0a;
  display: block;
  text-decoration: none;
  color: #fff;
  padding: 15px 20px;
  border-radius: 50px;
  text-align: center;
}


.tex-box-02{
  display: table;
  font-size: 30px;



}



.service-list li{
  border: 1px solid #2c59a7;
  text-align: center;

  text-decoration: none;
  width: 100%;
  margin: 1%;
}

.service-list a{

  font-size: 20px;
  padding: 20px;

}



.box50mleft {
  width: 100%;
  height: auto;
  display: block;
  float: none;
}
.box50mright {
  width: 100%;
  height: auto;
  display: block;
  float: none;
}



}