@charset "UTF-8";
*{
	margin: 0px;
	padding: 0px;
}

/* --------------------------------------------- */
/* sp (全環境に共通のデザイン) */
/* --------------------------------------------- */
body{
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-style: normal;
	font-weight: 700;
	color: #1F2D43;
	background-color: #FFFFFF;
}

.wrap {
	overflow: hidden;
}

img{
	width: 100%;
}

ul {
	list-style-type: none;
	padding: 0;
}
a {
	text-decoration: none;
}

/*section-top*/
.section-top .keyvisual{
	height: 100vh;
	position: relative;
	padding: 0 6%;
}

.section-top .keyvisual .mainvisual img{
	width: 150%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	z-index: -1;
}
.section-top .keyvisual .logo {
    position: absolute;
    width: 58%;
    bottom: 12vh;
	margin: 0 42% 0 0;
}

.section-top .keyvisual .logo .sub-ttl {
	    color: #0062FF;
    font-size: 11px;
	margin-bottom: 1%;
	padding-left: 1%;
}
.section-top .keyvisual .catchcopy {
	padding: 5% 0 0 65%;
}

.section-top .keyvisual .catchcopy .catchcopy-txt {
	-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	color: #0062FF;
	font-size: 22px;
	line-height: 1.8;
	letter-spacing: 0.2em;
}
.section-top .ch-blue {
	position: absolute;
	bottom: 5vh;
	right: -3%;
	width: 35%;
	transform: rotate(45deg);
}
/*scroll*/
.scroll {
    position: absolute;
    bottom: 7vh;
    left: 22vw;
}
.scroll p{
	font-size: 10px;
	color: #FFB188;
	letter-spacing: 0.05em;
}
.scroll .dots::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  top: 6px;
  left: calc(50% - 3px);
  box-shadow: 0 6px 0 0 #FFB188, 0 18px 0 0 #FFB188, 0 30px 0 0 #FFB188;
  -webkit-animation: scroll-ball 1.2s ease-in-out infinite;
          animation: scroll-ball 1.2s ease-in-out infinite;
  margin: 0 auto;
}

@-webkit-keyframes scroll-ball {
  0%, 100% {
    box-shadow: 0 6px 0 0 rgba(255, 177, 136, 0.25), 0 18px 0 0 rgba(255, 177, 136 0.25), 0 30px 0 0 rgba(255, 177, 136, 0.25);
  }
  25% {
    box-shadow: 0 6px 0 0 #FFB188, 0 18px 0 0 rgba(255, 177, 136, 0.25), 0 30px 0 0 rgba(255, 177, 136, 0.25);
  }
  50% {
    box-shadow: 0 6px 0 0 rgba(255, 177, 136, 0.25), 0 18px 0 0 #FFB188, 0 30px 0 0 rgba(255, 177, 136, 0.25);
  }
  75% {
    box-shadow: 0 6px 0 0 rgba(255, 177, 136, 0.25), 0 18px 0 0 rgba(255, 177, 136, 0.25), 0 30px 0 0 #FFB188;
  }
}

@keyframes scroll-ball {
  0%, 100% {
    box-shadow: 0 6px 0 0 rgba(255, 177, 136, 0.25), 0 18px 0 0 rgba(255, 177, 136, 0.25), 0 30px 0 0 rgba(153, 153, 153, 0.25);
  }
  25% {
    box-shadow: 0 6px 0 0 #FFB188, 0 18px 0 0 rgba(255, 177, 136, 0.25), 0 30px 0 0 rgba(255, 177, 136, 0.25);
  }
  50% {
    box-shadow: 0 6px 0 0 rgba(255, 177, 136, 0.25), 0 18px 0 0 #FFB188, 0 30px 0 0 rgba(255, 177, 136, 0.25);
  }
  75% {
    box-shadow: 0 6px 0 0 rgba(255, 177, 136, 0.25), 0 18px 0 0 rgba(255, 177, 136, 0.25), 0 30px 0 0 #FFB188;
  }
}
/*section-about*/

.section-about {
	position: relative;
	margin-bottom: 100px;
}

.section-about .box-about {
	background-color: #FFECE3;
	border-radius: 40px;
	margin: 9% 6%;
    padding: 10% 8%;
}
.section-about .box-about .inner-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}
.section-about .box-about .inner-flex .inner-left{
	width: 60%;
}
.section-about .box-about .inner-flex .inner-left h3{
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.05em;
}
.section-about .box-about .inner-flex .inner-right{
	width: 30%;
}
.section-about .box-about > p{
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: 11px;
	font-weight: 400;
    margin: 20px 0;
	letter-spacing: 0.1em;
}

/*accordion*/
.accordion {
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}
.accordion-ttl {
	background-color: #ffffff;
	position: relative;
    cursor: pointer;
    font-size: 10px;
    padding: 12px;
	text-align: center;
}
.accordion-ttl span {
	position: absolute;
 vertical-align: middle;
   line-height: 0;
	top: 30%;
  width: 10px;
  height: 10px;
  margin: 0 10px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
	transition: .3s;
}
.accordion-ttl.open span {
	transform: rotate(225deg);
	top: 43%;
}
.inner-accordion {
	display: none;
	padding: 3%;
	background-color: #fff;
	text-align: center;
}
.inner-accordion img {
	width: 95%;
}


/*section-contents*/
.section-contents{
	position: relative;
}
.section-contents .ch-pink{
	width: 70%;
	position: absolute;
	top: -64.3px;
	right: 8%;
}
.section-contents .contents-bg {
	background-color: #FFC7A8;
	border-radius: 35px;
	padding: 55px 0;
}
.section-contents .list-research {
	width: 90%;
	margin: 0 auto;
	position: relative;
}
.section-contents .list-research li {
	position: relative;
	margin-bottom: 40px;
}
.section-contents .list-research li:last-child {
	margin-bottom: 0px;
}
.section-contents .list-research li .inner-research {
	background-image: url("images/box_research.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	padding: 35px 22px;
}
.section-contents .list-research li .inner-research .research-ttl{
	position: absolute;
	width: 63%;
}
.section-contents .list-research li:nth-child(odd) .inner-research .research-ttl{
    left: -11%;
	top: -13%;
}
.section-contents .list-research li:nth-child(even) .inner-research .research-ttl {
	right: -11%;
	top: -13%;
}
.section-contents .list-research li .inner-research h4{
	margin-top: 20px;
	font-size: 12px;
	line-height: 1.8;
}
.section-contents .list-research li .btn-viewmore {
	display: block;
	position: absolute;
	width: 30px;
	right: 15px;
	bottom: 35px;
}
.section-contents .list-research li .btn-viewmore img{
	width: 19px;
	margin-left: -7px;
}
.section-contents .list-research li .btn-viewmore::before{
	content: '';
	position: absolute;
	border-radius: 50%;
	width: 25px;
	height: 25px;
	border: 1px solid #1F2D43;
}
/*info*/
div.info {
	position: relative;
	width: 70%;
	margin: 40px auto 40px;
}
.info .ch-green {
	width: 55%;
    margin-left: 50px;
}
.info .btn-info{
	margin-top: -8.7px;
	font-size: 12px;
	color: #1B2D45;
    text-align: center;
    display: block;
    padding: 14px 0;
    background: #ffffff;
    border-radius: 25px;
    border: 1px solid #1B2D45;
	position: relative;
}
.info .btn-info::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 25px;
	background-color: #FFC7A8;
	border: 1px solid #1B2D45;
	transform: translate(0, 5px);
	z-index: -1;
	
}

/*footer*/
.footer {
	background-color: #FFC7A8;
	padding: 24px 6%;
}
.footer .list-sns {
	margin: 0 0 0 auto;
	width: 30%;
	margin-bottom: 15px;
}
.footer .list-sns ul {
	display: flex;
	justify-content: space-between;
}
.footer .list-sns ul li {
	width: 20%;
}
.footer .address {
	margin: 0 0 0 auto;
	width: 82%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer .address .inner-left {
	width: 18%;
}
.footer .address .inner-right {
	width: 78%;
}
.footer .address .inner-right p {
	font-size: 10px;
}


/* ------------------------------------ */
/* PC */
/* ------------------------------------ */
@media (min-width: 800px) {
	.section-top .keyvisual{
	padding: 0 13.4vw;
}
	.section-top .keyvisual .mainvisual img{
	width: 108vh;
	top: 60%;
	left: 68%;
}
	.section-top .keyvisual .logo {
    width: 27.31%;
    bottom: 38.05vh;
	left: 17vh;
}
	.section-top .keyvisual .catchcopy {
		padding: 7% 0 0 90%;
}

	.section-top .keyvisual .catchcopy .catchcopy-txt {
	font-size: 2rem;
}
	 .section-top .ch-blue {
	bottom: -70vh;
}
	
}