*{
    box-sizing: border-box;
}

.wrapper {
  flex: 1;
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
}

h1.maintitle{
    text-align: center;
    color: #666;
    font-size: 3rem;
}

.maintitle span{
    display: block;
    line-height: 1.3;
}

p.lead{
    font-size:1.5rem;
    text-indent: 1rem;
    text-align: justify;
    font-feature-settings : "palt";
    max-width: 1000px;
    margin: 0 auto;
}

p.lead span{
    color: red;
    font-weight: 600;
    text-align: justify;
    font-feature-settings : "palt";
}

.bubble_wrap{
    display: flex;
    justify-content: space-between;
    max-width: 800px;
    margin: 20px auto;
}
.bubble1{
	background: orange;
	color: #fff;
	text-align: center;
	width: 200px;
	padding: 10px 0 15px 0;
	border-radius: 50%;
	position: relative;
    line-height: 1;
    box-sizing:content-box;
}
.bubble1:before{
	content: "";
	position: absolute;
	bottom: -28px;
	right: 40%;
	border: 15px solid transparent;
	border-top: 15px solid orange;
    box-sizing:content-box;
}

.bubble1 li{
    font-size: 1.5rem;
}

.bubble1 span{
    font-size: 1.0rem;
}

.bubble2{
	background: blue;
	color: #fff;
	text-align: center;
	width: 200px;
	padding: 10px 0 15px 0;
	border-radius: 50%;
	position: relative;
    line-height: 1;
    box-sizing:content-box;
}
.bubble2:before{
	content: "";
	position: absolute;
	bottom: -28px;
	right: 40%;
	border: 15px solid transparent;
	border-top: 15px solid blue;
    box-sizing:content-box;
}

.bubble2 li{
    font-size: 1.5rem;
}

.bubble2 span{
    font-size: 1.0rem;
}

.bubble1 li:first-child{
    font-size: 2.0rem;
    font-weight: 800;
    line-height: 1.3;
}

.bubble2 li:first-child{
    font-size: 2.0rem;
    font-weight: 800;
    line-height: 1.3;
}

.left_wrap, .right_wrap{
    display: flex;
    flex-flow: column;
    align-items: center;
    /* width: 300px; */
}

.caption{
    padding: 20px;
}

.caption p{
    text-indent: 0;
    font-size: 1.2rem;
    line-height: 1.1;
    width: 200px;
    text-align: center;
    font-feature-settings : "palt";
    
}

.caption span{
    display: block;
    text-align: center;
    color: sandybrown;
}

.customer{
    position: relative;
    border: 2px solid navy;
    padding: 1.8rem 0 0 0;
    max-width: 900px;
    margin: 20px auto;
}

h2.title1{
    font-size: 1.8rem;
    position: absolute;
    left: 50%;
    transform: translate(-50%,-50%);
    top: -0.1rem;
    background: navy;
    color: #fff;
    padding: 2px 10px 2px 10px;
    border-radius: 10px;
    z-index: 999;
}

.sample, .title{
    display: flex;
    margin: 5px 10px 5px 10px;
    font-size: 1.2rem;
}

.sample li{
    flex:1;
    text-align: right;
}

.title li{
    flex:1;
    text-align: right;
}

.title li:first-child{
    min-width: 310px;
}

.sample li:first-child{
    text-align: left;
    min-width: 310px;
}

.sample li:last-child{
    color: red;
}

.cost span, .reduction span,.percent span{
    display: none;
}

h3.title_head{
    font-size: 2.0rem;
    color: white;
    font-weight: 500;
    background: navy;
    padding: 5px 10px 5px 10px;
    margin: 10px 0 10px 0;
}

h3.title_head::before{
	content: "◆";
}

.point{
    display: flex;
    width: 120px;
    background: red;
    color: #fff;
    padding: 5px 20px 5px 20px;
    border-radius: 10px;
    font-size: 1.8rem;
    margin: 10px auto;
    justify-content: center;
}

.explanation{
    display: flex;
    justify-content: center;
}

.explanation p{
    font-size: 1.8rem;
    text-align: center;
    color: #666;
}

.explanation span{
    display: block;
    font-size: 1.8rem;
    font-weight: 100;
    line-height: 1;
    color: #666;
    margin-bottom: 30px;
}

span.for_mobile{
    display: inline;
}

.power{
    display: flex;
    flex-wrap: wrap;
    margin: 30px auto;
    justify-content: center;
}

/* 円の基本形 */
.tokyo, .kansai,.kyushu,.shikoku,.tohoku,.chubu,.hokuriku  {
  display: inline-flex;
  justify-content: center;
  text-align: center;
  border-radius: 50%;
  flex-flow: column; 
  vertical-align: top;
  margin: 15px;
}
/* 円の大きさ */
.tokyo, .kansai,.kyushu,.shikoku,.tohoku,.chubu,.hokuriku{
  width: 100px;
  height: 100px;
}
/* 文字の大きさ */
.tokyo, .kansai,.kyushu,.shikoku,.tohoku,.chubu,.hokuriku {
  font-size: 2.3rem;
  line-height: 1;
}
/* 円と文字の色 */
.tokyo {
  color: #fff;
  background: red;
}

/* 円と文字の色 */
.kansai {
  color: #fff;
  background: #FFE01C;
}

/* 円と文字の色 */
.kyushu {
  color: #fff;
  background: blue;
}

/* 円と文字の色 */
.shikoku {
  color: #fff;
  background: #F9C032;
}

/* 円と文字の色 */
.tohoku {
  color: #fff;
  background: limegreen;
}

/* 円と文字の色 */
.chubu {
  color: #fff;
  background: purple;
}
/* 円と文字の色 */
.hokuriku {
  color: #fff;
  background: #FF0A70;
}

.square_wrapper{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 30px auto 50px auto;
    max-width: 900px;
}

.square1, .square2{
    display: flex;
    flex-flow: column;
    width: 350px;
}

.square1 li{
    font-size: 1.5rem;
    text-align: center;
    background: #666;
    color: #fff;
    line-height: 2.5rem;
}

.square1 p{
    font-size: 1.1rem;
    text-indent: 0;
    background: #ddd;
    color: #666;
    padding: 15px;
    text-align: justify;
    font-feature-settings : "palt";
}

.triangle{
	width: 0;
	height: 0;
	border: 30px solid transparent;
	border-left: 30px solid #ccc;
    margin-left: 40px;
}

.square2 li{
    font-size: 1.5rem;
    text-align: center;
    background: red;
    color: #fff;
    line-height: 2.5rem;
}

.square2 p{
    font-size: 1.1rem;
    text-indent: 0;
    background: pink;
    color: #666;
    padding: 15px;
    text-align: justify;
    font-feature-settings : "palt";
}

.disclaimer{
    color:red;
    margin-bottom: 20px;
    font-size: 1.2rem;
    text-indent: 1.2rem;
}

#comp_name{
    color: #000;
    text-align: center;
}

#contact_message{
    font-size: 1.5em;
    line-height: 1.2;
    text-align: center;
    color: #000;
    padding-top: 10px;
}

.form{
    margin-bottom: 10px;
}

.contact{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0.5em 0.5em 0.5em;
}

.info{
    font-size: 1.5em;
}

.message{
    font-size: 1.6rem;
}

.message li:nth-child(1){
    color: red;
}

/* .contact a:link{
    color: mediumspringgreen;
} */

.contact a, .form a{
    color: #26ccff;
    /* color: #002EE6; */
    /* color: mediumspringgreen; */
}

.contact a:hover, .form a:hover{
    /* color: #26ccff; */
        /* color: #002EE6; */
    color: mediumspringgreen;
}

.ads_multi{
    text-align: center;
}

.sq_display{
	margin: 2em 0 0.5em 0;
    text-align: center;
}

@media screen and (max-width : 768px){ 
	h1.maintitle{
		font-size: 1.5rem;
		margin: 0.5em 0 0 0;
	}
	
	h3.title_head{
		font-size: 1.3rem;
	}
	
	p.lead{
		font-size:1rem;
		margin: 0 1em 0 1em;
	}
	
	.left_wrap, .right_wrap{
        width: 100%;
	}

    .bubble1, .bubble2{
        width: 120px;
        padding: 10px 0 15px 0;
    }

    .bubble1 li, .bubble2 li{
        font-size: 1.0rem;
    }
        
    .bubble1 li:first-child, .bubble2 li:first-child{
        font-size: 1.2rem;
        }
    
    .bubble1 span, .bubble2 span{
        font-size: 0.7rem;
    }

    .caption{
        padding: 20px 15px 20px 15px;
    }
    
    .caption p{
        text-indent: 0;
        font-size: 0.9rem;
        width: 150px; 
    }    
    
    .caption span{
        font-size: 0.8rem;
    }

    .customer{
        padding: 1.5em 0em 0 0;
        margin: 20px 1em 20px 1em;
    }

    .customer h2{
        font-size: 1.5rem;
    }

    .sample, .title{
        flex-flow: column;
        font-size: 1rem;
    }

    .sample li{
        min-width:100px;
    }
    .title li{
        display: none;
    }

    .point{
        font-size: 1.5rem;
        padding: 0px 5px 0px 5px;
        width: 90px;
    }

    .cost, .reduction, .percent{
        display: flex;
        justify-content: space-between;
        margin-left: 1.5rem;
    }

    .cost span, .reduction span{
        display: block;
        color: #A9A9A9;
        font-size: 0.9rem;
    }

    .percent span{
        display: block;
        color: red;
        font-size: 0.9rem;
    }

    
    .power{
        margin-top: 0px;
    }

    .explanation p{
        font-size: 1.2rem;
        line-height: 1.2;
    }
    
    .explanation span{
        font-size: 1.2rem;
        margin-bottom: 15px;
    }

    .disclaimer{
        font-size: 0.8rem;
        margin: 0 0em 2em 0em;
        text-indent: -1em;
        padding: 0 2em 0 3em;
        text-align: justify;
        font-feature-settings : "palt";
    }

    span.for_mobile{
        display: block;
        margin-bottom: 5px;
        }


.square_wrapper{
    margin: 10px 10px 30px 10px;
    }

.square1 li, .square2 li{
    font-size: 1rem;
    }

.square1 p, .square2 p{
    font-size: 0.8rem;
    padding: 10px;
}

.triangle{
	border: 15px solid transparent;
	border-left: 15px solid #ccc;
    margin-left: 15px
    }

    .contact{
        flex-flow: column;
        text-align: center;
        margin-bottom: 0px;
        margin: 0 0.3em 0.5em 0.3em;
    } 
        
     #contact_message{
         font-size: 1em;
         letter-spacing: -0.05em;
         padding-top: 0;
        }
        
    #comp_name{
        font-size: 1.5em;
    }    
    
    .info{
        font-size: 1.2em;
        line-height: 1.2;
        } 
    
    .message{
        font-size: 1rem;
    }
        
    .message li:first-child{
        font-size: 0.9rem;
        letter-spacing: -0.05em;
    }
	
	}