@charset "utf-8";

/* clearfix
------------------------*/
.clearfix:after{
    content:"";
	height:0;
    display:block;
    clear:both;
}

.ta-c { text-align: center; }
.ta-l { text-align: left; }
.ta-r { text-align: right; }
.fl-l { float: left; }
.fl-r { float: right; }
.clear { clear: both; }
.mga { margin: 0 auto; }

.fs08 { font-size: 8px; }
.fs10 { font-size: 10px; }
.fs12 { font-size: 12px; }
.fs14 { font-size: 14px; }
.fs16 { font-size: 16px; }
.fs18 { font-size: 18px; }
.fs20 { font-size: 20px; }
.fs22 { font-size: 22px; }
.fs24 { font-size: 24px; }
.fs28 { font-size: 28px; }
.fs30 { font-size: 30px; }
.fs40 { font-size: 40px; }
.fs60 { font-size: 60px; }
.fs80 { font-size: 80px; }

.pt00 { padding-top: 0px;}
.pt10 { padding-top: 10px;}
.pt20 { padding-top: 20px;}
.pt30 { padding-top: 30px;}
.pt40 { padding-top: 40px;}
.pt50 { padding-top: 50px;}
.pt60 { padding-top: 60px;}
.pt70 { padding-top: 70px;}
.pt80 { padding-top: 80px;}
.pt90 { padding-top: 90px;}
.pt100 { padding-top: 100px;}
.pt110 { padding-top: 110px;}
.pt120 { padding-top: 120px;}
.pb00 { padding-bottom: 0px;}
.pb10 { padding-bottom: 10px;}
.pb20 { padding-bottom: 20px;}
.pb30 { padding-bottom: 30px;}
.pb40 { padding-bottom: 40px;}
.pb50 { padding-bottom: 50px;}
.pb60 { padding-bottom: 60px;}
.pb70 { padding-bottom: 70px;}
.pb80 { padding-bottom: 80px;}
.pl00 { padding-left: 0px;}
.pl10 { padding-left: 10px;}
.pl20 { padding-left: 20px;}
.pl30 { padding-left: 30px;}
.pl40 { padding-left: 40px;}
.pl50 { padding-left: 50px;}
.pl60 { padding-left: 60px;}
.pl70 { padding-left: 70px;}
.pl80 { padding-left: 80px;}
.pr00 { padding-right: 0px;}
.pr10 { padding-right: 10px;}
.pr20 { padding-right: 20px;}
.pr30 { padding-right: 30px;}
.pr40 { padding-right: 40px;}
.pr50 { padding-right: 50px;}
.pr60 { padding-right: 60px;}
.pr70 { padding-right: 70px;}
.pr80 { padding-right: 80px;}

.mt00 { margin-top: 0px;}
.mt10 { margin-top: 10px;}
.mt20 { margin-top: 20px;}
.mt30 { margin-top: 30px;}
.mt40 { margin-top: 40px;}
.mt50 { margin-top: 50px;}
.mt60 { margin-top: 60px;}
.mt70 { margin-top: 70px;}
.mt80 { margin-top: 80px;}
.mb00 { margin-bottom: 0px;}
.mb10 { margin-bottom: 10px;}
.mb20 { margin-bottom: 20px;}
.mb30 { margin-bottom: 30px;}
.mb40 { margin-bottom: 40px;}
.mb50 { margin-bottom: 50px;}
.mb60 { margin-bottom: 60px;}
.mb70 { margin-bottom: 70px;}
.mb80 { margin-bottom: 80px;}
.ml00 { margin-left: 0px;}
.ml10 { margin-left: 10px;}
.ml20 { margin-left: 20px;}
.ml30 { margin-left: 30px;}
.ml40 { margin-left: 40px;}
.ml50 { margin-left: 50px;}
.ml60 { margin-left: 60px;}
.ml70 { margin-left: 70px;}
.ml80 { margin-left: 80px;}
.mr00 { margin-right: 0px;}
.mr10 { margin-right: 10px;}
.mr20 { margin-right: 20px;}
.mr30 { margin-right: 30px;}
.mr40 { margin-right: 40px;}
.mr50 { margin-right: 50px;}
.mr60 { margin-right: 60px;}
.mr70 { margin-right: 70px;}
.mr80 { margin-right: 80px;}

.ln16 { line-height: 1.6;}
.ln20 { line-height: 2.0;}

.wd50 { width: 50%;}
.wd80 { width: 80%;}
.wd20 { width: 20%;}
.lr10 { padding: 0 10px;}

.txt-red { color: red; }

html{
    overflow-y:scroll;
    font-size: 16px;
}
body {
	color: #000;
	font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    font-family: 'Noto Serif JP', serif;
}
.header-image {
    background-color:#fbe2cc;
}
.header-image img {
    margin:0 auto;
}
.txtdec {
    text-decoration: underline;
}
#section00 {
    text-align: center;
    padding: 20px 0 20px;
    line-height: 2;
}
#section01 {
    text-align: center;
    padding: 60px 0 20px;
    line-height: 2;
}
#section01 p {
    font-size: 2rem;
}
#section01 h1 {
    font-size: 2.4rem;
}
#section02 {
    text-align: center;
    line-height: 2;
    border-radius: 10px;
    margin-bottom: 40px;
}
#section02 p {
    font-size: 2rem;
}
#section0a h1{
    padding-top: 20px;
}
#section03 {
    text-align: center;
    padding: 60px 0 20px;
}
#section04 {
    text-align: center;
    padding: 60px 0 20px;
}
#section05 {
    text-align: center;
    padding: 60px 0 20px;
}
#section06 {
    text-align: center;
    padding: 60px 0 20px;
}
#section06 h1 {
    font-size: 2.4rem;
}
#section07 {
    text-align: center;
    padding: 60px 0 20px;
}
.concept_area {
    background-color: #dfd3cb;
    height: auto;
}
.quality_area {
    background-color: #d5ddd5;
    height: auto;
}
.model_area {
    background-color: #d2d4dd;
    height: auto;
}
.box_green {
}
.box_green_inner {
    background-color: #f4f0ea;
    border: 10px solid #818880;
}
.box_green_inner2 {
    padding: 1rem;
    text-align: left;
}
.box_green_inner2 a{
    text-align: right;
}
.box_gray {
    margin: 10px;
}
.box03 {
    background-color: #fffbf4;
    border: 4px solid red;
}
.box03 p {
    text-align: center;
}
.box03 .img03 {
    padding: 1rem;
}
.box03 .img03a {
    margin: 0 auto;
    margin-top: 6rem;
}
.box03-1 {
    background-color: red;
    color: white;
    font-size: 1.6rem;
    padding: 6px 0.8rem;
    line-height: 2;
    font-size: 2.0vw;
}
.box03 h2 {
    color: red;
    font-size: 1.2rem;
    text-align: left;
    padding-top: 10px;
}
.box03 .line {
    border-bottom: 1px dotted red;
    width: 100%;
}
.theme03 {
    background-color: red;
    padding: 0.5rem 2rem;
    border-radius: 12px;
    text-align: center;
    margin-bottom: 1rem;
}
.theme03 .theme03-h1 {
    color: white;
    font-size: 20px;
}
.box04 {
    background-color: white;
    border: 20px solid #8f969e;
}
.box04 h2 {
    padding:1rem 0;   
}
.box04 p {
    padding:1rem;
    text-align: left;
    font-size: 16px;
}
.box07 {
    background-color: white;
    border: 4px solid #8f969e;
    margin: 0 10px;
}
.box07 h2 {
    padding:1rem 0;   
}
.box07 p {
    padding: 0 10px;
    text-align: left;
    font-size: 16px;
}
.theme05 {
    background-color: #123E7B;
    padding: 0.5rem 2rem;
    border-radius: 12px;
    text-align: center;
    margin-bottom: 1rem;
}
.theme05 .theme05-h1 {
    color: white;
    font-size: 20px;
}
.txt-blue {
    color: #123E7B;
}
.box05 {
    background-color: #fffbf4;
    border: 4px solid #123E7B;
    border-radius: 24px;
}
.box05 h2 {
    text-align: left;
    padding-left: 1.2rem;
    padding-top: 0.5rem;
}
.box05-2 {
    background-color: #fffbf4;
    border: 4px solid #123E7B;
    padding: 1rem;
}
.box09 {
    background-color: #fffbf4;
    border: 4px solid #123E7B;
    border-radius: 24px;
    min-height: 420px;
}
.box09 h2 {
    text-align: center;
    padding-top: 0.5rem;
    font-size: 20px;
}
.txt {
    text-align: left;
    padding: 1rem 0;
}
.box09 .txt {
    text-align: left;
    padding: 1rem;
}
.theme06 {
    background-color: #D9AE00;
    padding: 0.5rem 2rem;
    border-radius: 12px;
    text-align: center;
    margin-bottom: 1rem;
}
.theme06 .theme06-h1 {
    color: white;
}
.theme08b {
	position: relative;
	padding: 0.75em 1.5em;
	background: linear-gradient(to top, #0045a9, #0082e6);
	color: #fff;
    border-radius: 16px;
    margin-top: 20px;
}
.theme08y {
	position: relative;
	padding: 0.75em 1.5em;
	background: linear-gradient(to top, #a98700, #ecbe02);
	color: #fff;
    border-radius: 16px;
    margin: 20px 0;
}
.box06-1 {
    background-color: #D9AE00;
    display: table;
    width: 100%;
}
.box06-1 p {
    color: white;
    text-align: center;
    font-size: 1.4rem;
    display: table-cell;
    vertical-align: middle;
}
.box06-2 {
    background-color: #fffbf4;
    border: 4px solid #D9AE00;
    padding: 1rem;
}
.box06-2 p {
    text-align: left;
}
.box06-2 a {
    color: #D9AE00;
}
.box06-3 {
    background-color: #fffbf4;
    border: 4px solid #ff0000;
    padding: 1rem;
    
  position: relative;
  display: inline-block;
  /*margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;*/
  background: #fffbf4;
  border: solid 3px #ff0000;
  box-sizing: border-box;
    
}

.box06-3:before {
  content: "";
  position: absolute;
  top: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 12px solid #fffbf4;
  z-index: 2;
}

.box06-3:after {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-bottom: 14px solid #ff0000;
  z-index: 1;
}



.box06-3 h1 {
    font-size: 2.6rem;
    color: #ff0000;
}
.txt-yellow {
    color: #D9AE00;
}
.bar-yellow {
    color: #D9AE00;
    border: 1px solid #D9AE00;
    text-align: center;
    width: 20px;
    height: 20px;
    background-color: #d9ae00;
    margin: 0 auto;
}
.pos03 {

}
.pos03-1 {
    margin: 0 auto;
    margin-top: 20%;
    text-align: center;
}
.pos03-2 {
    margin: 0 auto;
    margin-bottom: 0%;
    text-align: center;
}
.pos04 {
    position: relative;
}
.pos04-1 {
    position: absolute;
    top: 20%;
}
.pos04-2 {
    position: absolute;
    bottom: 0%;
}
.tel-font {
    font-size:3rem;
    color:red;
}
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
スラッシュ囲い
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
.deco_th_slash {
    position: relative;
    display: inline-block;
    padding: 0 45px;
}
.deco_th_slash:before {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 44px;
    height: 2px;
    background-color: black;
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
    left:0;
}
.deco_th_slash:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 44px;
    height: 2px;
    background-color: black;
    -webkit-transform: rotate(-60deg);
    transform: rotate(-60deg);
    right: 0;
}

.deco_mc_bubble {
    position: relative;
    display: inline-block;
    margin: 1.5em 0;
    padding: 7px 10px;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    font-size: 16px;
    background: #e0edff;
    border-radius: 15px;
}
.deco_mc_bubble:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #e0edff;
}
.deco_mc_bubble p {
    margin: 0;
    padding: 10px;
    line-height: 2.4;
}

.table02 {
    
}
.table02 .th01 {
    width: 10%;
    background-color:brown;
    color: white;
    text-align: center;
    height: 50px;
}
.table02 .th02 {
    width: 70%;
    background-color:brown;
    color: white;
    text-align: center;
    height: 50px;
}
.table02 .th03 {
    background-color: #ffa6b6;
    color: #a50000;
    font-size: 18px;
    line-height: 2.0;
    font-weight: normal;
    text-align: center;
}
.table02 tr {
    border: 1px solid #ddd;
}
.table02 td {
    border: 1px solid #ddd;
}
#surrounding01 {
    padding-top: 40px;
}
#surrounding02 {
}
#surrounding02 h2 {
    font-size: 24px;
    padding-top: 20px;
}
#surrounding02 h3 {
    font-size: 18px;
    padding-top: 10px;
}
#surrounding03 {
    padding-top: 40px;
}
#surrounding04 {
    padding-top: 40px;
}
#surrounding05 {
    padding-top: 40px;
    padding-bottom: 40px;
}
#surrounding06 {
    padding-top: 40px;
    padding-bottom: 40px;
}
@media screen and (min-width:1200px) {
    .container {
        max-width: 960px;
    }
    .box03-1 {
        font-size: 1vw;
    }
}

@media screen and (max-width:480px) {
    #section02 p {
        font-size: 1.4rem;
    }
    .tel-font {
        font-size:1.4rem;
        color:red;
    }
}

@media screen and (max-width:768px) {
    .box09 {
        margin-bottom: 20px;
        min-height: auto;
    }
    .box09 img {
        width: 25%;
    }
    .deco_th_slash {
        position: relative;
        display: inline-block;
        padding: 0 45px;
        font-size: 20px;
    }
    #surrounding02 h2 {
        font-size: 20px;
        text-align: center;
    }
}

@media screen and (max-width:640px) {
    #section02 {
        width: 96%;
        margin: 0 2%;
        padding: 10px 10px 0;
    }
    #section01 {
        text-align: center;
        padding: 20px 0 20px;
        line-height: 1.6;
    }
    #section03 {
        padding: 0;
    }
    #section01 p {
        font-size: 1rem;
    }
    #section01 h1 {
        font-size: 1.2rem;
    }
    .box03-1 {
        font-size: 20px;
    }
    .box03 h2 {
        padding: 10px;
    }
    #section06 h1 {
        font-size: 1.2rem;
    }
}