/*
 Theme Name:   OnePress Child
 Theme URI:    https://www.famethemes.com
 Description:  OnePress sample child theme
 Author:       FameThemes
 Author URI:   https://www.famethemes.com
 Template:     onepress
 Version:      1.0.0
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  onepress-child
*/

/* Add your custom css below
-------------------------------------------------------------- */
.rulepage {
    width: 780px;
    margin: 50px auto;
}


.panel5-merit{
text-align:center;
border-radius:1rem;
	border:solid 3px #176da0;
	padding:1rem 1rem;
	margin:2rem 0;
}

.panel5-merit p{
text-align:center!important;

}


.panel5-merit h3{
position:relative;
	font-size:1.5rem;
	padding:1.5rem;
}

.panel5-merit h3:after{
    position: absolute;
    content: "";
    background-color: #2274a5;
    width: 134px;
    height: 3px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
}




@media screen and (min-width: 1140px) {
  .is-transparent .no-scroll.site-header .onepress-menu {
    background: hsla(0,0%,0%,0.5);
  }
}

.page-header {
padding: 60px 0px;
background: rgb(85,85,85);
background: linear-gradient(90deg, rgb(255 255 255) 0%, rgb(216 216 216) 40%, rgb(158 158 158) 100%);

	
	
	
	
	
	text-align:center;
}

.alleft{
	
	text-align:left!important;
	
}


#primary {
padding-bottom: 40px;
	padding-top: 0;
}

.site-content {
border-top:none;
margin-top: -1px;
}


a.googlemap {
font-size: 1.2rem;
float: right;
display: inline-block;
color: #fff;
background: #4aaf42;
padding: 0 20px;
}



.must{
	color: #fff;
	margin-right: 10px;
	padding: 6px 10px;
	background: #F92931;
	border-radius: 20px;
}

/* 任意マーク */
.free {
	color: #fff;
	margin-right: 10px;
	padding: 6px 10px;
	background: #424242;
	border-radius: 20px;
}

/* 項目名を太字にする */
form p {
	font-weight: 600;
}

/* 入力項目を見やすくする */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 必須項目の入力欄を黄色にする */
input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
	background: rgba(255, 255, 142, 0.46);
}

/* 送信ボタンを見やすくする */
input.wpcf7-submit {
	width: 100%;
	height: 80px;
	background: #27c038;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
}

/* エラーメッセージを見やすくする */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}




/*.tab_wrap{width:940px; margin:40px auto;}*/

.tab_wrap{width:100%; margin:40px auto;}

input[type="radio"]{display:none;}
.tab_area{font-size:0; margin:0 10px;}
.tab_area label{width:180px; margin:0 5px; display:inline-block; padding:12px 0; color:#999; background:#ddd; text-align:center; font-size:15px; cursor:pointer; transition:ease 0.2s opacity;}
h3.tabcontent{
	color:#fff!important;
	font-size:1.8em;
}
.caption{
	font-size:70%;
	
}


.tab_area label:hover{opacity:0.5;}

.tab_area {
width:950px;
margin:0 auto;
}

@media (max-width: 767px) { .tab_area {
width:100%;
margin:0 auto;
}

}

.panel_area{background:#fff;}

.panel_area h3{font-size:1.6rem;
text-align:center;}

.panel_area p{color:#000;}

.tab_panel{width:100%; padding:0 0; display:none;margin:0 auto;}
.tab_panel p{font-size:16px; letter-spacing:1px; text-align:left;}
 
#tab1:checked ~ .tab_area .tab1_label{background:#dd8477; color:#000;}
#tab1:checked ~ .panel_area #panel1{display:block;}
#tab2:checked ~ .tab_area .tab2_label{background:#fae13f; color:#000;}
#tab2:checked ~ .panel_area #panel2{display:block;}
#tab3:checked ~ .tab_area .tab3_label{background:#4fd8f8; color:#000;}
#tab3:checked ~ .panel_area #panel3{display:block;}

#tab4:checked ~ .tab_area .tab4_label{background:#fc9ca7; color:#000;}
#tab4:checked ~ .panel_area #panel4{display:block;}


#tab5:checked ~ .tab_area .tab5_label{background:#70ad47; color:#000;}

#tab5:checked ~ .panel_area #panel5{display:block;}



.tabcntnr{
	width:940px;
	margin:0 auto;
}


.onepress-menu > li:last-child > a {
  padding-right: 18px;
}


table > thead > tr > th,
table > tbody > tr > th,
table > tfoot > tr > th,
table > thead > tr > td,
table > tbody > tr > td,
table > tfoot > tr > td {
  padding: 10px;

}



.single .entry-header .entry-title {
    margin-top: 30px;
    margin-bottom: 10px;
}


.btn-flat-border {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #67c5ff;
  border: solid 2px #67c5ff;
  border-radius: 3px;
  transition: .4s;
}

.btn-flat-border:hover {
  background: #67c5ff;
  color: white;
}


table.plan{
	
}

table.plan tr.odd{
	background-color:#f6f6f6!important;
}

td.ind{
	background-color:#ababab!important;
		color:#fff!important;
}

td.price{
font-size:1.2rem;
	font-weight:bold;
		color:red;
}

table.plan thead th{
	background-color:#777777;
	color:#fff!important;
}


.serviceitem{
	background-color:#919191;
	padding:25px;
	color:#fff;
border-radius:5px;
	margin-bottom:25px;
	
}

.serviceitem h4{
	color:#fff;
}
.supportlist{
	border-bottom:solid 1px #ccc;
	padding-bottom:15px;
	padding-top:15px;
}

.supportlistitem{
font-weight:bold;
	font-size:1rem;
}

p.contacttel{
	font-size:3rem;
	font-weight:bold;
	text-align:left;
	line-height:1;
}

p.contacttel span{
font-size:1rem;
}


p.contacttelsecond{
	font-size:1rem;
	text-align:left;
	font-weight:bold;
}

@media screen and (max-width: 700px){
	.tab_area label{width:100%; }
	p.contacttel,p.contacttelsecond{
	text-align:center;
}
	
	
	
}





.top-ploblem-row{
  display: flex;
  justify-content: center;
  align-items: center;
}

.top-ploblem-col{
  max-width:350px;
  height: 250px;
  border: 3px solid #2274a5;
  text-align: center;
  padding: 40px 30px 20px;
  border-radius: 18px;
  margin: 15px;
}

.top-ploblem-col2{
  padding: 20px 30px 20px;
}

.top-ploblem-col-text{
  font-size: 22px;
}

.top-ploblem-col-text span{
  font-size: 25px;
  font-weight: 700;
}

.top-ploblem-col-img{ 
}

.top-ploblem-col-img img{
width: auto;
margin: 35px auto 0 auto;
}

.top-ploblem-col-img3 img{
width: auto;
margin: 30px auto 0 auto;
}






.top-image-row{
  display: flex;
  justify-content: space-between;
  margin-top: 105px;
  position: relative;
  z-index: 10;
}

.top-image-row::after{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  border-bottom: 1px dotted #2274a5;
  z-index: 1;
  width: 90%;
}

.top-image-col{
  border: 3px solid #2274a5;
  position: relative;
  width: 28%;
  padding: 45px 15px 0;
  position: relative;
  z-index: 100;
  background-color: #fff;
}

.top-image-b{
  position: relative;
}

.top-image-b::after{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.top-image-h3{
  font-size: 23px;
  font-weight: 700;
  color: #fff;
  background-color: #2274a5;
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  width: 190px;
  text-align: center;
  border-radius: 22px;
  padding: 10px 0;
}

.top-image-col img{
  width: auto;
  margin: auto;
}

.top-image-col p{
  margin-top: 25px;
  padding: 0 25px;
}




.top-function-ul{
  display: flex;
  justify-content: space-evenly;
  margin-top: 80px;
}

.top-function-li{
width: 15%;
border: 3px solid #d65e18;
margin: 15px;
padding: 15px 10px;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
	margin-left:0!important;
}

.top-function-li img{
  width: 100%;
}
.top-function p{
  text-align: center;
  font-size: 25px;
  font-weight: 700;
  margin-top: 30px;
}

.top-function2{
  padding-top: 80px;
  padding-bottom: 70px;
}

.top-function2-text1{
  text-align: center;
  font-size: 25px;
  font-weight: 700;
}

.top-function2-text2{
  text-align: center;
  font-size: 34px;
  font-weight: 700;
}

.top-function2-row{
  justify-content: center;
  margin-top: 75px;
}

.top-function2-col{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 50px 30px;
  background-color: #fff;
  margin-bottom: 40px;
  filter: drop-shadow(0px 1px 10px rgba(0,0,0,0.08));
}

.top-function2-img{
  width: 45%;
  text-align: center;
}

.top-function2-img img{
  width: auto;
  margin: auto;
}

.top-function2-items{
  flex: 1;
  padding: 0 20px;
}

.top-function2-h3{
  font-size: 25px;
  font-weight: 700;
}

.top-function2-p{
  font-size: 16px;
}
.c-orange {
    color: #d65e18 !important;
    font-weight: 700;
}


@media all and (max-width: 767px) {

.top-ploblem-col {
  width: 100%;
  margin: 10px;
}
	
	
.top-image-row {
  display: block;
  justify-content: space-between;
  margin-top: 80px;
  position: relative;
  z-index: 10;
}
.top-image-b {
  position: relative;
  margin-bottom: 80px;
}
.top-image-row::after {
  display: none;
}
.top-image-col {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
.top-image-col img {
  width: 40%;
  margin-right: auto!important;
  margin-left: auto!important;	
}
	
.top-function-ul {
    margin-top: 40px;
}
.top-function-ul {
  flex-wrap: wrap;
}
.top-function {
  padding: 60px 0;
}
.top-function2-col {
  padding: 30px 15px;
}
.top-function2-h3 {
  font-size: 22px;
}

	
	.top-function-li {
  width: 45%;
  margin: 10px 0;
  padding: 10px;
}

	
.top-function2-text1 {
  font-size: 20px;
}
.top-function2-text2 {
  font-size: 19px;
}
.top-function2-col {
  flex-direction: column-reverse;
}
.top-function p {
  font-size: 20px;
  margin-bottom: 0;
}
	
	
}

section.alignfull {
  height:364px; 
  margin: 0 calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
  position:relative;
}
section.alignfull:before {
  position:absolute;
  content:'';
  top:0;
  left:0;
  width:100%;
  height:100%;
    background-color: #1c1c1c;
    opacity: 0.5;
    transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
  }

  section.alignfull img {
    object-fit:cover;
    height:100%;
    width:100%;
  }