html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#000}
input[type=color],input[type=date],input[type=email],input[type=month],input[type=name],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],select,textarea{font-size:1pc;padding:5px;border:1px solid #ddd;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);background:#fff;background:-webkit-gradient(linear,left top,left bottom,from(#f8f8f8),to(#fff));background:-moz-linear-gradient(top,#f8f8f8,#fff);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffeeeeee,endColorstr=#ffffffff);zoom:1}select{background:#fcfcfc}input[type=color]:hover,input[type=date]:hover,input[type=email]:hover,input[type=month]:hover,input[type=name]:hover,input[type=number]:hover,input[type=password]:hover,input[type=tel]:hover,input[type=text]:hover,input[type=time]:hover,select:hover,textarea:hover{outline:0;border:1px solid #bbb;box-shadow:none;background:#fff}input[type=color]:focus,input[type=date]:focus,input[type=email]:focus,input[type=month]:focus,input[type=name]:focus,input[type=number]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,select:focus,textarea:focus{outline:0;border:1px solid #00bce9;box-shadow:0 0 5px #2da1ec;background:#fff}input[type=checkbox]{-webkit-appearance:none;position:relative;border-radius:3px;border:2px solid #b4b4b4;-webkit-box-sizing:border-box;width:20px;height:20px;background:-webkit-gradient(linear,left top,left bottom,from(#e1e1e1),to(#fff));vertical-align:middle}input[type="checkbox"]:checked:before{left:1px;width:8px;-webkit-transform:rotate(45deg);-webkit-transform-origin:right center}input[type="checkbox"]:checked:after,input[type="checkbox"]:checked:before{position:absolute;top:11px;display:block;-webkit-box-shadow:0 1px 1px #000;content:"";height:4px;background:#585858}input[type="checkbox"]:checked:after{left:6px;width:14px;-webkit-transform:rotate(-53deg);-webkit-transform-origin:left center}input[type=checkbox]:hover,input[type=radio]:hover{outline:0;box-shadow:none;background:#fff}input[type=checkbox]:focus,input[type=radio]:focus{outline:0;border:2px solid #00bce9;box-shadow:0 0 5px #2da1ec;background:#fff}input[type=radio]{-webkit-appearance:none;position:relative;margin-right:5px;border-radius:14px;border:2px solid #b4b4b4;-webkit-box-sizing:border-box;width:1pc;height:1pc;background:-webkit-gradient(linear,left top,left bottom,from(#e1e1e1),to(#fff));vertical-align:middle}input[type="radio"]:checked:before{position:absolute;left:50%;top:50%;display:block;margin:-4px 0 0 -4px;content:"";border-radius:5px;width:8px;height:8px;background:-webkit-gradient(linear,left top,left bottom,from(#585858),to(#585858))}textarea{width:100%;resize:none}

:root {
  --themecolor: #59b3d8;
  --backcolor: #f2f7fa;
  --mincho:
    "Hiragino Mincho ProN",   /* macOS */
    "Hiragino Mincho Pro",
    "Yu Mincho",             /* macOS / Windows（游明朝） */
    "YuMincho",
    "MS PMincho",            /* Windows（プロポーショナル明朝） */
    "MS Mincho",             /* Windows（等幅／標準明朝） */
    "Noto Serif JP",         /* インストールされていれば（Googleの明朝系） */
    serif;                   /* 最終フォールバック */
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
}

body {
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  padding: 0;
  margin: 0;
  color: #333;
  font-size: 1.6rem;
  line-height: 1.5;
  font-family: Tahoma, Verdana, Segoe, sans-serif;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.center {
  text-align: center;
}

.bold {
  font-weight: 700;
}

.pointer {
  cursor: pointer;
}

.relative {
  position: relative;
}

.width_10 {
  width: 10%;
}

.width_20 {
  width: 20%;
}

.width_30 {
  width: 30%;
}

.width_40 {
  width: 40%;
}

.width_50 {
  width: 50%;
}

.width_60 {
  width: 60%;
}

.width_70 {
  width: 70%;
}

.width_80 {
  width: 80%;
}

.width_90 {
  width: 90%;
}

.width_100 {
  width: 100%;
}

.l_h_200 {
	line-height : 200%;
}

.nowrap {
	white-space: nowrap;
}

.m_t_10px {
  margin-top: 10px;
}

.m_b_10px {
  margin-bottom: 10px;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

.font_1_4 {
  font-size: 1.4rem;
}

input, button, textarea {
  -webkit-appearance: none;
  appearance: none;
}

/* link */
a{/*リンクされた文字*/
  color: #333;
  text-decoration: none;
}
a:link {/*未訪問のリンク*/
  color: #333;
}
a:visited {/*訪問後のリンク*/
  color: #333;
}
a:hover {/*マウスをのせたとき*/
  text-decoration: underline;
}
a:active {/*クリック中*/
  text-decoration: underline;
}

.main {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.main_h1 {
  position: absolute;
  top: 38%;
  color: #0b465f;
  font-family: var(--mincho);
  font-size: 8.3vw;
  font-weight: 800;
  line-height: 1.4em;
  letter-spacing: 0.17em;
  white-space: nowrap;
}

.img_logo_main,
.img_campaign,
.img_button {
  position: absolute;
}

.img_logo_main {
  top: 55%;
}

.img_campaign {
  bottom: 16%;
}

.img_button {
  bottom: 3%;
  cursor: pointer;
}

.img_button:hover {
  opacity: 0.9;
}

.img_pict_user {
  position: absolute;
  right: 3%;
  width: 25%;
}

@media screen and (max-width:767px) {
  .main_h1,
  .img_logo_main,
  .img_campaign,
  .img_button {
    left: 50%;
    transform: translateX(-50%);
  }
  .img_logo_main {
    width: 80%;
  }
  .img_campaign {
    width: 90%;
  }
  
  .img_button {
    width: 90%;
  }

  .img_pict_user {
    top: 20%;
  }
}

@media screen and (min-width:768px) {
  .main {
    
  }
  
  .main_h1 {
    top: 5%;
    left: 5%;
    color: #fff;
    font-size: 4vw;
    font-weight: 500;
    line-height: 1.5em;
    letter-spacing: 0.17em;
  }

  
  .img_logo_main,
  .img_campaign,
  .img_button {
    left: 5%;
    width: 40%;
  }
  .img_logo_main {
    top: 30%;
  }

  .img_campaign {
    bottom: 21%;
  }

  .img_button {
    bottom: 7%;
  }

  .img_pict_user {
    right: 3%;
    bottom: 7%;
    width: 15%;
  }

}

.life_healmate {
  color: var(--themecolor);
  text-align: center;
  font-size: 4rem;
  font-weight: 500;
  font-family: var(--mincho);
  margin: 50px 0 20px;
  line-height: 1.3em;
}

.life_healmate_kana {
  font-size: 3.5rem;
}

.check_area {
  width: 330px;
  margin: 0 auto;
}

.check_area li {
  margin: 5px 0;
}

li.checked {
  position: relative;
  padding-left: 28px;
}

li.checked::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 30%;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 18px;
  border: solid var(--themecolor);
  border-width: 0 3px 5px 0;
}

li.checked::after {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 18px;
  height: 18px;
  border: 2px solid var(--themecolor);
}

.bk_theme {
  background: var(--backcolor);
  overflow: hidden;
}

.find_healmate {
  font-family: var(--mincho);
  font-size: 5vw;
  font-weight: 400;
  line-height: 1.5em;
  text-align: center;
  margin: 80px 0 20px;
}

.find_img {
  max-width: 1000px;
  margin: 50px 10px;
}

@media screen and (min-width:768px) {
  .find_healmate {
    font-size: 3rem;
  }
  .find_img {
    margin: 50px auto;
  }
}

.mind {
  text-align: center;
  font-size: 2rem;
  font-weight: 400;
  margin-top: 30px;
}

.triangle {
  position: relative;
}

.triangle::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 270px solid transparent;
  border-right: 270px solid transparent;
  border-top: 50px solid #fff;
}

.can_healmate {
  text-align: center;
  color: var(--themecolor);
  font-size: 5.5vw;
  font-family: var(--mincho);
  margin: 30px 0;
}

.can_healmate_kana {
  font-size: 4.5vw;
}

@media screen and (min-width:768px) {
  .can_healmate {
    font-size: 4rem;
  }
  .can_healmate_kana {
    font-size: 3.3rem;
  }
}

.can_area {
  position: relative;
  padding-top: 50px;
}

.can_wrapper {
  position: relative;
  max-width: 1000px;
  margin: 0 30px;
}

.can_container01_left {
  padding-right: 50px;
  width: 100%;
}

.can_container01_right {
  width: 90%;
  margin: 20px auto 0;
}

.can_container02_left {
  width: 80%;
  text-align: center;
  padding: 20px 0;
  background: #f2f7fa;
}

.can_container02_right {
  width: 90%;
}

@media screen and (min-width:768px) {
  .can_wrapper {
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
  }
  .can_container01_right {
    width: 80%;
  }
  .can_container02_right {
    width: 100%;
    padding-left: 50px;
  }

}

.no {
  color: var(--themecolor);
  font-size: 7rem;
  font-family: var(--mincho);
  line-height: 1em;
}

.can_title {
  font-size: 3rem;
  font-weight: 500;
  font-family: var(--mincho);
}

.can_text {
  margin-top: 20px;
}

.can_deco_left,
.can_deco_right {
  background: var(--backcolor);
  position: absolute;
  top: 0;
  width: 90%;
  height: 30%;
}

.can_deco_left {
  left: 0;
}

.can_deco_right {
  right: 0;
}

@media screen and (min-width:768px) {
  .can_deco_left,
  .can_deco_right {
    width: 60%;
  }
  .can_deco_left,
  .can_deco_right {
    height: 40%;
  }
}


.can_marker {
  font-weight: 700;
  background-color: #fef9cb;
}

.can_color {
  color: #baa575;
}

.can_margin {
  margin-top: 50px;
}

.img_wrapper {
  max-width: 1000px;
  margin: 80px auto;
  position: relative;
}

.img_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
}

.img_area img {
  width: 33%;
}

.img_title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--themecolor);
  color: #fff;
  padding: 10px 20px;
  font-size: 5vw;
  white-space: nowrap;
  z-index: 1;
}

@media screen and (min-width:768px) {
  .img_title {
    font-size: 4rem;
  }
}

.price_wrapper {
  background: #f1f3f4;
}

.price_container {
  max-width: 1000px;
  margin: 0 auto;
}

.price_table {
  padding: 30px 0 0;
}

.price_table div {
  width: 90%;
  margin: 0 auto 30px;
}

.price_text {
  padding-bottom: 30px;
}

.circle {
  display: inline-block;
  margin-right: 5px;
  width: 10px;
  height: 10px;
  background: #c4ced3;
  border-radius: 50%;
}

@media screen and (min-width:768px) {
  .price_table {
    padding: 50px 0 20px;
    display: flex;
    justify-content: space-between;
  }
  .price_table div {
    width: 49%;
  }
}


.result {
  text-align: center;
  color: var(--themecolor);
  font-size: 6vw;
  font-weight: 700;
  font-family: var(--mincho);
  letter-spacing: 0.1em;
  margin: 30px 0;
}

.result_marker {
  background: linear-gradient(transparent 65%, #fef9cb 35%);
  line-height: 1;
}

.result_kana {
  font-size: 5vw;
}

@media screen and (min-width:768px) {
  .result {
    font-size: 5rem;
  }
  .result_kana {
    font-size: 4.2rem;
  }
}

.form_container {
  background: #f1f3f4;
  padding: 30px 0;
}

.form_container section {
  max-width: 1000px;
  margin: 0 10px;
}

@media screen and (min-width:768px) {
  .form_container section {
    margin: 0 auto;
  }
}

.form_title {
  text-align: center;
  font-size: 3rem;
  font-weight: 500;
}

.form_container dt {
  font-weight: 600;
  margin-bottom: 10px;
}

.form_container dd {
  margin-bottom: 25px;
}

.form_container input[type="email"],
.form_container input[type="password"],
.form_container input[type="text"] {
	width: 100%;
}

.need {
  color: #e3706e;
  border: 1px solid #e3706e;
  border-radius: 15px;
  font-weight: 500;
  font-size: 1.1rem;
  padding: 2px 10px;
}

.change {
  color: #00bfff;
  border: 1px solid #00bfff;
  border-radius: 15px;
  font-weight: 500;
  font-size: 1.1rem;
  padding: 2px 10px;
}

.marry_check {
	background: #f1eae0;
	padding: 20px;
	text-align: center;
}

.marry_caution {
	color: #e05e5c;
	font-size: 1.4rem;
}

.pass_caution {
	font-size: 1.4rem;
}

.regist_button_area {
	text-align: center;
	margin: 30px 0;
}

.btn_regist {
	background: #f1b15a;
	color: #fff;
	border-radius: 10px;
	width: 90%;
	font-size: 6vw;
	font-weight: 600;
	border: none;
	padding: 20px;
}

@media screen and (min-width:600px) {
  .regist_button_area {
    margin: 30px;
  }
  .btn_regist {
    width: 600px;
    font-size: 3rem;
    letter-spacing: 0.6em;
  }
}

.btn_regist:hover {
  opacity: 0.7;
  cursor: pointer;
}

.regist_caution {
  border: 1px solid #d2cec5;
  padding: 20px 10px;
  line-height: 200%;
  margin: 30px 0;
}

.regist_check {
	border: 1px solid #d2cec5;
	padding: 10px;
	margin: 10px 0;
}

.regist_check ul {
	line-height: 2;
}

.regist_check li {
	position: relative;
	padding-left: 23px;
}

.regist_check li::after {
	content: '';
	display: block;
	position: absolute;
	top: .5em;
	left: 5px;
	width: 12px;
	height: 7px;
	border-left: 3px solid #9c9c9c;
	border-bottom: 3px solid #9c9c9c;
	transform: rotate(-45deg);
}


header {
  display: flex;
  justify-content: space-between;
  width: 100%;
  background: #fff;
  height: 64px;
  position: fixed;
  inset: 0;
  z-index: 10;
}

@media screen and (min-width: 1600px) {
  header {
    width: 1600px;
    height: 78px;
    margin: 0 auto;
  }
}

@media screen and ( max-width:1599px) {
  .logo_header {
    margin: 0 0 0 20px;
  }
}

@media screen and (min-width:600px) and ( max-width:1599px) {
  header {
    height: 78px;
  }
}

@media screen and ( max-width:599px) {
  .logo_header {
    margin: 5px 0 0 10px;
    width: 80%;
  }
}

.head_button {
  display: flex;
}

.head_button p {
  color: #fff;
  font-size: 2.3vw;
}

.head_button div {
  padding: 5px;
  text-align: center;
  width: 100px;
}

@media screen and (min-width:600px) {
  .head_button div {
    padding: 10px;
    text-align: center;
    width: 120px;
  }
  .head_button p {
    font-size: 1.2rem;
  }
}

.head_button div:hover {
  opacity: 0.7;
  cursor: pointer;
}

.head_button a:first-child div {
  background: #f1b15a;
}

.head_button a:last-child div {
  background: #d2cec5;
}

.head_button a:hover {
	text-decoration: none;
}


.license_area {
  margin: 50px 0 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.license_area p {
  margin: 10px 0 10px 0;
}

@media screen and (min-width:600px) {
  .license_area {
    flex-direction: row;
  }
  .license_area p {
    margin: 0 20px 0 0;
  }
}

.japhic {
  height: 100px;
}

.footer_nav {
	margin: 20px 0 50px;
	text-align: center;
}

footer {
	color: #b7a998;
	font-size: 1.4rem;
	text-align: center;
	padding: 30px 0;
}

/* 下層 */
.pageTitleWrapper h1 {
  font-family: var(--mincho);
  font-weight: 700;
  text-align: center;
  font-size: 3rem;
  margin: 100px 0 20px;
}

.lowerTable {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

.lowerTable th,
.lowerTable td {
  border: 1px solid #f6f4f1;
  padding: 20px;
}

.lowerTable th {
  background: #eee8e0;
  text-align: center;
}

.lowWrapper {
  max-width: 1000px;
  margin: 0 10px;
}

.regulationTitle {
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 20px;
}

.regulationText {
  margin-top: 5px;
}

.textIndent {
  text-indent: -1em;
  padding-left: 1em;
}

@media screen and (max-width:599px) {
	.lowerTable th {
		text-align: left !important;
		padding: 10px 20px;
	}
	.lowerTable th,
	.lowerTable td {
		display: block;
		width: 100%;
		border-bottom: none;
	}
}

@media screen and (min-width:600px) {
  .lowerTable th {
    width: 30%;
  }
  .lowWrapper {
    margin: 0 auto;
  }
}

/* css 一番下に書く */
.pcOnly,
.pcBlockOnly {
  display: none;
}

.spOnly {
  display: inline;
}

.spBlockOnly {
  display: block;
}

@media screen and (min-width:768px) {
  .pcOnly {
    display: inline;
  }
  .pcBlockOnly {
    display: block;
  }
  .spOnly,
  .spBlockOnly {
    display: none;
  }
}

@media screen and (max-width:599px) {
  .spCenter {
    text-align: center;
  }
}

