@charset "utf-8";

/* common
-------------------------------------------------------*/
.contents_inner {
font-family: 'Noto Sans JP', sans-serif;
font-size: 13px;
line-height: 1;
color: #000;
height: 100%;
min-width: 320px;
}
.contents_inner a {
color: #ff75bd;
text-decoration: underline;
transition: .2s;
}
.contents_inner a:hover {
opacity: 0.7;
}
.contents_inner b {
font-weight: bold;
}
.contents_inner img {
width: 100%;
width: auto;
max-width: 100%;
vertical-align: top;
}
.contents_inner ol, .contents_inner ul {
list-style: none;
}
.contents_inner dl::before, .contents_inner dl::after,
.contents_inner ol::before, .contents_inner ul::before,
.contents_inner ol::after, .contents_inner ul::after {
display: none;
}
.contents_inner blockquote, q {
quotes: none;
}
.contents_inner blockquote:before, .contents_inner blockquote:after,
.contents_inner q:before, .contents_inner q:after {
content: '';
content: none;
}
.contents_inner table {
border-collapse: collapse;
border-spacing: 0;
}
@media screen and (max-width: 768px) {
.contents_inner {
font-size: 90%;
line-height: 1.2;
}
}
.contents_inner .sp {
    display: none;
}
@media screen and (max-width: 768px) {
	.contents_inner .pc {
	display: none;
	}
	.contents_inner .sp {
	display: block;
	}
}
/* page_top
-------------------------------------------------------*/
#page_top {
position: fixed;
bottom: 15px;
right: 10px;
width: 70px;
height: 70px;
cursor: pointer;
background: #AC8BDB;;
border-radius: 50px;
z-index: 1;
display: flex;
justify-content: center;
align-items: flex-end;
z-index: 999;
}
#page_top::after {
content:"";
width: 21px;
height: 21px;
border-top: 5px solid #fff;
border-right: 5px solid #fff;
transform: rotate(-45deg);
position: absolute;
top: 10px;
right: 0;
left: 0;
bottom: 0;
margin: auto;
visibility: visible;
}
@media screen and (max-width:768px){
	#page_top {
	width: 35px;
	height: 35px;
	bottom: 10px;
	}
	#page_top::after {
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	top: 5px;
	}
}
/* common
----------------------------------------------- */
.inner {
max-width: 900px;
margin: 0 auto;
position: relative;
}
@media screen and (max-width: 768px) {
}
/* header 
----------------------------------------------- */
#header {
background: #fff;
padding: 30px;
border-bottom: 1px solid #ddd;
}
#header .logo {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
}
#header .logo01 {
max-width: 388px;
max-width: 310px;
width: 100%;
}
#header .times {
margin: 0 30px;
}
#header .times img {
max-width: 30px;
max-width: 24px;
width: 100%;
}
#header .logo02 {
max-width: 284px;
max-width: 228px;
width: 100%;
}
@media screen and (max-width: 768px) {
	#header {
	padding: 20px;
	}
	#header .logo01 {
	max-width: 287px;
	}
	#header .times {
	margin: 0 15px;
	}
	#header .times img {
	max-width: 20px;
	}
	#header .logo02 {
	max-width: 227px;
	}
}
/* top_box
----------------------------------------------- */
#visual {
background: url("../images/visual_bg.png") no-repeat center center / 100% auto;
background-size: auto 100%;
width: 100%;
height: 550px;
}
#visual .inner {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
padding: 0 20px;
max-width: 1200px;
}
#visual .ttl_box {
padding: 30px;
flex: 1 0 0;
text-align: center;
}
#visual .ttl_box .ttl {
display: inline-block;
text-align: center;
background: #fff;
padding: 60px 40px;
font-weight: bold;
}
#visual .ttl_box .ttl > * {
display: inline-block;
text-align: center;
}
#visual .ttl_box .ttl > *.sub_ttl {
display: block;
font-size: 95%;
letter-spacing: 0.1em;
margin-bottom: 30px;
}
#visual .ttl_box .ttl > *.sub_ttl b {
font-size: 150%;
color: #ff75bd;
font-weight: bold;
}
#visual .ttl_box .ttl > *.main_ttl {
font-weight: bold;
font-size: 150%;
letter-spacing: 0.05em;
color: #5e5d92;
padding-bottom: 20px;
border-bottom: 5px solid #5e5d92;
margin-bottom: 30px;
}
#visual .ttl_box .ttl > *.num {
font-weight: bold;
font-size: 150%;
letter-spacing: 0.05em;
color: #5e5d92;
display: block;
}
#visual .nav {
flex: 0 1 40%;
border: 5px solid #ac8bdb;
padding: 30px;
border-radius: 20px;
background: #fff;
}
.nav_ttl {
font-weight: bold;
color: #ac8bdb;
font-size: 140%;
margin-bottom: 20px;
text-align: center;
letter-spacing: 0.1em;
}
.nav li {
padding-bottom: 20px;
}
.nav li > * {
display: flex;
color: #000;
text-decoration: none;
align-items: center;
}
.nav li > *:hover {
color: #ff75bd;
}
.nav li > * .num {
display: flex;
width: 40px;
height: 40px;
align-items: center;
justify-content: center;
color: #fff;
background: #ff75bd;
border-radius: 20px;
font-size: 120%;
}
.nav li > * .ttl {
flex: 1 0 0;
padding-left: 10px;
font-size: 105%;
line-height: 1.4;
}
@media screen and (max-width: 1600px) {
	#visual {
	background-size: auto 100%;
	}
	}
@media screen and (max-width: 1100px) {
	#visual .nav {
	flex: 0 1 50%;
	}
	#visual .ttl_box .ttl {
	padding: 60px 20px;
	min-width: 70%;
	}
}
@media screen and (max-width: 800px) {
#visual {
width: 100%;
height: auto;
background: url("../images/visual_bg_sp.png") no-repeat center top /100% auto ;
}
#visual .inner {
display: block;
height: 100%;
padding: 50px 20px;
}
#visual .ttl_box {
padding: 20px;
}
#visual .ttl_box .ttl {
padding: 30px 20px;
}
#visual .ttl_box .ttl > *.sub_ttl {
font-size: 95%;
margin-bottom: 20px;
}
#visual .ttl_box .ttl > *.sub_ttl b {
font-size: 130%;
}
#visual .ttl_box .ttl > *.ttl {
font-size: 200%;
padding-bottom: 10px;
margin-bottom: 20px;
}
#visual .ttl_box .ttl > *.num {
font-size: 150%;
}
#visual .nav {
padding: 20px;
}
.nav_ttl {
font-size: 110%;
margin-bottom: 10px;
}
.nav li {
padding-bottom: 10px;
}
.nav li > * .num {
width: 30px;
height: 30px;
border-radius: 15px;
font-size: 100%;
}
.nav li > * .ttl {
padding-left: 10px;
font-size: 100%;
}
}
/* slide
----------------------------------------------- */
#slide {
margin-bottom: 50px;
}
#slide .inner {
max-width: 100%;
}
.slide img {
width: 100%;
max-width: 200px;
}
.slide li > * {
display: flex;
width: 100%;
height: 100%;
flex-flow: column nowrap;
align-items: center;
justify-content: center;
padding: 20px;
text-align: center;
}
.slide li .name {
color: #5e5d92;
text-align: center;
font-size: 110%;
font-weight: bold;
padding: 10px;
}
/* editor
----------------------------------------------- */
.editor {
display: flex;
justify-content: space-between;
padding: 30px 0;
}
.editor li {
flex: 0 1 32%;
}
.editor img {
width: 100%;
max-width: 120px;
}
.editor li > * {
display: flex;
width: 100%;
height: 100%;
flex-flow: column nowrap;
align-items: center;
justify-content: center;
padding: 20px;
text-align: center;
border-radius: 10px;
}
.editor li .name {
color: #5e5d92;
text-align: center;
font-size: 110%;
font-weight: bold;
padding: 10px;
}
/* article_box
----------------------------------------------- */
.article_box {
position: relative;
border: 5px solid #ac8bdb;
border-radius: 20px;
background: #fff;
padding: 50px;
}
.article_box > .num {
background: #ac8bdb;
width: 120px;
height: 120px;
border-radius: 60px;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 250%;
position: absolute;
left: -50px;
top: -50px;
font-weight: bold;
}
.article_box > .tit {
padding: 0 40px 30px;
font-size: 250%;
color: #ff75bd;
font-weight: bold;
text-align: center;
line-height: 1.4;
}
.article_box > .lead {
padding: 0 40px 30px;
font-size: 150%;
line-height: 1.6;
}
.article_box > .txt {
padding: 0 40px 30px;
font-size: 100%;
line-height: 1.6;
}
ul.article_list {
margin-bottom: 60px;
}
.article_list li {
display: flex;
background: #FFE4F2;
padding: 20px 40px;
margin-bottom: 20px;
border-radius: 10px;
align-items: center;
}
.article_list li > .img {
flex: 0 1 80px;
}
.article_list li > .img .name {
text-align: center;
display: block;
color: #5e5d92;
font-weight: bold;
font-size: 100%;
padding: 10px 0 0;
}
.article_list li > .txt {
flex: 1 0 0;
padding-left: 40px;
line-height: 1.6;
font-size: 110%;
}
.trend_box {
position: relative;
background: #fff;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0,0,0,0.2);
padding: 70px 30px 60px 30px;
}
.trend_box > .tit {
border: 5px solid #ac8bdb;
color: #ac8bdb;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
height: 60px;
border-radius: 30px;
font-size: 120%;
font-weight: bold;
width: 400px;
position: absolute;
left: 50%;
top: -30px;
transform: translate(-50%,0);
}
.trend_box > .tit::before,
.trend_box > .tit::after {
content: "";
}
.trend_box > .tit::before {
position: absolute;
left: 50%;
top: 100%;
border-top: 10px solid #fff;
border-right: 10px solid transparent;
border-bottom: 10px solid transparent;
border-left: 10px solid #fff;
z-index: 2;
}
.trend_box > .tit::after {
position: absolute;
left: 50%;
top: 100%;
border-top: 16px solid #ac8bdb;
border-right: 16px solid transparent;
border-bottom: 16px solid transparent;
border-left: 16px solid #ac8bdb;
transform: translate(-5px,0);
z-index: 1;
}

.trend_box .image {
max-width: 700px;
margin: 0 auto 20px;
}
.trend_box .image .tit {
background: #ff75bd;
color: #fff;
font-weight: bold;
font-size: 120%;
line-height: 1.4;
padding: 15px 20px;
}
.trend_box .image img {
display: inline-block;
margin-bottom: 10px;
}
.trend_box .image span {
display: inline-block;
color: #ff75bd;
margin-top: 10px;
}

/*コピーライト*/
.right {
	text-align: right;
}
/*コピーライト*/

@media screen and (max-width: 768px) {
	.article_box {
	padding: 40px 30px 30px;
	}
	.article_box > .num {
	background: #ac8bdb;
	width: 80px;
	height: 80px;
	border-radius: 40px;
	font-size: 200%;
	left: -30px;
	top: -30px;
	}
	.article_box > .tit {
	padding: 0 0 10px;
	font-size: 160%;
	}
	.article_box > .lead {
	padding: 0 0 10px;
	font-size: 120%;
	}
	.article_box > .txt {
	padding: 0 0 20px;
	}
	ul.article_list {
	}
	.article_list li {
	padding: 20px;
	margin-bottom: 20px;
	}
	.article_list li > .img {
	flex: 0 1 100px;
	}
	.article_list li > .img .name {
	font-size: 110%;
	}
	.article_list li > .txt {
	flex: 1 0 0;
	padding-left: 20px;
	}
	.trend_box > .tit {
	height: 60px;
	border-radius: 30px;
	font-size: 100%;
	font-weight: bold;
	width: 300px;
	}
	.trend_box > .tit::before {
	border-top: 8px solid #fff;
	border-right: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 8px solid #fff;
	}
	.trend_box > .tit::after {
	border-top: 14px solid #ac8bdb;
	border-right: 14px solid transparent;
	border-bottom: 14px solid transparent;
	border-left: 14px solid #ac8bdb;
	}
	.trend_box .layout {
	display: block;
	}
	.trend_box .layout .image {
	}
	.trend_box .layout .info {
	padding: 10px 0 0;
	}
	.trend_box .layout .info .lead {
	font-size: 110%;
	margin-bottom: 10px;
	}
	.trend_box .layout .info .txt {
	}
}
@media screen and (max-width: 500px) {
	.article_box > .num {
	background: #ac8bdb;
	width: 60px;
	height: 60px;
	border-radius: 30px;
	font-size: 160%;
	left: -20px;
	top: -20px;
	}
	.article_list li {
	display: block;
	}
	.article_list li > .img {
	max-width: 100px;
	margin: 0 auto 10px;
	}
	.article_list li > .txt {
    padding-left: 0;
}
	.article_box {
	padding: 40px 20px 20px;
	}
	.trend_box {
	padding: 40px 20px 20px;
	}
	.trend_box > .tit {
	height: 40px;
	border-radius: 20px;
	font-size: 100%;
	width: 260px;
	letter-spacing: -0.05em;
	}
	.trend_box > .tit::before {
	border-top: 5px solid #fff;
	border-right: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 5px solid #fff;
	}
	.trend_box > .tit::after {
	border-top: 10px solid #ac8bdb;
	border-right: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 10px solid #ac8bdb;
transform: translate(-4px,0);
	}
}
/* color
----------------------------------------------- */
.slide li.type01 > *,
.editor li.type01 > *,
.article_list li.type01 {
background: #ffe4f2;
}
.slide li.type02 > *,
.editor li.type02 > *,
.article_list li.type02 {
background: #FFF2E5;
}
.slide li.type03 > *,
.editor li.type03 > *,
.article_list li.type03 {
background: #D9FAEC;
}
.slide li.type04 > *,
.editor li.type04 > *,
.article_list li.type04 {
background: #CFF4FD;
}
.slide li.type05 > *,
.editor li.type05 > *,
.article_list li.type05 {
background: #EEE8F8;
}
/* common cont
----------------------------------------------- */
.area.cont {
padding: 50px 30px;
}
@media screen and (max-width: 768px) {
	.area.cont {
	padding: 30px 30px;
	}
}
@media screen and (max-width: 500px) {
	.area.cont {
	padding: 30px 20px;
	}
}
/* logo_area 
----------------------------------------------- */
#logo_area {
background: #fff;
padding: 30px;
border-bottom: 1px solid #ddd;
margin: 0;
}
#logo_area .logo {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
}
#logo_area .logo01 {
max-width: 388px;
max-width: 310px;
width: 100%;
}
#logo_area .times {
margin: 0 30px;
}
#logo_area .times img {
max-width: 30px;
max-width: 24px;
width: 100%;
}
#logo_area .logo02 {
max-width: 284px;
max-width: 228px;
width: 100%;
}
@media screen and (max-width: 768px) {
	#logo_area {
	padding: 20px;
	}
	#logo_area .logo01 {
	max-width: 287px;
	}
	#logo_area .times {
	margin: 0 15px;
	}
	#logo_area .times img {
	max-width: 20px;
	}
	#logo_area .logo02 {
	max-width: 227px;
	}
}
/* btn_area
----------------------------------------------- */
#btn_area.area {
padding: 60px 80px;
background: #eee;
}
#btn_area .btn_box {
}
#btn_area .btn {
width: 100%;
margin: 0 auto;
max-width: 700px;
height: 100px;
font-size: 200%;
font-weight: 700;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
line-height: 1.3;
border-radius: 50px;
background: #FF8400;
color: #fff;
position: relative;
text-decoration: none;
box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
@media screen and (max-width: 768px) {
	#btn_area.area {
	padding: 30px 40px;
	}
	#btn_area .btn {
	max-width: 800px;
	height: 60px;
	font-size: 150%;
	border-radius: 30px;
	}
}
/* footer
----------------------------------------------- */
#footer {
text-align: center;
background: #fff;
}
#footer.area {
padding: 40px 40px 60px;
}
#footer .txt {
margin: 0 0 20px;
}
#footer .copy {
font-size: 80%;
}
@media screen and (max-width: 768px) {
	#footer.area {
	padding: 20px 20px 40px;
	}
}
/* animation
----------------------------------------------- */
.zoom {
	transform: scale(1.1);
	transition: .3;
}
@media screen and (min-width: 768px) {
#outro .box::after,
#outro .box::before,
#area10 .inner::before,
#area09 .inner::before,
#area08 .inner::before,
#area07 .inner::before,
#area06 .inner::before,
#area05 .inner::before,
#area04 .inner::before,
#area03 .inner::before,
#area01 .inner::before,
#intro .box::before,
#intro .box::after {
transform: scale(0.8);
}
}
/* 20210909
----------------------------------------------- */
.contents_inner .inner {
max-width: 1080px;
}
.contents_inner .contents__main {
padding: 100px 0!important;
line-height: 1.4;
}
.contents_inner .article_box > .num {
left: 50px;
}
#editor .inner {
padding: 0 30px 30px;
}
.contents_inner .btn::after {
display: none!important;
}
@media screen and (max-width: 768px) {
	.contents_inner .contents__main {
	padding: 30px 0!important;
	}
	.article_box > .num {
	left: 20px;
	}
	#btn_area.area {
	padding: 30px 10px;
	}
	#btn_area .btn {
	height: 80px;
	font-size: 140%;
	border-radius: 40px;
	}
}
@media screen and (max-width: 500px) {
	#btn_area.area {
	padding: 30px 10px;
	}
	#btn_area .btn {
	height: 60px;
	font-size: 100%;
	border-radius: 30px;
	}
}