@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@700&display=swap');
@font-face{font-family:"游ゴシック体"; src:local("Yu Gothic Medium"),local("游ゴシック Medium");}
@font-face{font-family:"游ゴシック体"; src:local("Yu Gothic Bold"),local("游ゴシック Bold"); font-weight:bold;}

:root{
	--spacing:0.04em;
	--color:#677739;
}
*{letter-spacing:var(--spacing);}
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video{
	margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:transparent;box-sizing:border-box;}
html{font-size:62.5%;}
body{
	font-family:"游ゴシック体",YuGothic,"游ゴシック","Yu Gothic",'ヒラギノ角ゴ ProN W3','Hiragino Sans','Hiragino Kaku Gothic ProN','メイリオ',meiryo,"ＭＳ Ｐゴシック", sans-serif;
	font-size:1.8rem;
	color:#222;
	line-height:2;
	-webkit-text-size-adjust:100%;
	max-width:100%;
	min-width:320px;
	text-align:left;
	font-feature-settings:"palt";
	-webkit-font-feature-settings:"palt";
	padding-top:60px;
}
h1, h2, h3, h4, h5, h6{font-size:inherit;font-weight:inherit;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
ul{list-style:none;}
blockquote, q{quotes:none;}
blockquote:before, blockquote:after,q:before, q:after{content:'';content:none;}
li{list-style-type:none;}
ins{text-decoration:none;}
mark{font-style:italic;font-weight:bold;}
del{text-decoration:line-through;}
abbr[title], dfn[title]{border-bottom:1px dotted;cursor:help;}
table{border-collapse:collapse;border-spacing:0;}
hr{display:block;height:1px;margin:1em 0;padding:0;border:0;border-top:1px solid #cccccc;}
input, select{vertical-align:middle;margin:0;box-sizing:border-box;}
input,textarea{-webkit-appearance:none;font-family:inherit;box-sizing:border-box;}
input:focus,textarea:focus,select:focus{outline:0;}
button{font-family:inherit;background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;appearance:none;box-sizing:border-box;}
button::-moz-focus-inner{border:0;}
input:placeholder-shown{color:#ccc;}
input::-webkit-input-placeholder{color:#ccc;}
input:-moz-placeholder{color:#ccc;opacity:1;}
input::-moz-placeholder{color:#ccc;opacity:1;}
input:-ms-input-placeholder{color:#ccc;}
pre{white-space:pre-wrap;font-family:inherit;}
img{border:none;vertical-align:bottom;max-width:100%;height:auto;}
small{font-size:75%;}
a{color:#222;margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;text-decoration:none;box-sizing:border-box;outline:none;transition:.2s ease;}
a[href^="tel:"]{cursor:text;}
a:hover{color:#222;}
a img{transition:.2s ease;}
a:hover img{opacity:0.8;}
*:focus-visible,
select:focus-visible{outline:2px solid #222;transition:outline 0s!important;}
p + p{margin-top:1em;}
.en{font-family: "Manrope", sans-serif;font-optical-sizing: auto;font-style: normal;}

/* -------------------------------------------------- */
/* header */
/* -------------------------------------------------- */
header{width:100%;height:60px;background:#fff;position:fixed;top:0;left:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 40px;box-shadow:0 0 10px rgba(0,0,0,0.05);}
header .logo{width:225px;margin-bottom:6px;}
header .contact a{display:inline-block;background:#222;color:#fff;padding:7px 20px 5px;border-radius:5px;font-weight:bold;font-size:1.6rem;border:1px solid #222;line-height:1.5;white-space:nowrap;}
header .contact a:hover{background:#fff;color:#222;}

/* -------------------------------------------------- */
/* footer */
/* -------------------------------------------------- */
footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:40px;}
footer .copyright{font-size:1.2rem;}
footer .logo{width:200px;}

/* -------------------------------------------------- */
/* common */
/* -------------------------------------------------- */
.v-sp{display:none!important;}
.v-pc{display:block!important;}

/* container */
.container{max-width:1080px;padding:0 40px;margin:auto;position:relative;}
section > .container,.section > .container{padding:100px 40px;}

/* ttl */
.common-ttl01{font-size:3.6rem;text-align:center;font-weight:bold;position: relative;padding-top:40px;margin-bottom:40px;line-height:1.4;margin-top:-20px;}
.common-ttl01 .en{display:block;font-size:4rem;color:var(--color);letter-spacing:0;margin-top:-15px;}
.common-ttl01 .en small{font-size:2.4rem;margin-right:5px;}
.common-ttl01::before {content:"";position: absolute;left:50%;top:0;transform: translateX(-50%);width: 25px;height: 25px;display: inline-block;rotate: 40deg;clip-path: polygon(50% 0, 100% 100%, 0 100%);background: var(--color);opacity:1;background: linear-gradient(290deg,rgba(103, 119, 57, 1) 0%, rgba(200, 211, 27, 1) 100%);}

/* btn */
.common-btn01{font-size:1.8rem;display:inline-block;padding:10px 50px 10px 30px;background:#222;color:#fff;display:inline-block;border-radius:5px;font-weight:bold;border:1px solid #222;position:relative;text-align:center;}
.common-btn01::after{content:"";display:block;width:14px;height:16px;background:url(/large/images/2026fair/arrow.svg) no-repeat;background-size:contain;position:absolute;right:20px;top:50%;margin-top:-8px;transition:.2s ease;transform:rotate(-90deg);}
.common-btn01:hover{background:transparent;color:#222;}
.common-btn01.green{background:var(--color);border-color:var(--color);}
.common-btn01.green::after{background-image:url(/large/images/2026fair/arrow_white.svg);}
.common-btn01.green:hover{background:transparent;color:var(--color);}
.common-btn01.green:hover::after{background-image:url(/large/images/2026fair/arrow.svg);}
.common-btn01 span{display:inline-block;background:#fff;color:#222;font-size:1.6rem;border-radius:4px;line-height:1;padding:7px 8px 5px;margin-right:10px;}

/* -------------------------------------------------- */
/* animation */
/* -------------------------------------------------- */
@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,50px,0)}to{opacity:1;transform:translateZ(0)}}
.fadein{animation-duration:1.2s;animation-fill-mode:both;opacity:0.01;}
.fadein.animated{animation-name:fadeInUp;}

/* -------------------------------------------------- */
/* #block-mv */
/* -------------------------------------------------- */
#block-mv{background:url(/large/images/2026fair/mv_back.jpg) no-repeat center center;background-size:cover;height:820px;position:relative;}
#block-mv::before{content:"";display:block;width:100%;height:100%;background:#000;position:absolute;top:0;left:0;z-index:1;opacity:0.4;}
#block-mv .container{height:100%;padding-top:120px;padding-bottom:80px;display:flex;flex-direction:column;justify-content:space-between;position:relative;z-index:2;}
#block-mv .ttl{font-size:5.6rem;font-weight:bold;text-align:center;color:#fff;letter-spacing:0;line-height:1.2;white-space:nowrap;}
#block-mv .ttl small{font-size:2.8rem;display:block;margin:0 auto 18px;background:var(--color);color:#fff;width:fit-content;border-radius:4px;padding:8px 20px 3px;}
#block-mv .ttl span{font-size:2.2rem;display:block;margin-top:15px;letter-spacing:0.15em;}
#block-mv .nav{max-width:880px;margin:10px auto 0;}
#block-mv .nav .sub-ttl{font-size:2rem;font-weight:bold;text-align:center;color:#fff;margin-bottom:15px;}
#block-mv .nav .sub-ttl span{display:inline-block;position:relative;}
#block-mv .nav .sub-ttl span::before{content:"";display:block;width:50px;height:1px;background:#fff;position:absolute;right:calc(100% + 20px);top:50%;}
#block-mv .nav .sub-ttl span::after{content:"";display:block;width:50px;height:1px;background:#fff;position:absolute;left:calc(100% + 20px);top:50%;}
#block-mv .nav ul{display:flex;flex-wrap:wrap;gap:10px;}
#block-mv .nav ul > li{width:calc((100% - 10px) / 2);}
#block-mv .nav ul > li a{padding:20px 50px 18px 22px;font-weight:bold;font-size:2rem;display:flex;align-items:center;background:#fff;border-radius:8px;height:100%;position:relative;line-height:1.5;}
#block-mv .nav ul > li a::after{content:"";display:block;width:16px;height:18px;background:url(/large/images/2026fair/arrow.svg) no-repeat;background-size:contain;position:absolute;right:25px;top:50%;margin-top:-9px;transition:.2s ease;}
#block-mv .nav ul > li .num{font-size:3.4rem;color:var(--color);text-align:center;font-weight:bold;letter-spacing:0;position:relative;padding-right:18px;margin-right:20px;line-height:1;margin-bottom:5px;transition:.2s ease;}
#block-mv .nav ul > li .num small{font-size:1.2rem;display:block;margin-bottom:3px;letter-spacing:0;}
#block-mv .nav ul > li .num::after{content:"";display:block;width:1px;height:60%;background:#ccc;position:absolute;right:0;top:20%;transition:.2s ease;}
#block-mv .nav ul > li.link a{padding-left:30px;}
#block-mv .nav ul > li.link a::after{transform:rotate(-90deg);}
#block-mv .nav ul > li a:hover{background:var(--color);color:#fff;}
#block-mv .nav ul > li a:hover::after{background-image:url(/large/images/2026fair/arrow_white.svg);}
#block-mv .nav ul > li a:hover .num::after{background:#fff;}
#block-mv .nav ul > li a:hover .num{color:#fff;}

/* -------------------------------------------------- */
/* #block-special */
/* -------------------------------------------------- */
#block-special .banner{text-align:center;margin-bottom:40px;}
#block-special .box{border:1px solid #222;padding:60px;border-radius:5px;}
#block-special .logo{text-align:center;margin-bottom:15px;}
#block-special .ttl{font-size:2.4rem;font-weight:bold;margin-bottom:15px;line-height:1.6;text-align:center;}
#block-special .ttl span{font-size:2rem;display:block;border:1px solid #222;border-radius:100px;width:fit-content;padding:5px 25px;margin:0 auto 15px;position:relative;}
#block-special .ttl span::before{content:"";display:block;width: 0;height: 0;border-style: solid;border-width: 12px 10px 0px 10px;border-color: #fff transparent transparent transparent;position:absolute;top:calc(100% - 1px);left:50%;margin-left:-10px;z-index:1;}
#block-special .ttl span::after{content:"";display:block;width: 0;height: 0;border-style: solid;border-width: 12px 10px 0px 10px;border-color: #222 transparent transparent transparent;position:absolute;top:100%;left:50%;margin-left:-10px;z-index:0;}
#block-special .date{text-align:center;padding:8px 20px;font-weight:bold;font-size:2rem;letter-spacing:0;width:fit-content;margin:0 auto 40px;line-height:1.5;border-top:1px solid #222;border-bottom:1px solid #222;}
#block-special .profile{display:flex;gap:40px;margin-top:40px;background:#f3f3f3;padding:40px;font-size:1.6rem;line-height:1.8;}
#block-special .profile .img{width:25%;}
#block-special .profile .profile-inner{flex:1;align-self:center;}
#block-special .profile .position{line-height:1.6;font-size:1.4rem;font-weight:bold;letter-spacing:0;}
#block-special .profile .name{font-size:2rem;font-weight:bold;margin:0 0 10px;}
#block-special .profile p{margin:0;}
#block-special .cv{border-top:1px solid #222;padding-top:40px;margin-top:40px;}
#block-special .cv .txt{font-weight:bold;text-align:center;margin-bottom:20px;color:#c91f2b;line-height:1.6;}
#block-special .cv .btn{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;}
#block-special .cv .btn a{min-width:270px;display:flex;align-items:center;justify-content:center;}

/* -------------------------------------------------- */
/* #block-about */
/* -------------------------------------------------- */
#block-about{background:#f3f3f3;}
#block-about .column{display:flex;gap:40px;padding-top:20px;}
#block-about .logo{width:30%;text-align:center;}
#block-about .inner{flex:1;align-self:center;}
#block-about .btn{margin-top:30px;}

/* -------------------------------------------------- */
/* .block-platform */
/* -------------------------------------------------- */
.block-platform .container{border-top:1px solid #222;padding-bottom:80px;padding-top:80px;}
.block-platform .box .img{border-radius:8px;overflow:hidden;width:100%;height:350px;position:relative;z-index:0;}
.block-platform .box .img img{width:100%;height:100%;display:block;object-fit:cover;}
.block-platform .box .img::before{content:"";display:block;width:60px;height:60px;border-radius:8px;background:#fff;position:absolute;top:-35px;left:50%;margin-left:-30px;transform:scale(1,0.8) rotate(45deg);}
.block-platform .box .inner{width:calc(100% - 80px);margin:-60px auto 0;background:#fff;position:relative;z-index:1;padding:40px 40px 0;border-radius:8px;}
.block-platform .box .ttl{font-size:2.6rem;text-align:center;font-weight:bold;line-height:1.5;margin-bottom:20px;letter-spacing:0;}
.block-platform .box .btn{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:30px;}
.block-platform .box .btn a{min-width:270px;display:flex;align-items:center;justify-content:center;}

#block-platform01 .container{border-top:0;}

/* -------------------------------------------------- */
/* #block-related */
/* -------------------------------------------------- */
#block-related{background:#f3f3f3;}
#block-related .list{display:flex;flex-wrap:wrap;gap:25px;margin-top:40px;}
#block-related .list > li{width:calc((100% - 25px) / 2);background:#fff;border-radius:8px;padding:30px 35px;font-size:1.6rem;border:1px solid var(--color);}
#block-related .list > li p{margin:0;line-height:1.6;}
#block-related .list > li .name{font-size:2rem;font-weight:bold;margin-bottom:5px;position:relative;padding-left:15px;}
#block-related .list > li .name::before{content:"";display:block;width:4px;height:1em;background:var(--color);position:absolute;top:0.5em;left:0;}
#block-related .list > li .url{margin-top:5px;}
#block-related .list > li a{text-decoration:underline;}
#block-related .list > li a:hover{text-decoration:none;}


/* ======================================================================================================================= */
/* for sp */
/* ======================================================================================================================= */
@media screen and (min-width:1px) and (max-width:767px){
	html{font-size:56%;}
	body{font-size:1.6rem;padding-top:50px;}

	/* -------------------------------------------------- */
	/* header */
	/* -------------------------------------------------- */
	header{padding:0 15px;gap:20px;height:50px;}
	header .logo{width:170px;}
	header .contact a{font-size:1.4rem;}

	/* -------------------------------------------------- */
	/* footer */
	/* -------------------------------------------------- */
	footer{flex-direction:column-reverse;padding:40px 6%;gap:15px;}
	footer .logo{width:170px;}
		
	/* -------------------------------------------------- */
	/* common */
	/* -------------------------------------------------- */
	.v-pc{display:none!important;}
	.v-sp{display:block!important;}

	.container{padding:0 6%;}
	section > .container,.section > .container{padding:50px 6%;}

	/* ttl */
	.common-ttl01{font-size:2.8rem;padding-top:35px;margin-bottom:25px;margin-top:0;}
	.common-ttl01 .en{font-size:3.2rem;}
	.common-ttl01 .en small{font-size:1.8rem;}
	.common-ttl01::before{width:20px;height:20px;}

	/* btn */
	.common-btn01{padding:10px 35px 10px 25px;}
	.common-btn01::after{width:12px;height:14px;right:15px;margin-top:-7px;}

	/* -------------------------------------------------- */
	/* #block-mv */
	/* -------------------------------------------------- */
	#block-mv{height:auto;background-image:url(/large/images/2026fair/mv_back_sp.jpg);}
	#block-mv .container{padding-top:50px;padding-bottom:40px;}
	#block-mv .ttl{font-size:8vw;}
	#block-mv .ttl small{font-size:4.2vw;padding:8px 15px 5px;margin-bottom:15px;}
	#block-mv .ttl span{font-size:3.8vw;margin-top:12px;}
	#block-mv .nav{width:100%;margin-top:30px;}
	#block-mv .nav .sub-ttl{font-size:4.2vw;margin-bottom:8px;}
	#block-mv .nav .sub-ttl span::before,
	#block-mv .nav .sub-ttl span::after{width:30px;}
	#block-mv .nav ul{display:block;}
	#block-mv .nav ul > li{width:100%;}
	#block-mv .nav ul > li + li{margin-top:5px;}
	#block-mv .nav ul > li a{padding:10px 40px 8px 15px;font-size:1.8rem;min-height:54px;}
	#block-mv .nav ul > li a::after{width:12px;height:14px;right:20px;margin-top:-7px;}
	#block-mv .nav ul > li .num{font-size:2.6rem;padding-right:10px;margin-right:12px;margin-bottom:2px;}
	#block-mv .nav ul > li .num small{font-size:1.1rem;margin-bottom:0;}
	#block-mv .nav ul > li.link a{padding-left:20px;}

	/* -------------------------------------------------- */
	/* #block-special */
	/* -------------------------------------------------- */
	#block-special .banner{margin-bottom:30px;}
	#block-special .box{padding:25px;}
	#block-special .date{font-size:1.7rem;margin-bottom:20px;width:100%;padding:8px 0;}
	#block-special .ttl{font-size:2rem;margin-bottom:10px;line-height:1.5;}
	#block-special .ttl span{font-size:1.6rem;line-height:1.3;padding:10px 20px 8px;}
	#block-special .profile{margin-top:25px;display:block;padding:20px;font-size:1.4rem;}
	#block-special .profile .img{width:50%;margin:0 auto 15px;max-width:150px;}
	#block-special .cv{padding-top:25px;margin-top:25px;}
	#block-special .cv .txt{letter-spacing:0;}

	/* -------------------------------------------------- */
	/* #block-about */
	/* -------------------------------------------------- */
	#block-about .column{display:block;}
	#block-about .logo{width:20%;max-width:80px;margin:0 auto 20px;}
	#block-about .btn{text-align:center;}

	/* -------------------------------------------------- */
	/* .block-platform */
	/* -------------------------------------------------- */
	.block-platform .container{padding-bottom:50px;padding-top:40px;}
	.block-platform .box .img{height:35vw}
	.block-platform .box .img::before{width:40px;height:40px;top:-25px;margin-left:-20px;}
	.block-platform .box .inner{width:100%;padding:30px 0 0;margin-top:0;}
	.block-platform .box .ttl{font-size:2rem;margin-bottom:10px;}
	.block-platform .box .btn{margin-top:25px;}

	/* -------------------------------------------------- */
	/* #block-related */
	/* -------------------------------------------------- */
	#block-related .list{display:block;margin-top:25px;}
	#block-related .list > li{width:100%;padding:20px 25px;font-size:1.4rem;}
	#block-related .list > li + li{margin-top:10px;}
	#block-related .list > li .name{font-size:1.8rem;}

}
@media screen and (min-width:1px) and (max-width:374px){
	html{font-size:46%;}
}
