@charset "UTF-8";
/* CSS Document */
/*--------------------
reset
--------------------*/
* {	margin: 0; padding: 0;}
html, body, div, span, h1, h2, h3, h4, h5, h6, p, strong, sub, sup, table, caption, tbody, tfoot, thead, tr, th, td, main, article, footer, header, section, audio, video { margin: 0; padding: 0; border: 0; letter-spacing: 0; font-size: 100%; font: inherit; vertical-align: baseline;}
main, article, footer, header, section { display: block;}
dl, dt, dd, ul, li, ol, ul { margin: 0; padding: 0; list-style: none;}
table {	border-collapse: collapse; border-spacing: 0;}
a {	margin: 0; padding: 0; background: transparent;}
img{ max-width: 100%; margin: 0 auto; line-height: 0; vertical-align: top; border-style: none; display: block;}
.clearfix:after { content:" "; display: block; clear: both;}

/*====================
content
====================*/
html {
    font-size: 100%;
}
body {
    line-height: 1;
    background-color: #fbfbfb;
    text-align: left;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    color: #363636;
    font-weight: 500;
}
/* a
--------------------*/
a img {
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
a:hover img {
    opacity: 0.75;
    filter: alpha(opacity=75);
}
a {
    width: 100%;
    text-decoration: none;
    display: inline-block;
    color: #888888;
    font-weight: bold;
}
a:hover { text-decoration: underline;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt40 {margin-top: 40px;}
.mt50 {margin-top: 50px;}
.mt60 {margin-top: 60px;}
@media screen and (max-width: 750px) {
	.mt20 {margin-top: 3vw;}
	.mt30 {margin-top: 3.5vw;}
	.mt40 {margin-top: 4.5vw;}
	.mt50 {margin-top: 5vw;}
	.mt60 {margin-top: 6vw;}
}
/************************************************
wrapper
************************************************/
#wrapper {
  max-width: 750px;
  margin: 0 auto;
  font-family: '游ゴシック', 'Yu Gothic', '游ゴシック体', YuGothic, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  box-sizing: border-box;
  position: relative;
  color: #333;
  background: #fff;
  box-shadow: 0px 0px 26px -6px rgba(0,0,0,0.3);
}
#wrapper *{
  box-sizing: border-box;
}
#wrapper .img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  margin: 0 auto;
}
#wrapper h1, #wrapper h2 {
  line-height: 1;
}

/************************************************
header
************************************************/
#wrapper .header {
}

/************************************************
section
************************************************/
.bg-pink {background: #ffbdbd;}
#wrapper .q_area p,
#wrapper .info_area p {
  margin: 0;
  padding: 0;
  line-height: 1;
}
#wrapper .q_area + .q_area {margin-top: 80px;}
#wrapper .q_area .inner {
	background: url(../img/bg.jpg) center top / 100% auto repeat-y;
}
#wrapper .question {
	position: relative;
}
#wrapper .question ul {
	list-style: none;
}
#wrapper .question li {
	cursor: pointer;
	position: relative;
  -webkit-tap-highlight-color: transparent;
}
#wrapper .question li img.on {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 1;
}

#wrapper #q1 ul,
#wrapper #q2 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#wrapper [id^="q"] li {
	width: calc(630 / 750 * 100%);
	cursor: pointer;
}
#wrapper [id^="q"] li + li {margin-top: 20px;}
#wrapper .q1_on,
#wrapper .q2_on,
#wrapper .q3_on {
  display: none;
  position: relative;
}
#wrapper .q1_on.display + .bottom {display: none}
.q_area.q3 {
	padding-bottom: 60px;
	position: relative;
}
.q_area.q3::before {
	content: "";
	width: 100%;
	height: 75px;
	background: #ffbdbd;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position: absolute;
	left: 0;
	top: 100%;
	top: calc(100% - 1px);
}
.q_end {
	background: #ffe8e5;
	padding: 155px 0 200px;
}
.acc-open {
	width: 630px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	cursor: pointer;
}
.next {cursor: pointer;}
.acc-open::before{
	content: "";
	width: 50px;
	height: 50px;
	background: url(../img/arrow.png) center center / 24px auto no-repeat #fff;
	border-radius: 100%;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translate(0, -50%) rotate(180deg);
}
.acc-open.active::before{
	transform: translate(0, -50%);
}
.acc-contents {
	display: none;
	padding: 30px 0 0;
}
.shorei {padding: 0 6.5%;}
@media screen and (max-width: 750px) {
	#wrapper .q_area + .q_area {margin-top: 8vw;}
	#wrapper [id^="q"] li + li {margin-top: 3vw;}
	.q_area.q3 {
		padding-bottom: 8vw;
	}
	.q_area.q3::before {
		height: 10vw;
	}
	.q_end {
		padding: 17vw 0 28vw;
	}
	.acc-open {
		width: calc(630 / 750 * 100%);
	}
	.acc-open::before{
		width: 7vw;
		height: 7vw;
		background: url(../img/arrow.png) center center / 3vw auto no-repeat #fff;
		right: 3vw;
	}
	.acc-contents {
		padding: 4vw 0 0;
	}
	[class^="next"] {
		width: calc(630 / 750 * 100%);
		margin-left: auto;
		margin-right: auto;
	}
}

/************************************************
CV
************************************************/
#wrapper .cv_wrap {
  position: relative;
}
#wrapper .cv_area {
  position: absolute;
  bottom: 230px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
}
#wrapper .cv_area .btn {
  margin: 3% 0 0;
}
#wrapper .cv_area .btn-anime {
  animation: anime1 0.5s ease 0s infinite alternate;
  transform-origin:center;
}
@media screen and (max-width: 750px) {
  #wrapper .cv_area {
    bottom: 47vw;
    width: 86%;
  }
}
@keyframes anime1 {
  from {
    transform: scale(0.96,0.96);
  }
  to {
    transform: scale(1,1);
  }
}

/*====================
footer
====================*/
#wrapper .footer_link {
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin-top: 2rem;
}
#wrapper .footer_link p a {
    margin-top: 1em;
    text-align: center;
	font-size: 14px;
}
#wrapper footer #copy p {
    padding: 2em 0 3em;
    font-size: 14px;
    color: #888888;
    text-align: center;
    line-height: 1.5;
}
@media screen and (max-width: 750px) {
	#wrapper .footer_link {
	  margin-top: 5vw;
	}
	#wrapper .footer_link p a {
		font-size: 3vw;
	}
	#wrapper footer #copy p {
	    padding: 2em 0 3em;
	    font-size: 3vw;
	}
}

.noSurgical {
  overflow: hidden;
  padding-inline: 60px;
}
.noSurgical-ttl {
  width: 70%;
  margin-inline: auto;
  margin-bottom: 40px;
}
.noSurgical .accordion + .accordion {
  margin-top: 20px;
}
.noSurgical .accordion-trigger .ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #886663;
  border-radius: 20px 20px 0 0;
  font-weight: 700;
  font-size: 25px;
  color: #fff9bc;
  padding: 10px;
  position: relative;
}
.noSurgical .accordion-trigger .ctn {
  background: #f4959b;
  padding: 20px 30px 15px;
}
.noSurgical .accordion-trigger .ctn dl {
  display: flex;
  align-items: center;
  color: #fff;
}
.noSurgical .accordion-trigger .ctn dl + dl {
  border-top: 0.1rem dashed currentColor;
  margin-top: 20px;
  padding-top: 30px;
}
.noSurgical .accordion-trigger .ctn dl dt {
  width: 30%;
  flex: 1;
  flex-shrink: 0;
  font-weight: 700;
  font-size: 25px;
  line-height: 1.2857142857;
  letter-spacing: 0.05em;
}
.noSurgical .accordion-trigger .ctn dl dd {
  display: flex;
  align-items: center;
  gap: 0 20px;
}
.noSurgical .accordion-trigger .ctn dl dd .lf {
  flex-shrink: 0;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.noSurgical .accordion-trigger .ctn dl dd .lf .tag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 35px;
  border: 0.1rem solid currentColor;
  margin-block: 4px 10px;
}
.noSurgical .accordion-trigger .ctn dl dd .lf p {
  line-height: 1;
}
.noSurgical .accordion-trigger .ctn dl dd .rg {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.noSurgical .accordion-trigger .ctn dl dd .rg img {
	max-width: inherit;
	width: auto;
	height: 65px;
}
.noSurgical .accordion-trigger .ctn .btn {
  display: grid;
  grid-template-columns: 48% 48%;
  gap: 4%;
  padding: 20px 50px 0;
}
.noSurgical .accordion-trigger .ctn .btn span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 35px;
  background: #ffeff0;
  border-radius: 1000px;
  font-weight: 700;
  color: #886663;
}
@media screen and (max-width: 750px) {
	.noSurgical {
	  padding-inline: 8vw;
	}
	.noSurgical-ttl {
	  width: 70%;
	  margin-inline: auto;
	  margin-bottom: 5vw;
	}
	.noSurgical .accordion + .accordion {
	  margin-top: 2.5vw;
	}
	.noSurgical .accordion-trigger .ttl {
	  border-radius: 3vw 3vw 0 0;
	  font-size: 3.5vw;
	  padding: 2.5vw 2vw 2vw;
	}
	.noSurgical .accordion-trigger .ctn {
	  padding: 3vw 4vw 2.5vw;
	}
	.noSurgical .accordion-trigger .ctn dl + dl {
	  margin-top: 3vw;
	  padding-top: 4vw;
	}
	.noSurgical .accordion-trigger .ctn dl dt {
	  font-size: 3.5vw;
	}
	.noSurgical .accordion-trigger .ctn dl dd {
		font-size: 2.5vw;
	  gap: 0 3vw;
	}
	.noSurgical .accordion-trigger .ctn dl dd .lf .tag {
	  width: 16vw;
	  height: 5vw;
	  margin-block: 0 1vw;
	}
	.noSurgical .accordion-trigger .ctn dl dd .rg img {
		max-width: inherit;
		width: auto;
		height: 8vw;
	}
	.noSurgical .accordion-trigger .ctn .btn {
	  display: grid;
	  grid-template-columns: 48% 48%;
	  gap: 4%;
	  padding: 3vw 5vw 0;
	}
	.noSurgical .accordion-trigger .ctn .btn span {
		font-size: 2.5vw;
	  height: 5.5vw;
	}
}


/*====================
risk
====================*/
.mhlw-risk {
	width: 630px;
	margin: 40px auto 0;
}
.mhlw-risk>.mhlw-risk-single {
	padding: 10px;
	font-size: 14px;
	line-height: 1.5;
	background-color: #F2F2F2;
	overflow: hidden;
}
.mhlw-risk>.mhlw-risk-single ._text-bold {font-weight: 600;}
@media screen and (max-width: 750px) {
	.mhlw-risk {
		width: 84%;
		margin: 5vw auto 0;
	}
	.mhlw-risk>.mhlw-risk-single {
		padding: 1.5vw;
		font-size: 2.5vw;
	}
}



