@charset "utf-8";
/**
 * layout pc
 */


/* import
--------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700&display=swap");
@import "init.css";


/* html, body
--------------------------------------------------*/
html,body {
	position:absolute;
	width:100%;
    min-width:1200px;
	min-height:100%;
	margin:0;
	text-align:left;
	font-family:"Noto Sans JP","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",sans-serif;
	font-weight:500;
	font-feature-settings:"palt";
	letter-spacing:0.1em;
	-webkit-text-size-adjust:none;
	color:#000000;
}

body {
	box-sizing:border-box;
}


/* バナー */
@keyframes pop {
	0% {
		transform:scale(1);
	}
	30% {
		transform:scale(1.04);
	}
	60% {
		transform:scale(1);
	}
	90% {
		transform:scale(1.02);
	}
	100% {
		transform:scale(1);
	}
}

@keyframes pop02 {
	0% {
		opacity:0;
		transform:scale(0.6);
	}
	70% {
		opacity:1;
		transform:scale(1.05);
	}
	100% {
		opacity:1;
		transform:scale(1);
	}
}

@keyframes pop03 {
	0% {
		transform:scale(1);
	}
	30% {
		transform:scale(1.08);
	}
	60% {
		transform:scale(1);
	}
	90% {
		transform:scale(1.04);
	}
	100% {
		transform:scale(1);
	}
}

.banner {
	position:fixed;
	bottom:33px;
	right:33px;
	z-index:2;
	display:inline-block;
	display:none;
}
.banner img {
	display:block;
}
.over:hover img {
	animation:pop 0.3s ease;
}
.over02:hover img {
	animation:pop03 0.3s ease;
}
.banner img.pop-trigger {
	animation: pop 0.4s ease;
}


/* メインエリア */
.main{
	position:relative;
	height:auto;
	box-sizing:border-box;
}


/* 参加方法エリア */
.entry_text_slide_caption{
	position:relative;
	margin:0 auto 40px;
	line-height:1;
	text-align:center;
	font-size:24px;
	font-weight:700;
}


/* 過去の投稿スライダー部分 */
#photo_splide .splide__slide img{
	width:100%;
	height:auto;
	transform:scale(0.7); 
	transition:0.4s; 
}

/* アクティブなスライドのスタイル  */
#photo_splide .splide__slide.is-active img{
      transform:scale(1);
      z-index:1;
}

/* ドラッグ中のアクティブなスライドのスタイル  */
#photo_splide .splide__slide.is-active.dragging img {
	transform:scale(0.7); 
}

#photo_splide .splide_btn_set{
	position:relative;
	width:390px;
	display:block;
	overflow:hidden;
	margin:50px auto 5px;
}

#photo_splide .splide_btn{
	width: 9px;
	float:left;
	margin-right:20px;
	transform:scale(0.7); 
	cursor:pointer;
	filter:grayscale(100%);
	opacity:0.5;
	transition:
		transform 0.4s ease 0.4s,
		filter 0.4s ease,
		opacity 0.4s ease;
}

#photo_splide .splide_btn_last{
	margin-right:0;
}

#photo_splide .splide_btn_set .is_active{
	filter:none;
	opacity:1;
	transform:scale(1);
	z-index:1;
}

/* スライド矢印 */
#photo_splide .splide__arrows{
	position:relative;
	width:500px;
	margin:0 auto 0;
}

#photo_splide .splide__arrow{
	margin-top:55px;
	background:none;
	border-radius:none;
	height:auto;
}

#photo_splide .splide__arrow--prev{
	width:17px;
	height:auto;
	left:0;
	margin-left:3%;
	opacity:1;
}

#photo_splide .splide__arrow--prev img{
	width:100%;
	height:auto;
}

#photo_splide .splide__arrow--next{
	width:17px;
	height:auto;
	margin-right:calc(3% +17px);
	opacity:1;
}

#photo_splide .splide__arrow--next img{
	width:100%;
	height:auto;
}


/* ここからテンプレートエリア */
.rps_visible{
    display:none;
}

.rps_del{
    display:block;
}


.fade{
	opacity:0;
	transition: opacity 0.8s ease;
}


.show{
	opacity:1;
}


/* 第4回 202607記述ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

/* 共通 */
*,*::before,*::after{
	box-sizing: border-box;
}
html{
	font-size: 62.5%;
}
:root{
	/* width */
	--clOrage: #f68f00;
	--clGreen: #39b28b;
	--clPink: #ef6fa8;

	--fnMaru:"Zen Maru Gothic", sans-serif;
}
p {
	font-feature-settings: "palt";
	font-size: 1.4rem;
	letter-spacing: 0.05rem;
}
img {
	width: 100%;
}
.cts_area {
	width: 940px;
	padding: 0 30px;
	margin: 0 auto;
}
.fn_maru {
	font-family: var(--fnMaru);
}
.note {
	font-size: 1.2rem;
	color: #757575;
	line-height: 1;
}
.green {
	color: var(--clGreen);
}
.pink {
	color: var(--clPink);
}
.orange {
	color: var(--clOrage);
}
a.btnBase {
	padding: 25px 30px;
	margin-top: 50px;
	min-width: 340px;
	color: #fff;
	border-radius: 41px;
	text-align: center;
	font-size: 2.2rem;
	display: inline-block;
	text-decoration: none;
}
.sp {
		display: none;
	}

/* 追従バナー 
ーーーーーーーーーーーーーー*/
.banner01 img,.banner02 img {
	width: 150px;
	height: 150px;
}
/* .banner01 {
	bottom: 200px;
} */

/* kv 
ーーーーーーーーーーーーーー*/
.kv_area {
	display: flex;
	align-items: center;
	height: 90vh;
	max-height: 750px;
	min-height: 700px;
	width: 100%;
}
#kv_left,
#kv_right {
  width: 50%;
}
#kv_left {
	background-color: #ffd652;
	height: 100%;
	display: flex;
	align-items: center;
	position: relative;
}
#kv_left .swiper_area {
  min-width: 350px;
  max-width: 400px;
  width: 60%;
  height: auto;
}
#kv_left .swiper-wrapper,
#kv_left .swiper-slide,
#kv_left .swiper-slide img{
  width: 100%;
  height: 100%;
}
#kv_left .swiper-slide img {
  object-fit: cover; /* 枠いっぱいに表示 */
  display: block;
}
#kv_right {
	width: 50%;
	height: 100%;
	overflow: hidden;
	position: relative;
}
.scroll_wrap {
	overflow: hidden;
}
.scroll_wrap img {
  width: 100%;
  height: auto;
  display: block;
}
.scroll_inner {
	display: flex;
	flex-direction: column;
	animation: scrollUp 100s linear infinite;
}

@keyframes scrollUp {
  from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(0, -50%, 0);
    }
}
.tit_h1 {
	width: 377px;
	height: auto;
	position: absolute;
	top: 20px;
	left: 30px;
	z-index: 100;
}
.kv_day {
	width: 395px;
	filter: drop-shadow(0px 0px 4px rgba(124, 89, 0, 0.2));
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
}


/* concept
ーーーーーーーーーーーーーー*/
#concept {
	position: relative;
	padding-top: 120px;
	padding-bottom: 150px;
}
#concept::after {
	content: "";
	background: url(../images/line_dots.png) no-repeat center /contain;
	width: 6px;
	height: 132px;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	z-index: 50;
}
#concept .tit_h2 {
	margin-bottom: 40px;
	font-size: 2.3rem;
	font-weight: 500;
	text-align: center;
	line-height: 2;
	color: var(--clOrage);
}
#concept .concept_txt {
	text-align: center;
	font-size: 1.4rem;
	line-height: 2.4;
}
#concept .concept_area p:nth-of-type(2) {
  margin-top: 40px;
}

#concept .item01,
#concept .item02 {
	position: absolute;
}
#concept .item01 {
	width: 200px;
	height: auto;
	left: -20px;
	top: 180px;
}
#concept .item02 {
	width: 192px;
	height: auto;
	right: -40px;
	top: 180px;
}
.concept_photo01, 
.concept_photo02{
	opacity: 0;
	transform: scale(0.7);
	transition: all 0.8s ease;
}
.concept_photo01.show,
.concept_photo02.show {
	opacity: 1;
	transform: scale(1);
}

/* theme
ーーーーーーーーーーーーーー*/
#theme {
	background-color: rgba(255, 225, 129, 1);
	padding: 40px 30px 60px;
	position: relative;
}
#theme .bg_item {
	width: 100%;
	height: 82px;
	position: absolute;
	bottom: -81px;
	left: 50%;
	transform: translateX(-50%);
}
.theme_area {
	padding: 100px 60px;
	text-align: center;
	background: #fff;
	border-radius: 5px;
	filter: drop-shadow(0px 0px 10px rgba(164, 104, 0, 0.2));
}
#theme .txt_box {
	display: flex;
	flex-direction: column;
	gap: 30px;
	text-align: center;
	line-height: 2;
}
#theme .tit_h3 {
	width: 488px;
	height: auto;
	margin: 0 auto;
}
#theme .theme_txt {
	font-size: 1.6rem;
}
#theme .txt_box .box_green {
	background: var(--clGreen);
	color: #fff;
	display: inline-block;
	padding: 4px 0px 5px 0px;
	margin: 5px;
	font-weight: 900;
	font-size: 2.1rem;
	line-height: 1;
}
#theme .green {
	color: var(--clGreen);
	font-size: 2.3rem;;
	font-weight: 900;
	line-height: 1.5;
}
#theme .txt_box .size_up {
	font-size: 3.6rem;
}
.hankaku {
	font-family:Helvetica;
}
#theme .txt_box .size_down {
	font-size: 2rem;
}
#theme .txt_box .note {
	display: block;
	margin-top: 5px;
}
.award {
	margin-top: 40px;
}
.award_list {
	padding: 35px 0;
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 20px;
	text-align: left;
}
.award_list::after {
	content: "";
	height: 3px;
	width: 100%;
	background: url(../images/line_dots_gray.svg) repeat-x center ;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.award_badge {
	width: 148px;
	height: auto;
}
.award_list:nth-of-type(2) .award_badge {
	width: 116px;
	height: auto;
	margin:0 15px 0 18px;
}
.award_prizes {
	width: 640px;
}
.award_tit {
	padding: 0 0 5px 50px;
	font-size: 3rem;
	font-weight: 900;
}
.mini {
	margin-left: -7px;
}
.award_txt {
	padding: 10px 0 0 50px;
	font-size: 1.8rem;
}
.award_img {
	width: 580px;
	height: auto;
	margin: 50px auto 0;
}
.award .size_up {
	font-size: 2.5rem;
	font-weight: 500;
}


/* judge
ーーーーーーーーーーーーーー*/
#judge {
	position: relative;
	text-align: center;
}
#judge::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
					linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
	background-size: 16px 16px;
	background-repeat: repeat;
	background-position: center center;

	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	opacity: .4;
	z-index: -1;
}
.judge_area {
	width: 1000px;
	padding: 130px 30px;
	margin: 0 auto;
}
.tit_base {
	font-size: 3.4rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
	position: relative;
	z-index: 1;
}
.tit_base::before {
	content: "";
	background: url(../images/bg_section_tit_pc.png) no-repeat center /contain;
	width: 289px;
	height: 60px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-42%);
	z-index: -1;
}
.txt_base {
	margin-top: 35px;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.8;
}
.judge_ul {
	margin-top: 50px;
	display: flex;
	flex-direction: column;
	gap: 60px;
}
.judge_list {
	filter: drop-shadow(0 0 10px rgba(50, 50, 50, 0.15));
}
#judge .tit_h5 {
	padding: 5px 0;
	font-size: 3.4rem;
	font-weight: 500;
	background: var(--clGreen);
	border-radius: 5px 5px 0 0;
	color: #fff;
}
#judge .tit_h5 .size_up {
	font-size: 3.8rem;
}
.judge_box {
	display: flex;
	gap: 30px;
	align-items: flex-start;
	padding: 35px 60px;
	background: #fff;
	border-radius: 0 0 5px 5px;
}
.people {
	width: 228px;
	height: auto;
}
.name_box {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	text-align: justify;
}
.job {
	color: #757575;
}
#judge .tit_h6 {
	font-size: 2.2rem;
	font-weight: 700;
}
.btn.pc {
	display: flex;
	align-items: center;
	gap: 15px;
}
.btn a:hover {
	opacity: .5;
}
a.icon_insta {
	width: 38px;
	height: auto;
}
a.icon_x {
	width: 31px;
	height: auto;
}
a.icon_insta,
a.icon_x {
	cursor: pointer;
	transition: opacity .3s;
}
.txt_profile {
	text-align: justify;
	margin-top: 28px;
	font-size: 1.3rem;
	line-height: 1.9;
}


/* entry
ーーーーーーーーーーーーーー*/
.entry_bg {
	background-color: #f4f4f4;
	position: relative;
	text-align: center;
}
.entry_area {
	width: 1000px;
	padding: 80px 30px 80px;
	margin: 0 auto;
}
.entry_ul {
	margin-top: 50px;
	display: flex;
	justify-content: space-between;
}
.entry_list {
	width: 286px;
	height: auto;
	position: relative;
}
.entry_list:not(:last-child)::after {
	content: "";
	background: url(../images/pic_entry_triangle.png)no-repeat center /contain;
	width: 14px;
	height: 20px;
	position: absolute;
	top: 50%;
	right: -29px;
	transform: translateY(-50%);
}
#entry *[class ^= bg_item] {
	width: 100%;
	height: 82px;
	position: absolute;
	top: -81px;
	left: 50%;
	transform: translateX(-50%);
}
#entry .bg_item02 {
	top: auto;
	bottom: -81px;
}
.entry_txt {
	display: inline-block;
	margin: 30px auto 0;
	background: #fff;
	border-radius: 5px;
	padding:  30px;
	font-size: 1.3rem;
	text-align: left;
}
.entry_txt li{
	line-height: 1.7;
	padding: 0 0 5px 0;
}
.circle {
	position: relative;
	margin-left: 13px;
}
.circle::before {
	content: "⚫︎";
	font-size: 1.2rem;
	position: absolute;
	top: 1px;
	left: -13px;
}
#entry a.btnBase {
	background-image: linear-gradient(90deg, #fd436b, #febd2b);
}
#entry a.btnBase span {
	position: relative;
	padding-left: 40px;
	letter-spacing: -0.03rem;
}
#entry .btnBase span::after{
    content: " ";
	background: url(../images/icon_instagram_white.png) no-repeat center / contain;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 50%;
	transform: translateY(-45%);
	left: 0px;
}
#entry a.btnBase:hover{
	animation:pop 0.3s ease;
}
#slide_photo {
	margin: 130px auto;
}


/* tyroldo
ーーーーーーーーーーーーーー*/
#tyroldo {
	background-color: #fff3cb;
}
.tyroldo_area {
	padding-top: 120px;
	padding-bottom: 100px;
	text-align: center;
}
.tit_tyroldo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	line-height: 1.8;
}
.tit_tyroldo img {
	width: 324px;
	height: auto;
}
.tit_tyroldo .tit_h4 {
	font-size: 3.3rem;
	text-align: left;
}
.tyroldo_box {
	margin-top: 80px;
}
.tyroldo_box .tit_h5 {
	font-size: 2.4rem;
	border-bottom: solid 2px var(--clOrage);
}
.tyroldo_box ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
	margin-top: 30px;
}

.tyroldo_box .txt {
	margin-top: 30px;
	line-height: 2.1;
}
.txt_donation {
	display: inline-block;
	margin-top: 60px;
	padding: 20px 40px;
	font-size: 1.8rem;
	text-align: center;
	line-height: 2;
	border: 3px solid var(--clGreen);
	border-radius: 5px;
	background: #fff;
}
#tyroldo a.btnBase {
	font-size: 2rem;
	background-color: var(--clPink);
	letter-spacing: -0.03rem;
}
#tyroldo a.btnBase:hover {
	animation:pop 0.3s ease;
}


/* disclaimer
ーーーーーーーーーーーーーー*/
#disclaimer {
	text-align: center;
}
#disclaimer.cts_area{
	text-align: center;
	padding-top: 120px;
	padding-bottom: 80px;
}
.disclaimer_box {
	display: flex;
	justify-content: center;
}
#disclaimer .tit_h4{
	font-size: 3.4rem;
}
.disclaimer_ul {
	width: 760px;
	text-align: justify;
	font-size: 1.3rem;
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 20px 0 auto;
}
.disclaimer_list {
	font-size: 1.2rem;
	margin: 5px 0 0 28px;
}
.disclaimer_list > li{
	padding: 0 0 8px 0;
	line-height: 1.7;
}
a .blue {
	color: #59c2e1;
	text-decoration: underline;
	text-decoration-color: #59c2e1; 
}

#footer {
	padding: 30px 0;
	background-color: #ffd652;
}
.footer_area {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
}
.logo_tit {
	width: 300px;
	height: auto;
}
.logo_crecia {
	width: 158px;
	height: auto;
}
.txt_copylight {
	color: #fff;
	font-size: 1.0rem;
}