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

html {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	height: 100%;
	height: -webkit-fill-available;
}

html {
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-weight: 500;
    font-size: 62.5%;
	color: #333;
	scroll-behavior: smooth;
}

body {
    font-size:1.8rem;/* 18px*/
	font-size: calc(1.4rem + ((1vw - 0.01rem) * 0.4188));
    line-height: 1.5;
	text-align: justify;
	min-height: 100%;
	min-height: 100vh;
	min-height: -webkit-fill-available;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	background-image: url("../img/hero_bg.jpg");
}

.container {
	width: 80%;
	height: inherit;
	margin: 0 auto;
}

h1 {
	font-size: 80px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(6rem + ((1vw - 0.64rem) * 3.5714));/* 60px~80pxで可変*/
    line-height: 1.1;
}

h2 {
	font-size: 48px;/* IE8以下とAndroid4.3以下用フォールバック */
	font-size: calc(1.8rem + ((1vw - 0.01rem) * 1.5707));/* 18px~48pxで可変*/
    line-height: 1.3;
	font-weight: bold;
}

h3 {
    font-size: 28px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(1.4rem + ((1vw - 0.01rem) * 0.733));/* 14px~28pxで可変*/
    line-height: 1.3;
	font-weight: bold;
}

main h3 {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	margin: 0 auto;
	color: #E55B63;
	position: relative;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid currentColor;
}

main h3:before {
	content:'';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) skew(-25deg);
	height: 15px;
	width: 15px;
	border-right: 1px solid currentColor;
	background-color: #fff;
	border-left: none;
	border-top: unset;
	border-bottom: unset;
}

.caption {
	font-size: calc(1.4rem + ((1vw - 0.01rem) * 0.2094));
}

header {
	background: rgba(255,255,255,0.9);
	height: 100px;
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 10000;
	box-shadow: 0 1px 8px rgba(0,0,0,0.25);
}

header .container {
	text-align: center;
}

header .container img {
	width: 30rem;
	height: 60%;
}

header .container ul {
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-size: 14px;
}

header .container ul li a {
	margin: 0 1.5rem;
}

header .container ul li a:hover {
	color: #E55B63;
}
.link-current {
	color: #E55B63;
}
header .container #hamburger {
	display: none;
}
main .title {
	display: grid;
	place-items: center;
	height: 70vh;
}
main .title .container {
	align-self: end;
	height: auto;
}
main .title h1 {
	width: 80%;
	margin: 0 auto;
	text-align: center;
}
main .title img {
	width: 100%;
	max-width: 700px;
}
main .intro {
	height: 30vh;
	padding-top: 5rem;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
main .intro h2 {
	text-align: center;
	margin: 4rem 0 0;
	color: #fff;
	text-shadow: 0px 0px 10px rgba(221, 91, 99, 1);
	font-size: 28px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(1.4rem + ((1vw - 0.01rem) * 0.733));/* 14px~28pxで可変*/
    line-height: 1.3;
	font-weight: bold;
}
main .intro h2 .br1,main .intro .br2 {
	display: none;
}
main .intro h4 {
	padding: 0;
	text-align: center;
	color: #E55B63;
	font-size: 28px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(1.4rem + ((1vw - 0.01rem) * 0.733));/* 14px~28pxで可変*/
	font-weight: bold;
}
main .intro h4 span {
	padding: 2rem 1rem;
	background: #fff;
	box-shadow: 0px 0px 10px rgba(221, 91, 99, 1);
	border-top: 4px solid;
	border-bottom: 4px solid;
	border-image: linear-gradient(to right, #E55B63, #EF9DA1, #E55B63) 1;
}
main .overview {
	padding: 10rem 0;
	text-align: center;
}
main .overview p {
	text-align: justify;
	margin-top: 5rem;
}
main .overview .last-year {
	margin-top: 5rem;
	overflow: hidden;
}
main .overview .last-year .autoplay-slider {
	display: flex;
	min-width: 100%;
	width: min-content;
	animation: 20s linear infinite sliderAnimation;
}
main .overview .last-year .slide {
	height: 250px;
	margin: 5px;
	position: relative;
}
main .overview .last-year .slide img {
	height: 250px;
}
@keyframes sliderAnimation {
	100% {
		transform: translateX(-50%);
	}
}
main .overview .last-year p {
	margin-top: 0;
	text-align: center;
	color: #E55B63;
}
main .overview .last-year p br {
	display: none;
}
main .overview .last-year .YT_cap br.br2 {
	display: block;
}
main .overview .last-year .YT_btn {
	margin-top: 2rem;
}
main .overview .last-year .YT_cap {
	margin-top: 5rem;
	color: #333;
	position: relative;
	padding: 1rem 3rem;
    text-align: center;
	display: inline-block;
}
main .overview .last-year .YT_cap:before, main .overview .last-year .YT_cap:after {
	position: absolute;
    top: 2rem;
    height: 4rem;
    content: '';
}
main .overview .last-year .YT_cap:before {
	border-left: solid 2px;
    left: 0;
    transform: rotate(-30deg);
}
main .overview .last-year .YT_cap:after {
	border-right: solid 2px;
    right: 0;
    transform: rotate(30deg);
}
main .message {
	padding: 10rem 0;
}
main .message .comment {
	--bg-gradient: linear-gradient(#E55B63 0 100%);
	position: relative;
	margin-top: 5rem;
	padding: 5rem;
	background-image:
		var(--bg-gradient),
		var(--bg-gradient),
		var(--bg-gradient),
		var(--bg-gradient);
	background-repeat: no-repeat;
	background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%;
	background-position: left top 10px, right 10px top, left bottom 10px, left 10px top;
}
main .message .comment h4 {
	position: absolute;
	display: inline-block;
	top: -0.5rem;
	left: 50%;
	transform: translateX(-50%);
	padding: 0rem 1rem;
	background-color: #fff;
	color: #E55B63;
	font-weight: bold;
	white-space: nowrap;
}
main .message .comment .comment-body {
	text-align: justify;
	padding: 0 1rem 1rem;
	border-box: box-sizing;
	background-color: #F3F3F3;
	margin-bottom: 3rem;
	margin-top: 0;
}
main .message .comment .comment-body:last-child {
	margin-bottom: 0;
}
main .message .comment .comment-body:before {
	display: inline-block;
	margin: 0 0 0.5rem -1rem;
	padding: 0.5rem 2rem;
	background-color: #E55B63;
	color: #fff;
	content: attr(data-title);
}
main .message .comment .comment-body p {
	margin-top: 0;
}
main .message .comment .comment-body .comment-body-contents {
	display: flex;
	align-items: flex-start;
}
main .message .comment .comment-body .comment-body-contents p {
	width: 70%;
	align-self: flex-start;
}
main .message .comment .comment-body .comment-body-contents .comment-img {
	width: 20%;
	margin-right: 3rem;
}
main .message .comment .comment-body .comment-body-contents img{
	width: 100%;
	height: auto;
}
main .YT_btn {
	text-align: center;
	margin: 0 auto 3rem;
}
main .YT_btn a {
	text-align: center;
	font-size: 28px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(1.4rem + ((1vw - 0.01rem) * 0.733));/* 14px~28pxで可変*/
	font-weight: bold;
	background: #20AC75;
	color: #fff;
	padding: 2rem 3rem;
	border-radius: 10px;
	box-shadow: 0px 5px 0 0 #15714D;
}
main .YT_btn a:hover {
	position: relative;
	top: 5px;
	box-shadow: none;
}
main .YT_btn span {
	padding-left: .3rem;
}
main .YT_btn i.fa-youtube {
	color: #fff;
}
main .result {
	padding: 10rem 0;
}
main .result .result_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-top: 5rem;
}
main .result .result_list .artist_con {
	width: 49%;
	background: #FFFFFF;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
	position: relative;
	padding: 0 0 3rem;
	margin: 0 0 3rem;
	border-radius: 5px;
}
main .result .result_list .artist_con h4 {
	font-size: calc(1.4rem + ((1vw - 0.01rem) * 0.4188));
	font-weight: bold;
	color: #E55B63;
	background: #fff;
	text-align: center;
	padding: 1rem 0.5rem;
	position: relative;
	overflow: hidden;
	border-radius: 5px 5px 0 0;
}
main .result .result_list .artist_con h4:before {
	position: absolute;
	top: calc(50% - 0.5px);
	left: 0;
	width: 100%;
	height: 1px;
	content: '';
	background: #E55B63;
}
main .result .result_list .artist_con h4:after {
	position: absolute;
	top: -150%;
	left: -80px;
	width: 150px;
	height: 300%;
	content: '';
	-webkit-transform: rotate(25deg);
	transform: rotate(25deg);
	background: #E55B63;
}
main .result .result_list .artist_con h4 span.artist_name {
	position: relative;
	padding: 0 5rem;
	background: #fff;
}
main .result .result_list .artist_con h4 span.artist_num {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	display: block;
	padding: 1rem 2rem;
	color: #fff;
	text-shadow: none;
}
main .result .result_list .artist_con h5 {
	font-size: calc(1.4rem + ((1vw - 0.01rem) * 0.2094));
	font-weight: bold;
	color: #E55B63;
	margin: 1rem;
	padding: 1rem 4rem;
	background: #f8f8f8;
	position: relative;
	overflow: hidden;
	border-radius: 5px;
}
main .result .result_list .artist_con h5:before {
	position: absolute;
	top: -150%;
	left: -70px;
	width: 100px;
	height: 300%;
	content: '';
	-webkit-transform: rotate(25deg);
	transform: rotate(25deg);
	background: #E55B63;
}
main .result .result_list .artist_con .pf_img {
	text-align: center;
	margin: 1rem auto 0;
}
main .result .result_list .artist_con img {
	max-width: 95%;
	height: auto;
}
main .result .result_list .artist_con p {
	margin: 0 1rem 1rem;
	font-size: calc(1.4rem + ((1vw - 0.01rem) * 0.2094));
}
main .result .result_list .artist_con ul {
	margin: 0 1rem 1rem;
	display: flex;
	align-items: center;
	font-size: calc(1.4rem + ((1vw - 0.01rem) * 0.2094));
}
main .result .result_list .artist_con ul li:first-child {
	margin-right: 1rem;
	width: 8rem;
}
main i {
	margin-right: 2rem;
}
main i:hover {
	opacity: .5;
}
main i.fa-youtube {
	color: #FF0000;
}
main i.fa-twitter {
	color: #1DA1F2;
}
main i.fa-facebook {
	color: #3B5998;
}
main i.fa-line {
	color: #06C755;
}
main i.fa-instagram-square {
	background: #f09433; 
	background: -moz-linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); 
	background: -webkit-linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); 
	background: linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); 
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f09433', endColorstr='#bc1888',GradientType=1 );
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
footer {
	background: #ddd;
	padding: 10rem 0 3rem;
	text-align:  justify;
}
footer h3 {
	text-align: center;
	font-size: 110%;
}
footer p {
	margin: 5rem 0 0;
	font-size: calc(1.4rem + ((1vw - 0.01rem) * 0.2094));
}
footer p.foot_link {
	margin: 2rem 0 0;
}
footer p a {
	color: #3194B3;
}
footer p br.br3 {
	display: none;
}
footer .footer-logo {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 10rem 0 3rem;
}
footer .footer-logo img {
	width: 100%;
}
