@charset "utf-8";
/* CSS Document */
:root {
    --blue: #1f7de0;
    --faq: #886bc3;
    --faqtit: #e7e1f3;
    --faqans: #f3f0f9;
    --pink: #ff82c5;
}
html {
    scroll-padding-top: 112px;
    scroll-behavior: smooth;
}
.pc{
	display: block;
}
.pcs{
	display: inline;
}
.sp{
	display: none;
}

section[id], 
h2[id], 
div[id],
.anchor-target {
  scroll-margin-top: 112px; /* ヘッダーの高さ分 */
}
body{
	font-family: 'Noto Sans JP', sans-serif;
	font-size:16px;
	font-weight: 400;
	line-height: 2.0em;
	padding:0;
	margin: 0;
	background: #ffffff;
	overflow-x: hidden;
}
img{
	max-width: 100%;
}
a:hover:not(.fltbtn-link){
    opacity: 0.7;
	text-decoration: none;
}
h3{
    font-size:22px;
}
h3 img{
    vertical-align: middle;
    margin-right: 10px;
}
h4{
    font-size:20px;
}
.flowinfo{
	position: absolute;
	left:0;
	top:200px;
}
.mark{
	width:87px;
	margin:0 0 0 50px;
}
.bigmark{
	width:266px;
}
.logo{
	width:203px;
	margin:0 0 8px 30px;
}
.gothic{font-family: 'Noto Sans JP', sans-serif;}
.mincho{font-family: 'Noto Serif JP', serif;}
.centertxt{
	text-align: center;
}
.righttxt{
	text-align: right;
}
.centerimg{
	display: block;
	margin: 0 auto;
}
a{
	color: #000000;
	text-decoration: none;
}
a:hover{
	color:#333333;
	text-decoration: none;
}
a:visit{
	color:#050505;
	text-decoration: none;
}
.fw200{font-weight:200;}
.fw300{font-weight:300;}
.fw400{font-weight:400;}
.fw500{font-weight:500;}
.fw600{font-weight:600;}
.fw700{font-weight:700;}
.fw800{font-weight:800;}
.fw900{font-weight:900;}
header{
	width:100%;
	height:112px;
	position: fixed;
	background:#ffffff;
	z-index: 999;
	display: flex;
	justify-content: center;
	align-items: center;
}
.header_offset{
    height:112px;
}
.head{
	width:100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin:0 auto;
	padding:0 40px;

}
h1.title a{
	font-size:20px;
	color:#1373D5;
	text-align: left;
}
h2{
    font-size: 24px;
    color:#01cac6;
    text-align: left;
	line-height: 1.6em;
}
.gmenu{
	width:930px;
	height:60px;
	font-size:14px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	list-style-type: none;
}
.hero{
	position: relative;
}
.hero img{
  width: 100%;
  height: auto;
  display: block;
}
.fltbtn{
	position: fixed;
	top:250px;
	width:54px;
	right:0;
	z-index: 1000;
    transition: transform 0.3s ease;
}
.fltbtn:hover{
    transform: translateX(10px);
}
.fltbtn2{
	position: fixed;
	top:460px;
	width:54px;
	right:0;
	z-index: 1000;
    transition: transform 0.3s ease;
}
.fltbtn2:hover{
    transform: translateX(10px);
}
@media screen and (max-width: 1250px) {
    .fltbtn,.fltbtn2{
        display: none;
    }
}
/*スマホ用メニューここから*/
.spclose{
	display: none;
}
.hamburger{
	display: none;
}
.sp_wrap{
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:auto;
	/*overflow-x: hidden!important;*/
}
.globalMenuSp{
	display: none;
}
/*スマホ用メニューここまで*/



.container{
	width:1000px;
	margin:0 auto;
	height:auto;
	overflow: hidden;
	padding:50px 0;
}
.container_s {
	width:670px;
    max-width: 90%;
	margin: 0 auto;
}
.main{
	width:820px;
	margin:0 auto;
	height:auto;
	overflow: hidden;
    position: relative;
}
@media screen and (max-width: 1250px) {
    .container{
        width:100%;
        max-width:1000px;
        margin:0 auto;
        height:auto;
        overflow: hidden;
        padding:50px 10px;
    }
    .container_s {
        width:100%;
        max-width:670px;
        margin: 0 auto;
        padding:0 10px;
    }
    .main{
        width:100%;
        max-width:820px;
        margin:0 auto;
        height:auto;
        overflow: hidden;
        position: relative;
        padding:0 10px;
    }

}
.btn_tel{
	max-width:330px;
}
.rsvbox{
	width:775px!important;
	position:absolute;
	top:60%;
	left:60%;
}

h1{
	color:#000;
	font-size:26px;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	line-height: 1.6em;
	margin-top: 10px 0;
}
.titlebar h1{
    color:#fff;
}
.f12{font-size:12px;}
.f13{font-size:13px;}
.f14{font-size:14px;}
.f15{font-size:15px;}
.f16{font-size:16px;}
.f17{font-size:17px;}
.f18{font-size:18px;}
.f19{font-size:19px;}
.f20{font-size:20px;}
.f21{font-size:21px;}
.f22{font-size:22px;}
.f24{font-size:24px;}
.f26{font-size:26px;}
.f30{font-size:30px;}
.f36{font-size:36px;}
.f38{font-size:38px;}

.footer{
	background:#ff81c5;
	width:100%;
	height: 35px;
    color:#fff;
    font-size:12px;
    letter-spacing: 0;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
    font-size:12px;
    line-height: 1.2em;
}
.ftbox{
	width:800px;
    max-width: 90%;
	margin:0 auto;
	padding:50px 0;
}
.footer h1{
  display: flex;
  align-items: center; /* 縦中央揃え */
  font-size: 20px;
  color: #fff;
}

.footer h1::after{
  content: "";
  flex: 1;              /* 残りの幅いっぱいに広がる */
  height: 1px;
  background-color: #fff;
  margin-left: 16px;    /* テキストと線の間隔 */
}
.footer h2{
  display: flex;
  align-items: center; /* 縦中央揃え */
  font-size: 14px;
  color: #fff;
}

.footer h2::after{
  content: "";
  flex: 1;              /* 残りの幅いっぱいに広がる */
  height: 1px;
  background-color: #fff;
  margin-left: 16px;    /* テキストと線の間隔 */
}
.box2{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.box2rv{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-flow: row-reverse;
}
.box2 img,.box2rv img{
	zoom:0.5;
}
.box{
	width:100%;
	display: inline;
	padding:2em;
}
@media screen and (max-width: 1250px) {
    .box2{
        flex-flow: column;
        margin:0 auto;
    }
    .box2rv{
        display: flex;
        flex-flow: column;
    }

}
.ptit{
	font-size:20px;
	color:#FF82C5;
	font-weight:600;
}
@media screen and (max-width: 1250px) {
	.footer{
		margin-bottom:70px; 
	}
}
.ftmenu{
  list-style-type: none;
  width: 400px;
  max-width: 90%;
  color: #fff;
  display: flex;
  flex-direction: column; /* 縦方向に並べてから折り返す */
  flex-wrap: wrap;
  height: 200px; /* li の高さ(例:40px) × 4個 分の高さ */
}

.ftmenu li{
  width: 50%;
  height: 40px; /* li の高さを固定 */
  box-sizing: border-box;
}
.ftmenu a{
	color:#fff;
}
.joinus{
	width:400px;
	text-align: center;
}
.access{
	width:380px;
}








@media screen and (max-width: 1250px) {
	h1{
		font-size:19px;
	}
	h3{
		font-size:17px;
	}
	.pc,.pcs{
		display: none!important;
	}
	.sp{
		display: block;
	}
	.gmenu{
		display: none;
	}
	.main{
		width:100%;
		padding:0 10px;
	}
	.head{
		padding:0 10px;
		height:90px;
	}
    header{
        width:100%;
        height:74px;
        position: fixed;
        background:#ffffffcc;
        z-index: 999;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .header_offset{
        height:74px;
    }
    section[id], 
    h2[id], 
    div[id],
    .anchor-target {
        scroll-margin-top: 74px; /* スマホヘッダーの高さ分 */
    }
    h1.title a{
        font-size:18px;
        color:#1373D5;
        text-align: left;
    }

}
.newsarea {
	position: relative;
	display: inline-block;
    width:650px;
    max-width: 90%;
}

.topnews {
	width:100%;
	margin:0 auto;
	border-collapse: collapse;
    max-width: 90%;
}
.topnews tr:first-child th,.topnews tr:first-child td{
	border-top: 2px dotted #999;
}
.topnews th,.topnews td{
	border-bottom: 2px dotted #999;
	padding:20px 0;
}
.topnews th{
	font-weight: 500;
	width:10em;
}
.topnews td.cat{
	width:8em;
	padding-right:1em;
	background:none !important;
	font-size:13px;
	text-align:center;
}
.cat-label{
	display:inline-block;
	font-size:13px;
	min-width:6.5em;
	padding:2px 0.8em;
	border-radius:999px;
	color:#fff;
	line-height:1.6;
	text-align:center;
}
.cat-label.cat-news{ background:#b77ef3; }
.cat-label.cat-report{ background:#eb8bc2; }
.topnews td{
	font-size:20px;
	background:url("../images/next-arrow.svg");
	background-repeat: no-repeat;
	background-position: right 20px bottom 50%;
	background-size:10px;
}
.topnews td a{
	color: inherit;
	text-decoration: none;
	display: block;
	padding-right: 40px;
	transition: opacity 0.2s ease;
}
.topnews td a:hover{
	opacity: 0.7;
}

@media (max-width: 1250px) {
	.topnews,
	.topnews tbody,
	.topnews tr,
	.topnews th,
	.topnews td {
		display: block; /* ブロック要素にして縦に積む */
		width: 100%;
	}
	.topnews tr {
		padding: 5px 0;
		border-bottom: 2px dotted #999; /* 枠線を1行（1ニュース）単位に移動 */
	}
	.topnews th {
		padding: 0 0 0px 0; /* 日付とタイトルの間の余白 */
		border: none;
		font-size: 0.85em;  /* 日付を少し小さくする場合 */
		color: #666;        /* 日付の色を少し抑える場合 */
        text-align: left;
	}
	.topnews td {
		padding: 0;
		border-bottom: none;
        font-size: 18px;
	}
	.topnews td.cat {
		width: 100%;
		padding: 4px 0;
		font-size: 13px;
		text-align: left;
	}
    .topnews tr:first-child th{
        border-top: 2px dotted #999;
    }
    .topnews tr:first-child td{
        border-top: none;
    }
}
@media screen and (max-width: 1000px) {
    .newsdesk{
        position:absolute;
        width:100px;
        right:0px;
        bottom:-200px;
    }
}


.service {
	background:url("../images/serviceback.webp");
	padding:100px 0;
}



.bnlist {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	flex-flow: column;
	gap:50px;
	list-style-type: none;
    max-width: 80%;
    margin: 0 auto;
}
.bnlist_sp{
	display: none;
}
.bnlink {
	position: absolute;
	bottom: 200px;
	left:10%;
	width:788px!important;
}
.bnlinksp {
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.bnlinksp a {
	position: absolute;
	display: block;
}

@media screen and (max-width: 1000px) {
    .bnlist {
        display: none;
    }
    .bnlist_sp{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        flex-flow: column;
        gap:20px;
        list-style-type: none;
        max-width: 80%;
        margin: 0 auto;
    }
}

.voice {
	background:#F0F9FF;
	padding:100px 0;
}
@media screen and (max-width: 1000px) {
    .voice {
        padding:100px 40px;
    }
}
.slidearea {
	position: relative;
	max-width: 800px;
	margin:50px auto;
}
.slideperson{
	position: absolute;
	bottom:-150px;
	left:0;
	z-index: 500;
}
@media screen and (max-width: 1000px) {
    .slideperson{
        position: absolute;
        top:-190px;
        bottom:auto;
        left:0;
        width:60px;
        z-index: 500;
    }
}
.faq {
	background:#C3E6FF;
	padding:100px 0;
}
.faqperson{
	position: absolute;
	right:-150px;
	bottom:-200px;
}
@media screen and (max-width: 1000px) {
    .faqperson{
        position: absolute;
        right:100px;
        bottom:auto;
        top:-200px;
        width:90px;
    }
}
.colum {
	margin:100px 0;
}

.soudan {
    background:url("../images/waveback.webp");
    padding:100px 0 200px;
    position: relative;
}

.btn_reserve {
    width:1600px;
}
.btn_res2{
	width:800px;
}
.water {
    background:#f0f9ff;
    padding:100px 0;
	position: relative;
}

.start2 {
    margin:-150px 0 0;
}
@media screen and (max-width: 1000px) {
    .start2 {
        margin:0;
    }
}
.left_half {
    width:515px;
    position: relative;
}
.lefter{
    width:680px;
    position: relative;
}
.lefter600{
    width:600px;
    position: relative;
}
@media screen and (max-width: 1000px) {
    .left_half {
        width:100%;
        max-width:515px;
        position: relative;
        margin:0 auto;
    }
    .lefter{
        width:100%;
        max-width:680px;
        position: relative;
        margin:0 auto;
    }
    .lefter600{
        width:100%;
        max-width:600px;
        position: relative;
        margin:0 auto;
    }
}
.flcenter {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.imgplan{
    gap:10px;
    flex-wrap: wrap;
}
.imgplan img{
    width:300px;
}


.wakaba {
    position:absolute;
    left:750px;
    top:-80px;
}
@media screen and (max-width: 1000px) {
    .wakaba {
        position:absolute;
        left:auto;
        right:0px;
        top:-90px;
    }
}
.planprice {
    width:1240px;
    display: block;
    margin:0 auto;
}

.planmargin {
    width:100%;
    max-width: 620px;
    margin: 10px auto!important;
    line-height: 1.5em;
}
@media screen and (max-width: 1000px) {
    .planmargin {
        margin: 10px 0 0 20px;
        line-height: 1.5em;
        background:url("../images/ilst02.webp");
        background-repeat: no-repeat;
        padding:0 0 0 60px;
        background-size: 40px;
    }
}
.color{
    color:var(--blue);
}
.ilst_pp01 {
    position: absolute;
    right:-230px;
    top:150px;
}

.ilst_pp02 {
    position: absolute;
    right:-550px;
    top:490px;
}
.ilst_pp03 {
    position: absolute;
    right:-350px;
    top:890px;
}
@media screen and (max-width: 1000px) {
    .ilst_pp01 {
        position: absolute;
        right:auto;
        top:0px;
        left:10%;
        width:60px;
    }

    .ilst_pp02 {
        position: absolute;
        right:auto;
        top:20px;
        left:80%;
        width:60px;
    }
    .ilst_pp03 {
        position: absolute;
        right:60%;
        top:80px;
        width:50px;
    }
}
.spilust{
    display: none;
}
@media screen and (max-width: 1000px) {
    .spilust{
        display: block;
        position:relative;
        overflow: hidden;
        height:150px;
    }
}
.spacer100{
    height:100px;
}

.checklist {
    width:1184px;
}

.toestate {
    width:1043px;
}

.prisk {
    position: absolute;
    right:-200px;
    top:200px;
    
}
@media screen and (max-width: 1000px) {
    .prisk {
        position: absolute;
        right:50px;
        top:0px;
        width:50px;
    }
}

.kakutei_price {
    width:584;
    display: block;
    margin:0 auto;
    
}
.kakutei_pimg {
    width:1168px;
}


.iqs {
    position:absolute;
    top:-80px;
    left:calc(50% - 530px);
}
@media screen and (max-width: 1000px) {
    .iqs {
        position:absolute;
        top:-70px;
        left:calc(50% - 300px);
        width:60px;
    }
}
.main680 {
    width:680px;
    margin:0 auto;
}

.main500 {
    width:500px;
    margin:0 auto;
    position: relative;
}
.riyu {
    background:#ffffff99;
    width:576px;
    border-radius:0 20px;
    padding:4em 2em;
    margin:40px auto 40px;
}

@media screen and (max-width: 1000px) {
    .main680 {
        width:100%;
        max-width:680px;
        margin:0 auto;
    }

    .main500 {
        width:100%;
        max-width:500px;
        margin:0 auto;
        position: relative;
    }
    .riyu {
        background:#ffffff99;
        width:80%;
        border-radius:0 20px;
        padding:4em 2em;
        margin:40px auto 40px;
    }
    .spleft{
        text-align: left;
    }
}

.p_es {
    position: absolute;
    left:calc(50% + 550px);
    bottom:100px;
}
@media screen and (max-width: 1000px) {
    .p_es {
        position: absolute;
        left:calc(50% + 220px);
        bottom:-150px;
        width:106px;
    }
}
.es_price {
    width:100%;
    max-width:596px;
    display: block;
    margin:0 auto;
}

.es_pimg {
    width:100%;
}

.office1 {
	width:954px;
}

.offce_link {
	text-align: right;
}
ul.offce_link {
  list-style: none;
  padding: 0;
}

ul.offce_link li {
  position: relative;
  padding-right: 30px; /* 画像分の余白 */
}

ul.offce_link li::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background-image: url("../images/arrow_dn.webp");
  background-size: 12px 5px; /* 幅 高さ */
  background-repeat: no-repeat;
  width: 12px;  /* 表示領域も同じサイズに合わせる */
  height: 5px;
}
.office_table {
    max-width:544px;
    width:90%;
    margin:100px auto;
    overflow: hidden;
}
.office_table table{
    border-collapse: collapse;
    width:100%;
}
.office_table table th{
    vertical-align: top;
    font-weight: 500;
    text-align: left;
    width:180px;
    border-bottom: 1px solid #ccc;
    padding:10px 0;
}
@media screen and (max-width: 1000px) {
    .office_table table th{
        width:100px;
    }
}
.office_table table td{
    vertical-align: top;
    border-bottom: 1px solid #ccc;
    padding:10px 0;
}
.office_table table tr:last-child th,.office_table table tr:last-child td{
    border-bottom: none;
}
.startup_area {
    padding:100px 0;
}
.zeirisi_table {
    width:100%;
    max-width:700px;
    margin:100px auto;
    overflow: hidden;
    position: relative;
}
.zeirisi_table table{
    border-collapse: collapse;
    margin: 0 auto;
    width:90%;
}
.zeirisi_table table th{
    vertical-align: top;
    font-weight: 500;
    text-align: left;
    width:200px;
    border-bottom: 1px solid #ccc;
    padding:10px 0;
}
@media screen and (max-width: 1000px) {
    .zeirisi_table table th{
        width:120px;
    }
}
.zeirisi_table table td{
    vertical-align: top;
    border-bottom: 1px solid #ccc;
    padding:10px 0;
}
.zeirisi_table table tr:last-child th,.zeirisi_table table tr:last-child td{
    border-bottom: none;
}

.p_zeirisi {
    position: absolute;
    left:calc(50% + 900px);
    top:-400px;
    z-index: 500;
}
@media screen and (max-width: 1000px) {
    .p_zeirisi {
        position: absolute;
        left:auto;
        right:30px;
        top:-200px;
        z-index: 500;
        width: 60px;
    }
}
.faqtop {
    position: absolute;
    left:calc(50% + 500px);
    top:-150px;
}

.pagenation {
    width:700px;
    max-width: 90%;
    margin:0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    list-style-type: none;
    gap:30px;
}
.pagenation li {
    cursor: pointer;
}
.pagenation li.current {
    font-weight: 700;
    color: #1373D5;
}
.pagenation li.is-ellipsis {
    cursor: default;
}
.pagenation-arrow.is-disabled {
    opacity: .3;
    pointer-events: none;
}
.news-status {
    text-align: center;
    color: #666;
}

.ilst_news {
    position: absolute;
    top:-100px;
    left:calc(50% + 500px);
}

.news-content {
    width:600px;
    text-align: left;
    line-height: 1.9em;
}
.news-content p {
    margin: 0 0 1.5em;
}

.ilst_column {
    position:absolute;
    top:-100px;
    left:calc(50% - 500px);
}
.param {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.cate {
    color:var(--blue);
    border:1px solid var(--blue);
    border-radius:1em;
    line-height: 1.5em;
    padding:0 15px;
    margin: 0 15px;
}


.columntitle {
    background:var(--blue-light);
    text-align: left;
    margin:50px 0;
    border-radius: 0 24px;
    padding:20px 40px;
}

.column-content {
    text-align: left;
}

.joinflow {
    position:absolute;
    right: -100px;
    top:-150px;
}

.twocol {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.req {
    color:#fff;
    background:#01cac6;
    margin: 0 10px;
    padding:0 10px;
    border-radius: 0px;
    font-size:14px;
    line-height: 16px;
}


.toform {
    position: fixed;
    right:100px;
    top:200px;
	width:30px;
	display: block;
}
.toform img {
	width: 100%;
	display: block;
}
.toform::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 100%;
	width: 3px;
	background: #666;
	animation: toformLine 2.5s ease-in-out infinite;
}
@keyframes toformLine {
	0% {
		top: 0;
		bottom: 100%;
	}
	50% {
		top: 0;
		bottom: 0;
	}
	100% {
		top: 100%;
		bottom: 0;
	}
}
.lefter table {
    width:100%;
    margin:50px auto;
    overflow: hidden;
}
.lefter table{
    border-collapse: collapse;
    width:100%;
}
.lefter table th{
    vertical-align: top;
    font-weight: 500;
    text-align: left;
    width:180px;
    border-bottom: 1px solid #ccc;
    padding:10px 0;
}
.lefter table td{
    vertical-align: top;
    border-bottom: 1px solid #ccc;
    padding:10px 0;
}
.lefter table tr:last-child th,.lefter table tr:last-child td{
    border-bottom: none;
}


.label {
    width:191px;
    height:48px;
    background:var(--blue-light);
    font-size:19px;
    fonr-weight:700;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius:0 30px;
}

.il04 {
    position:absolute;
    left:calc(50% + 780px);
    bottom:240px;
}
@media screen and (max-width: 1000px) {
    .il04 {
        position:absolute;
        left: auto;
        right:50px;
        bottom:350px;
        width:60px;
    }
}

.kakutei_margin {
	margin-left: 140px;
}
@media screen and (max-width: 1000px) {
    .kakutei_margin {
        width:100%;
        max-width: 584px;
        margin-left: auto;
        margin-right: auto;
    }
}
.chekperson {
    position: absolute;
    left:190px;
    bottom:-100px;
}
@media screen and (max-width: 1000px) {
    .chekperson {
        position: absolute;
        left:50px;
        bottom:-100px;
        width:60px;
    }
    .notreverse {
        flex-flow: column;
    }
}


.estatepic {
    margin-top: 100px;
    z-index: 500;
}
@media screen and (max-width: 1250px) {
    .estatepic {
        margin-top: 0px;
        z-index: 500;
    }
}
.floatleft {
    float:left;
}

.title {}
.title a img{
    width:240px;
}
@media screen and (max-width: 1250px) {
	.title a img{
		width:185px;
	}
}
.btmlink {
	display: none;
}
.btmleft{
		display: flex;
		justify-content: center;
		align-items: center;
	width:50%;
	height:70px;
	background: #ff76a5;
	border-radius:8px 8px 0 0; 
}
.btmright{
		display: flex;
		justify-content: center;
		align-items: center;
	width:50%;
	height:70px;
	background: #01cac6;
	border-radius:8px 8px 0 0; 
}
@media screen and (max-width: 1250px) {
    .btmlink {
		display: flex;
		justify-content: center;
		align-items: center;
        position:fixed;
        z-index: 500;
		left:0;
		bottom:0;
		width:100%;
		color:#fff;
		text-align: center;
		font-size:24px;
    }
    .btmlink a{
        color:#fff;
    }
}
@media screen and (max-width: 500px) {
    .btmlink {
		font-size:20px;
	}
}
.pinkback {
	background:#fffafd;
}

.tit-oubo {
	width:227px;
	display: block;
	margin:0 auto;
}
.shikaku{
	margin-left: 2em;
}
.shikaku li{
	padding-left: 1em;
	list-style-type: "◆";
	margin:10px 0;
}
ul.shikaku li::marker{
	color:#ff81c5;
}
.shikaku2{
	margin-left: 2em;
	margin-right: 2em;
}
.shikaku2 li{
	padding-left: 0em;
	list-style-type: "◆";
	margin:10px 0;
}
ul.shikaku2 li::marker{
	color:#01cac6;
}

.tit{
	display: block;
	margin:0 auto;
}
.tit-howto {
	width:194px;
}

.tit-priod {
	width:194px;
}

.kikan {
	width:688px;
}
@media screen and (max-width: 1250px) {
    .kikan {
        width:334px;
    }
    
}
.tit-sponsor {
	width:132px;
	
}

.sponsor {
	display: flex;
	justify-content: center;
	align-items: center;
	gap:20px;
	flex-wrap: wrap;
}
.sponsor img{
	zoom:0.5;
}
@media screen and (max-width: 1250px) {
    .sponsor {
        display: grid;
        grid-template-columns: repeat(2, auto); /* または max-content や固定幅 (例: 200px) */
        justify-content: center; /* 2列のグリッド自体を中央寄せ */
        place-items: center;     /* 各セル内も中央寄せ */
        gap: 20px;
    }
}

.tit-flow {
	width:209px;
}

.flbox {
	border:2px solid #01cac6;
	border-radius:10px;
	width:100%;
	height:auto;
	overflow: hidden;
}

.fltit {
	background:#01cac6;
	border-radius:10px 10px 0 0;
	margin:-1px -1px 0 -1px;
	color:#fff;
	font-family: 'Noto Serif JP', serif;
	font-size:26px;
	height:48px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.dn-arrow {
	width:22px;
	margin-top:30px;
	margin-bottom:30px;
}
h2.katsudo{
	color:#01cac6;
	font-size: 24px;
}
h2.katsudo::before {
    content: ""; /* 擬似要素を表示させるために必須 */
    display: inline-block; /* インライン要素として表示し、幅と高さを指定できるようにする */
    width: 5px; /* 四角の幅 */
    height: 1em; /* 四角の高さ。`em`を使うと、親要素のフォントサイズに連動して高さを調整できます。 */
    background-color: #01cac6; /* 四角の色 */
    vertical-align: middle; /* テキストと四角の垂直方向の配置を中央に揃える */
    margin-right: 8px; /* 四角とテキストの間のスペース */
	margin-bottom: 3px;
}
h2.newstit{
	font-size:28px;
	color:#54A0FF;
	font-family: 'Noto Serif JP', serif;
	font-weight:400;
}
/* 見た目を変えずに画像タイトル(.tit)を意味的な見出しタグでラップするためのリセット */
.tit-heading{
	display:block;
	margin:0;
	padding:0;
	font-size:inherit;
	font-weight:inherit;
	line-height:inherit;
}
/* スクリーンリーダー等の支援技術のみに読み上げさせ、見た目には表示しない */
.sr-only{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}
.btn-more {
	width:196px;
}

.tit-work {
	width:405px;
}

.tit-history {
	width:339px;
}

.yearpil {
	width:155px;
}

.twin-pic {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap:30px;
	padding: 40px 0;
}
.twin-pic img{
	zoom:0.5;
}

.winnertitle {
	background: linear-gradient(to right, #ff7fdb, #bc72fe);
	width:100%;
	height:83px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size:26px;
	color:#fff;
	cursor: pointer;
	position: relative;
	user-select: none;
}
.winnertitle h2{
	font-size:26px;
	color:#fff;
	font-weight:400;
	text-align:center;
	line-height:normal;
}
.winnertitle::before,
.winnertitle::after {
	content: '';
	position: absolute;
	background-color: #fff;
	border-radius: 2px;
	transition: transform 0.3s ease, opacity 0.3s ease;
}
/* 横棒（ハイフン「-」） */
.winnertitle::before {
	width: 18px;
	height: 3px;
	top: calc(50% - 1.5px);
	right: 30px;
}
/* 縦棒（閉じているときは合わさって「+」になり、開いている時は非表示で「-」になる） */
.winnertitle::after {
	width: 3px;
	height: 18px;
	top: calc(50% - 9px);
	right: 37.5px;
}
.winnertitle.open::after {
	transform: rotate(90deg);
	opacity: 0;
}

.winners {
/*	display: none;*/
	background:#fff2f9;
	padding:30px 10px;
	font-size:16px;
	font-weight: 400;
}

.winnnerlist {
	width:100%;
	font-size:18px;
	font-weight: 500;
	border-collapse: collapse;
}
.winnnerlist th{
	font-weight: 500;
	text-align:left;
	width:15em;
	padding-left: 2em;
}
.winnnerlist th::first-letter{
	color:#ff81c5;
}
.winnnerlist th,.winnnerlist td{
	border-bottom: 1px solid #ccc;
	padding-top:20px;
	padding-bottom:20px;
}
.winnnerlist tr:last-child th,.winnnerlist tr:last-child td{
	border-bottom: none;
}
.winnersub {
	margin-left: 8em;
}
@media screen and (max-width: 1250px) {
    .winnnerlist th,.winnnerlist td{
        display: block;
        padding:0;
    }
    .winnnerlist th{
        border-bottom: none;
    }
    .winnnerlist td{
        font-size:15px;
    }
    .winnersub {
        margin-left: 2em;
    }
}
.faqcol {
    color: var(--faq);
}

.qtit {
    background:var(--faqtit);
    padding:1.5em 4em;
    cursor: pointer;
    position: relative;
    user-select: none;
    margin-top: 12px;
    transition: background-color 0.2s ease;
}
.qtit:hover {
    background-color: #ded6ed;
}
.qtit::before,
.qtit::after {
    content: '';
    position: absolute;
    background-color: var(--faq);
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
/* 横棒（-） */
.qtit::before {
    width: 16px;
    height: 2px;
    top: calc(50% - 1px);
    right: 30px;
}
/* 縦棒（合わさって「+」、開いている時は非表示で「-」） */
.qtit::after {
    width: 2px;
    height: 16px;
    top: calc(50% - 8px);
    right: 37px;
}
.qtit.open::after {
    transform: rotate(90deg);
    opacity: 0;
}
.qtit li{
    list-style-type: "Q.";
    margin-left:2em;
}
.qtit li::marker{
    color:var(--faq);
    font-size:34px;
    font-family: 'Noto Serif JP', serif;
}
.qans{
    display: none;
    background:var(--faqans);
    padding:1.5em 4em;
}
.qans li{
    list-style-type: "A.";
    margin-left:2em;
}
.qans li::marker{
    color:var(--faq);
    font-size:34px;
    font-family: 'Noto Serif JP', serif;
}

@media screen and (max-width: 768px) {
    .qtit,
    .qans {
        padding: 1.2em 3em 1.2em 1.5em;
    }
    .qtit li,
    .qans li {
        margin-left: 1.2em;
    }
    .qtit::before {
        right: 18px;
    }
    .qtit::after {
        right: 25px;
    }
}

.colorpink {
    color:var(--pink);
}

.ico-insta {
    position: fixed;
    top:15px;
    right:100px;
    width:26px;
}

.ico-tiktok {
    position: fixed;
    top:10px;
    right:50px;
    width:34px;
}
@media screen and (max-width: 1250px) {
    .ico-insta {
        position: absolute;
        top:auto;
        right:auto;
        bottom:25px;
        left:calc(50% - 50px);
        width:26px;
    }

    .ico-tiktok {
        position: absolute;
        top:auto;
        right:auto;
        bottom:20px;
        left:calc(50% + 15px);
        width:34px;
    }
    .spwide {
        padding-left: 0px;
        padding-right: 0px;
    }
}


.titlebar {
    width:100%;
    height:100px;
    background: linear-gradient(to right, #01cac6, #54a0ff);
    color:#fff;
    font-size:30px;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 1250px) {
    .titlebar {
        font-size:24px;
    }
}
.caution {
    margin-left: 2em;
}

.sendbtn {
    width:196px;
}

/* スクロールに合わせて本文要素を下から表示 */
.js-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.75s ease-out, transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.js-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .js-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
.sendok {
    width:214px;
    display: block;
    margin: 50px auto;
    
}

.ico-mail {
    width:160px;
    display: block;
    margin: 0px auto 30px;
}

.btn-totop {
    width:196px;
    display: block;
    margin:80px auto;
}
