@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400&display=swap');
html {
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
body {
    font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック';
    line-height: 1.8em;
    color: #000;
    letter-spacing: 1px;
    -webkit-text-size-adjust: 100% !important;
    display: block;
    text-align: justify;
    overflow-x: hidden;
    background-color:#fff;
    height: auto;
}
* {
    margin: 0;
    padding: 0;
}
.wrap {
    overflow: hidden;
    width: 800px;
    margin: 0 auto;
}
div{
	text-align:center;
    box-sizing:border-box;
}
img{
	vertical-align:top;
}
a {
    text-decoration: none;
}
*, *:before, *:after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
ol, ul {
	list-style: none;
}
a {
	text-decoration: none;
	color: inherit;
}
.br-sp {
    display: none;
}

@media screen and (max-width: 700px) {
    .wrap {
        width: 100%;
    }
}

.float_left {
    float: left;
}
.float_right {
    float: right;
}
/*@media screen and (max-width: 700px) {
    .float_left, .float_right {
        float: none;
    }
}*/

/*フォント*/
.main-p {
    width: 90%;
    margin: 0 auto;
    text-align: center;
    font-size: 20px;
    line-height: 1.8em;
}
.main-p2 {
    width: 90%;
    margin: 0 auto;
    text-align: center;
    font-size: 20px;
    line-height: 1.3em;
}
.main-p3 {
    width: 90%;
    margin: 0 auto;
    text-align: center;
    font-size: 20px;
    line-height: 1.8em;
}
.text-p {
    display: inline-block;
    width: 90%;
    margin: 0 auto;
    text-align: left;
    font-size: 18px;
    line-height: 1.8em;
}
.text-p2 {
    display: inline-block;
    width: 90%;
    margin: 0 auto;
    text-align: left;
    font-size: 18px;
    line-height: 1.8em;
}
.text-p3 {
    display: inline-block;
    width: 90%;
    margin: 0 auto;
    text-align: left;
    font-size: 18px;
    line-height: 1.8em;
}
.text-p5 {
    display: inline-block;
    width: 90%;
    margin: 0 auto;
    text-align: left;
    font-size: 18px;
    line-height: 1.8em;
}
.red {
    color: #e74c3c;
}
.blue {
    color: #3453b1;
}
.yellow {
    color: #f6dc04;
}
.big1 {
    font-size: 30px;
}
.big2 {
    font-size: 25px;
}
.small {
    font-size: 13px;
}
.small2 {
    font-size: 25px;
}
.small3 {
    font-size: 23px;
}
.bold {
    font-weight: bold;
}
.marker-y {
    background: linear-gradient(transparent 80%,#ff6 0%);
}
.midashi-h2 {
    font-size: 30px;
    line-height: 1.5em;
    color: #fff;
    padding: 1rem 2rem;
    background-color: #364e96;
    border: 8px double #fff;
    width: 100%;
    margin: 0 auto;
    margin-top: 50px;
    margin-bottom: 30px;
}
.midashi-h2-but {
    font-size: 30px;
    line-height: 1.5em;
    color: #fff;
    padding: 1rem 2rem;
    background-color: #364e96;
    border: 8px double #fff;
    width: 100%;
    margin: 0 auto;
    margin-top: 50px;
    margin-bottom: 30px;
}
.midashi-h3 {
    font-size: 21px;
    width: 90%;
    margin: 0 auto;
    background-color: #e74c3c;
    color: #fff;
    padding: 10px;
    margin-top: 50px;
    margin-bottom: 30px;
}


/*ヘッダー*/
.header-img {
    width: 100%;
    margin-bottom: 30px;
}

/*メイン*/
.main-img {
    width: 100%;
    margin: 30px auto;
}

/*profile*/
.profile-con {
    display: inline-block;
    width: 90%;
    margin: 0 auto;
}
.profile-p {
    text-align: left;
	font-size: 18px;
}
.float_none {
    text-align: left;
	clear: both;
}

.profile-figure {
	float: right;
	margin: 0 0 15px 15px;
	width: 30%;
}
.profile-img {
	max-width: 270px;
}

/*awareness*/
.awareness-img {
    max-width: 300px;
}
.awareness-figure {
    float: right;
    margin: 0 0 15px 15px;
	width: 40%;
}

.data-con {
    display: inline-block;
    margin-top: 30px;
    margin-bottom: 30px;
}
.data-p {
    text-align: center;
}
.data-img {
    width: 70%;
    margin-top: 30px;
    margin-bottom: 30px;    
}
.graph {
    width: 90%;
    margin-top: 10px;
    margin-bottom: 30px;
}

/*cause*/
.cause-con {
    margin: 0 auto;
    width: 90%;
    margin-top: 50px;
}
.cause-img {
    margin: 0 auto;
    width: 90%;
}
.cause-ol {
    counter-reset:number;
    list-style-type: none!important;
    padding:0.5em;
    text-align: left;
}
.cause-ol .cause-li {
    position: relative;
    padding-left: 30px;
    line-height: 1.5em;
    padding: 0.5em 0.5em 0.5em 50px;
    font-size: 25px;
    font-weight: bold;
}

.cause-ol .cause-li:before{
    position: absolute;
    counter-increment: number;
    content: counter(number);
    display:inline-block;
    background: #597ce3;
    color: #fff;
    font-family: 'Avenir','Arial Black','Arial',sans-serif;
    font-weight:bold;
    font-size: 25px;
    left: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    top: calc(0.75em - 3px);
    -webkit-transform: translateY(-50%);
    transform: translateY(-0%);
}

.list-p {
    display: inline-block;
    width: 100%;
    margin: 0 auto;
    text-align: left;
    font-size: 18px;
    line-height: 1.8em;
    margin-bottom: 30px;
}

/*but*/
.but-con {
    display: inline-block;
    margin: 0 auto;
}

.waku1 {
    border: 2px solid #5e82ec;
    padding: 10px;
    margin-top: 20px;
    margin-bottom: 20px;
}
.waku2 {
    border: 2px solid #e74c3c;
    padding: 10px;
    margin-top: 20px;
    margin-bottom: 20px;
}
.waku3 {
    border: 2px solid #fff;
    padding: 0px 10px;
}
.waku1-li {
    text-align: left;
    font-weight: bold;
    padding-bottom: 20px;
}
.waku1-ul {
    list-style-type: disc;
    padding: 30px 30px 0px 30px;
}

.tokuten {
    margin-top: 50px;
}
.tokuten-img {
    margin: 30px auto;
    width: 90%;
}
.tokuten-con {
    width: 90%;
    margin: 0 auto;
}
.tokuten-con2 {
    width: 90%;
    margin: 0 auto;
    margin-top: 30px;
}
.tokuten-h4 {
    background-color: #3453b1;
    color: #fff;
    font-size: 25px;
    text-align: center;
    padding: 10px;
}
.tokuten-li {
    text-align: left;
}
.tokuten-ul {
    margin: 20px 40px;
}

.tokuten-li-p{
    text-align: left;
    position: relative;
    padding-left: 15px;
    padding-bottom: 10px;
  }
  .tokuten-ul-p {
    margin: 20px 40px;
}
  .tokuten-li-p:before {
    content: "";
    position: absolute;
    top: .6em;
    left: 0;
    width: 8px;
    height: 8px;
    background-color: #fff;
    border: 2px solid #3453b1;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }

.henkin-img {
    width: 500px;
    margin: 30px auto;
}

.tokuten-ol {
    counter-reset:number;
    list-style-type: none!important; 
    padding:0;
}
.tokuten-ol .tokuten-li {
    position: relative;
    padding: 0.5em;
    line-height: 1.5em;
    background: #f1f8ff;
    border-left : solid 35px #5c9ee7;
    margin-bottom: 30px;
}
.tokuten-ol .tokuten-li:before{
    position: absolute;
    counter-increment: number;
    content: counter(number);
    display:inline-block;
    color: white;
    font-family: 'Avenir','Arial Black','Arial',sans-serif;
    font-weight:bold;
    font-size: 25px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: -35px;
    width: 35px;
    height: 1em;
    line-height: 1;
    text-align: center;
}

/*囲枠*/
.box26 {
    width: 100%;
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 2px #f6dc04;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -30px;
    left: 10px;
    padding: 5px 6px 8px 8px;
    border-radius: 50px;
    line-height: 1;
    font-size: 19px;
    background: #f6dc04;
    color: #fff;
    font-weight: bold;
    border: 10px solid #fff;
}
.box26 p {
    text-align: left;
    margin: 0; 
    padding: 30px;
}

/*voice*/
.voice-con {
    width: 90%;
    margin: 0 auto;
}
.voice-img {
    margin: 0 auto;
    width: 90%;
    margin-bottom: 20px;
}

/*henkin*/
.henkin-con {
    margin: 0 auto;
}
.price1 {
    width: 90%;
    margin: 0 auto;
    border: solid 3px #000;
    padding: 20px 30px;
    margin-top: 30px;
    margin-bottom: 30px;
}
.price-p {
    text-align: left;
}
.price-a {
    text-decoration: underline;
}

/*faq*/
.faq-con {
    margin: 0 auto;
}
.cp_qa {
    display: inline-block;
    width: 90%;
    margin-top: 30px;
    margin-bottom: 30px;
}
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa .cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 0 1em 0;
	color: #1b2538;
}
.cp_qa .cp_actab input {
	position: absolute;
	opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
    text-align: left;
	font-weight: bold;
	line-height: 1.6em;
	position: relative;
	display: block;
	margin: 0 0 0 0;
	padding: 1em 2em 1em 1em;
	cursor: pointer;
	text-indent: 1em;
	background: #160740;
    color: #fff;
    border-top: 2px solid #235150;
    border-right: 2px solid #235150;
    border-left: 2px solid #235150;
}
/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
	font-size: 1.7em;
	font-weight: bold;
	line-height: 2em;
	position: absolute;
	top: 0;
	right: 0;
	content: '＋';
	display: inline-block;
	width: 2em;
	height: 2em;
	-webkit-transition: transform 0.4s;
	        transition: transform 0.4s;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
    text-align: left;
	position: relative;
	overflow: hidden;
	max-height: 0;
	padding: 0 0 0 2.5em;
	-webkit-transition: max-height 0.2s;
	        transition: max-height 0.2s;
}

.cp_qa .cp_actab .cp_actab-content p {
	margin: 1em 1em 1em 0;
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
	max-height: 40em;
	border: 10px solid #160740;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
	-webkit-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
}

/*ps*/
.ps-con {
    margin: 0 auto;
}
.ps-img {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 80px;
}

/*CTAボタン*/
.btn,
a.btn,
button.btn {
    width: 600px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1em;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    border-radius: 0.5rem;
    margin-top: 50px;
    margin-bottom: 200px;
}

a.btn-c {
  font-size: 2.2rem;

  position: relative;

  padding: 1.5rem 5rem 1.5rem 2rem;

  color: #fff;
  background: #14bb4d;
  -webkit-box-shadow: 0 5px 0 #2c9d60;
  box-shadow: 0 5px 0 #128a3b;
}

a.btn-c:after {
  font-family: "Font Awesome 5 Free";
  font-size: 1.8rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - 0.7rem);
right: 1.5rem;
  margin: 0;
  padding: 0;
  content: "\f105";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

a.btn-c:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);

  color: #fff;
  background: #24ce5e;
  -webkit-box-shadow: 0 2px 0 #1bae4d;
  box-shadow: 0 2px 0 #1bae4d;
}

a.btn-c:hover:before {
  left: 2rem;
}


/*特定商取引法に基づく表記・プライバシーポリシー*/
.pptsh_wrap {
    padding: 0 25px 80px;
}
.pptsh_wrap div.law-container div {
    text-align: left;
}
.law-header {
    position: relative;
    padding: 0 0 20px;
    margin: 0 0 40px;
}
.underline {
    position: absolute;
    left: 50%;
    bottom: 0px;
    transform: translateX(-50%);
    width: 120px;
    height: 1px;
    border-radius: 0.5px;
    background-color: #364e96;
}
.law-title {
    font-size: 25px;
}
.law-block {
    margin: 0 0 20px;
}
.footer_bg {
    background: #364e96;
}
.footer_linktxt {
    padding: 30px 15px;
}
.footer_linktxt a {
    color: #FFF;
    display: inline-block;
    margin: 0 10px;
    text-decoration: underline;
}




/*********************
スマホ
*********************/

@media screen and (max-width: 700px) {
    .br-sp {
        display: inline-block;
    }
    .br-pc , .kuuhaku {
        display: none;
    }
    .main-p {
        width: 90%;
        font-size: 18px;
        line-height: 1.6em;
    }
    .main-p3 {
        width: 90%;
        font-size: 15px;
        line-height: 1.6em;
    }
    .text-p {
        width: 90%;
        font-size: 18px;
        line-height: 1.5em;
    }
    .text-p2 {
        width: 90%;
        font-size: 18px;
        line-height: 1.5em;
    }
    .text-p3 {
        width: 90%;
        font-size: 18px;
        margin: 0 auto;
    }
    .text-p4 {
        width: 90%;
        font-size: 14px;
        margin: 0 auto;
    }
    .data-p {
        font-size: 13px;
        width: 90%;
        margin: 0 auto;
    }
    .list-p {
        width: 100%;
        font-size: 18px;
        margin: 0 auto;
        margin-bottom: 30px;
    }
    .list-p2 {
        width: 90%;
        font-size: 18px;
        margin: 0 auto;
        margin-bottom: 30px;
    }
    .list-p-last {
        margin-bottom: 0px;
    }
    .big1 {
        font-size: 23px;
    }
    .big2 {
        font-size: 20px;
    }
    .small {
        font-size: 11px;
    }
    .small2 {
        font-size: 15px;
    }
    .small3 {
        font-size: 11px;
    }

    .midashi-h2 {
        width: 95%;
        font-size: 20px;
        line-height: 1.3em;
        padding: 1rem 1rem;
        margin-top: 40px;
         margin-bottom: 20px;
    }
    .midashi-h2-but {
        width: 95%;
        font-size: 17px;
        line-height: 1.3em;
        padding: 1rem 0.3rem;
        margin-top: 40px;
         margin-bottom: 20px;
    }
    .midashi-h3 {
        font-size: 20px;
        width: 95%;
        margin-top: 40px;
         margin-bottom: 20px;
    }

    .main-img {
        width: 100%;
        margin: 20px auto;
    }

    /*profile*/
    .float_none {
        text-align: left;
        clear: both;
    }
    .profile-figure  {
        margin: 0 0 0 0;
        width: 40%;
    }
    .profile-img {
        max-width: 150px;
    }

    /*awareness*/
    .awareness-figure  {
        margin: 0 0 10px 10px;
        width: 45%;
    }
    .awareness-img {
        max-width: 150px;
    }
    


    .data-img , .data-con {
        width: 90%;
        margin: 20px auto;
    }

    .cause-ol .cause-li {
        font-size: 20px;
    }
    .cause-con {
        width: 100%;
        margin-top: 30px;
    }
    .cause-ol {
        width: 90%;
        margin: 0 auto;
        padding: 0em;
    }

    .tokuten {
        margin-top: 50px;
    }
    .tokuten-con {
        width: 95%;
    }
    .tokuten-img {
        margin: 0 auto;
        width: 90%;
        margin-top: 30px;
        margin-bottom: 30px;
    }
    .tokuten-img-line {
        margin-top: 30px;
        margin-bottom: 0px;
    }
    .tokuten-img-line-last {
        margin-bottom: 30px;
    }
    .tokuten-h4 {
        font-size: 16px;
    }
    .tokuten-ul {
        margin: 20px 20px 20px 25px;
        font-size: 18px;
        line-height: 2em;
    }
    .tokuten-li {
        line-height: 1.3em;
        padding-bottom: 20px;
    }
    .tokuten-ol .tokuten-li {
        margin-bottom: 0px;
    }

    .voice-img {
        width: 100%;
    }
    .voice-img-last {
        margin-bottom: 0px;
    }
    .henkin-img {
        width: 90%;
        margin-top: 20px;
        margin-bottom: 0px;
    }
    .tokuten-con2 {
        width: 100%;
        margin-bottom: 20px;
    }
    .price1 {
        width: 90%;
        margin: 30px auto;
        padding: 20px 10px;
    }
    .henkin-con {
        margin-bottom: 20px;
    }

    .cp_qa {
        width: 90%;
        margin-top: 30px;
        margin-bottom: 0px;
    }
    .cp_qa .cp_actab label {
        font-size: 17px;
        text-indent: 0em;
        padding: 1em 3em 1em 1em;
    }
    .cp_qa .cp_actab .cp_actab-content p {
        font-size: 16px;
    }
    .cp_qa .cp_actab .cp_actab-content {
        padding: 0 0 0 1em;
    }
    .cp_qa .cp_actab label::after {
        width: 1.5em;
    }

    .btn, a.btn, button.btn {
        width: 90%;
        margin-bottom: 100px;
    }
    a.btn-c {
        font-size: 22px;
        padding: 1.5rem 3rem 1.5rem 1rem;
    }
    .ps-img {
        margin-bottom: 30px;
    }
    .box26  {
        width: 90%;
        margin: 0 auto;
        margin-top: 40px;
        margin-bottom: 30px;
    }
    .box26 p {
        padding: 15px;
    }
    .cause-ol .cause-li:before {
        font-size: 20px;
        width: 33px;
        height: 33px;
    }
    .waku1-ul {
        font-size: 18px;
        list-style-type: disc;
        padding: 30px 10px 0px 20px;
    }
    .waku1 {
        width: 90%;
        margin: 0 auto;
        margin-bottom: 30px;
    }
    .waku2 {
        width: 90%;
        margin: 30px auto;
    }
    .waku3 {
        width: 90%;
        margin: 0 auto;
    }

}


th,td {
    border: solid 1px;  /* 枠線指定 */
    padding: 10px;      /* 余白指定 */
}
 
th,td {
    border: solid 1px;              /* 枠線指定 */
}
 
table {
    border-collapse:  collapse;     /* セルの線を重ねる */
}

table {
    margin-left: auto;
    margin-right: auto;
}



@media screen and (min-width: 768px){
.br-sp {display: none; }
}



.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}