@charset "utf-8";
/*===========================
add
===========================*/

.panel {
	width: 60%;
	margin:0.5em auto 0px; 
    height: 100%;
    background: #1182ab;
    color: #FFF;

    padding: 50px 1vw;
    position: relative;
    overflow: hidden;
		 	z-index: 1;
	
	
	
}
.h3-ttl {
	font-family: 'BIZ UDPMincho', serif;
    font-weight: 400;
    text-align: center;
    position: relative;
	text-shadow: none !important;
}
.h3-ttl span {
    font-size: 0.725rem;
    display: block;
    text-align: center;
    line-height: 5;
}
.h3-ttl:after {
    bottom: -1rem;
    left: 50%;
    width: 75%;
    transform: translateX(-50%);
    height: 1px;
    content: "";
    position: absolute;
    background: #FFF;
}
.tel-wra {
      width: auto;
	  margin: auto;
}
 .tel,.fax {
    font-size: clamp(1.5em, 1.5vw, 3em);
    display: block;
    width: 80%;
	margin:auto;
    font-weight: 600;
    position: relative;
    line-height: 1;
    margin-bottom: 0.7rem;
	 text-decoration: none;
	 text-align: center;
	 color:#fff;
	 z-index: 10;
	 position: relative;
}
.tel:before {
    content: "";
    width: 30px;
    height: 30px;
    position: relative;
    display: inline-block;
    left: -10px;
    background-image: url(../img/common/tel.svg);
    transform: translateY(-50%);
    background-size: cover;
    top: 18px;
}
.fax:before {
    content: "";
    width: 30px;
    height: 30px;
    position: relative;
    display: inline-block;
    left: -10px;
    background-image: url(../img/common/fax.svg);
    transform: translateY(-50%);
    background-size: cover;
    top: 18px;
}
.tel span {
    font-size: clamp(0.75rem, 1vw, 0.875rem);
    display: block;
    font-weight: 500;
    line-height: 1.4;
    font-family: 'BIZ UDPMincho', serif;
}
.btn {
	display: block;
    border-radius: 4px;
    width: 80%;
	margin: auto;
    padding: 1.1rem;
    font-family: 'BIZ UDPMincho', serif;
    font-size: clamp(1.0em, 1.7vw, 1.625rem);
    position: relative;
    background: linear-gradient(0deg, rgba(221, 221, 221, 1), rgba(255, 255, 255, 1) 100%);
    border: none;
	font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
	transition: color .15s 
ease-in-out, background-color .15s 
ease-in-out, border-color .15s 
ease-in-out, box-shadow .15s 
ease-in-out;
}
.btn:before {
    content: "";
    width: 30px;
    height: 30px;
    position: relative;
    display: inline-block;
    left: -10px;
    background-image: url(../img/common/mail.svg);
    transform: translateY(-50%);
    background-size: cover;
    top: 22px;
}
@media only screen and (max-width: 768px) {
.tel-wrap {
    width: 100%;
}
.panel {
	width: 98%;
	margin:0.5em auto 0px; 
    height: 100%;
    padding: 50px 1vw;
}	
.btn {
    padding: 0.5em 0.5em 0.9em;
}	
}
.box-sd {
    padding: 3em;
    background-color: #fff;
    border: 1px solid #999;
    box-sizing: border-box;
}
.box-sd02 {
    padding: 60px;
    background-color: rgba(255,255,255,.75);
    border: 0px solid #999;
	border-radius: 4px;
    box-sizing: border-box;
	box-shadow: 0px 1px 3px 0px rgb(0 0 0 / 10%), 0px 3px 15px 0px rgb(0 0 0 / 8%), 0px 5px 28px 0px rgb(0 0 0 / 6%);
}
.box-sd03 {
    padding: 5em 5em 4em 5em;
    background: radial-gradient(circle,rgba(131, 198, 222, 1) 0%, rgba(107, 187, 216, 1) 50%, rgba(17, 130, 171, 1) 100%);
    color: #fff;
    border: 0px solid #999;
    box-shadow: 0px 1px 3px 0px rgb(0 0 0 / 10%), 0px 3px 15px 0px rgb(0 0 0 / 8%), 0px 5px 28px 0px rgb(0 0 0 / 6%);
    box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
.box-sd {
    padding: 3.2em;
    box-sizing: border-box;
}
.box-sd02,.box-sd03 {
    padding: 2.2em;
    box-sizing: border-box;
}
}
.p-ttl {
	font-size:1.3em;
	text-align: left;
	padding-left: 0.5em;
	padding-bottom:0.5em;
	border-bottom: 1px solid var(--basic-color);
	font-weight: 800;
}
.p-ttl02 {
	line-height: 2.0em;
	letter-spacing: 0.1vw;
	font-size:1.1em;
	text-align: center;
}
@media screen and (max-width: 768px) {
.p-ttl {
	font-size:1.0em;
	text-align: left;
}
.p-ttl02 {
	line-height: 1.6em;
	font-size:1.0em;
	text-align: left;
}
}
.tx-flex {
	text-align: center;
}
.explanation {
	font-size:1.1em;
	line-height: 2.0;
	font-weight: 500;
	letter-spacing: 0.1vw;
}
@media screen and (max-width: 768px) {
.tx-flex {
	text-align: left;
	}
	.explanation {
    font-size: 1.0em;
    line-height: 1.8;
    letter-spacing: 0.05vw;
}
}
.philosophy {
	font-family: 
}
.box-wrap {
    background: #fcfaf5;
    box-sizing: border-box;
}
.box-ttl {
	text-align:center !important;
	background:var(--basic-color);
	padding:0.6em;
	color:#fff;
	margin-bottom:0px !important;
	display:flex;
	align-items:center;
	justify-content:center;
}
.box-cnt {
	width:100%;
	margin:0px auto 0em;
	padding:0.0em 0.8em 0.5em 0.8em;
	box-sizing:border-box;
}
.box-cnt02 {
    width: 100%;
    margin: 0px auto 0em;
    padding: 0.8em 0.8em 0.8em 0.8em;
    box-sizing: border-box;
    line-height: 1.6;
}
ul.circle-1col {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-1col > li {
	font-size:1.2em;
	font-weight: 400;
    padding: 0 0 0.2em 1.0em;
    margin-bottom: 0.7em;
    border-bottom: 1px solid var(--basic-color);
    width:100%;
    position: relative;
}
ul.circle-1col > li:last-child {
	margin-bottom:0px;
}
ul.circle-1col > li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background-color: var(--basic-color);
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.6em;
}
ul.circle-1col-no {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-1col-no > li {
	font-size:1.2em;
    padding: 0 0 0.2em 0.2em;
    margin-bottom: 0.7em;
	font-weight:600;
	line-height:1.3;
    border-bottom: 1px solid var(--basic-color);
    width:100%;
    position: relative;
}
.circle-1col-no > li span {
	font-weight:400;
	display:block;
}
ul.circle-1col-no > li:last-child {
	margin-bottom:0px;
}
ul.circle-1col-no > li:before {
    position: absolute;
    content: "";
    width: 0px;
    height: 0px;
    background-color: var(--basic-color);
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.6em;
}

ul.circle-2col {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-2col > li {
	font-size:1.2em;
    font-weight:600;
    padding: 0 0 0.5em 1.2em;
    margin-bottom: 0.9em;
    border-bottom: 1px dashed #CCC;
    width:43%;
    margin-right:2%;
    position: relative;
}
ul.circle-2col > li.line {
	margin-bottom:0px;
}


ul.circle-2col > li.long {
    width:70%;
}
ul.circle-2col > li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background-color: var(--basic-color);
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.6em;
}

ul.circle-3col {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-3col > li {
    padding: 0 0 0.5em 1.2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width:28%;
    margin-right:2%;
    position: relative;
}
ul.circle-3col > li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background-color: var(--basic-color);
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.6em;
}


@media only screen and (max-width: 768px) {
	ul.circle-1col-no > li {
		font-size:1.0em;
		    padding: 0 0 0.5em 0.2em;
			line-height:1.6;
	}
  ul.circle-2col > li,ul.circle-2col > li.long,ul.circle-3col > li {
    width:90%;
	font-size:1.0em;
}
ul.circle-2col > li.line.line2 {
	margin-bottom:0.9em;
}
}
ul.check-1col,ul.check2,ul.check-2col  {
    position: relative;
}
ul.check-1col {
    position: relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
}
ul.check-1col li {
    padding: 0 0 0.5em 2em;
    margin-bottom: 0.7em;
	font-size:1.1em;
    border-bottom: 1px dashed #CCC;
    width:100%;
    position: relative;
}
ul.check-1col li::before {
    position: absolute;
	color:var(--basic-color);
    content: "\f14a";
    font-family: FontAwesome;
    left: 0.3em;
    font-size: 1.3em;
}
ul.check2 li {
    padding: 0 0 0.5em 2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    position: relative;
    width:40%;
    margin-right:2%;
    display:inline-block;
}
ul.check2 li::before {
    position: absolute;
    content: "\f14a";
    font-family: FontAwesome;
    left: 0.3em;
    font-size: 1.3em;
}


ul.check-2col {
    position: relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
}
ul.check-2col li {
    padding: 0 0 0.5em 2em;
    margin-bottom: 0.7em;
	font-size:1.1em;
    border-bottom: 1px dashed #CCC;
    width:40%;
    margin-right:2%;
    position: relative;
}
ul.check-2col li::before {
    position: absolute;
	color:var(--basic-color);
    content: "\f14a";
    font-family: FontAwesome;
    left: 0.3em;
    font-size: 1.3em;
}

@media only screen and (max-width: 768px) {
ul.check-2col li {
    padding: 0 0 0.5em 2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width:90%;
    margin-right:2%;
    position: relative;
}
ul.check2 li {
    padding: 0 0 0.5em 1.6em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    position: relative;
	width:90%;
	margin-right:2%;
	display:inline-block;
}

}
.f-right {
	border-right: 1px solid #d1d0cf;
}
.f-left {
	border-left: 1px solid #d1d0cf;
}
.h2-ttl-l {
	text-align: left;
	    margin-bottom: 0.8em;
	padding-left:0.0em;
}
.h2-ttl-r {
	text-align: right;
	    margin-bottom: 0.8em;
	padding-right:0.0em;
}
.h2-ttl-l:after,.h2-ttl-r:after {
	content: '';
    position: absolute;
    bottom: 0px;
    display: inline-block;
    width: 0px;
    height: 0px;
    left: 0%;
    transform: translateX(-50%);
    background-color: var(--basic-color);
}
.box-ttl:after {
	content: '';
    position: absolute;
    bottom: 0px;
    display: inline-block;
    width: 0px;
    height: 0px;
    left: 00%;
    transform: translateX(-50%);
    background-color: #ccc;
}
.box-cl {
    border: 4px double #fff;
    background-color: rgba(17, 130, 171, 0.8);
    padding: 1em;
    color: #fff !important;
    box-sizing: border-box;
    border-radius: 10px;
}
.box-ttl02 {
    text-align: center;
    font-size: 1.3em;
    font-weight: 600;
    color: #fff;
}

/*
.number-01 {
  position: relative;
  font-family: 'Noto Serif JP', serif;
  font-size: 50px;
  color: #fff;
  font-weight: 400;
  line-height: 1.5;
  display: block;
  box-sizing: border-box;
  text-align: left; 
  margin-inline: auto;
  width: fit-content;
}

.number-01::after {
  content: '';
  position: absolute;
    bottom: -20px;
    right: -50px;
    width: 47px;
    height: 61px;
  border-left: 1px solid #333;
  rotate: 45deg;
}
*/
.number-01 {
	position:relative;
}
.number-01::before {
    position: absolute;
    bottom: 0px;
    left: 0.2em;
    z-index: 100;
    color: rgba(255, 255, 255, 1.0);
    font-size: 3em;
    line-height: 1;
    content: attr(data-number);
    pointer-events: none;
    transform: skewX(-12deg);
    font-family: 'Noto Serif JP', serif;
}
.res-img-f {
	display:block;
	width:80%;
	height:auto;
}
@media only screen and (max-width: 768px) {
.number-01::before {
	bottom: 20px;
    left: -0.2em;
    font-size: 2.3em;
	}
	.res-img-f {
	width:100%;
}
}
