@charset "utf-8";



/* common -------------------- */

:root {
	--white: rgba(255,255,255,1);
	--black: rgba(44,44,44,1);
	--gray: rgba(122,122,122,1);
	--red: rgba(226,4,27,1);
	--green: rgba(67,193,106,1);
	--gold: rgba(190,150,99,1);
	--lightgold: rgba(248,244,239,1);
	--yellow: rgba(255,238,91,1);
	--m5: 5px;
	--m10: 10px;
	--m15: 15px;
	--m20: 20px;
	--m30: 30px;
	--m40: 40px;
	--m50: 50px;
	--m60: 60px;
	--m70: 70px;
	--m80: 80px;
	--m90: 90px;
	--m100: 100px;
	--m120: 120px;
	--m160: 160px;
	--m-5: -5px;
	--m-10: -10px;
	--m-15: -15px;
	--m-20: -20px;
	--m-30: -30px;
	--m-40: -40px;
	--m-60: -60px;
	--m-80: -80px;
	--m-100: -100px;
	--m-120: -120px;
	--m-160: -160px;
}

html {
	font-size: 62.5%;
	color: #000000;
	background: #fdf9ee;
	font-family: sans-serif;
	font-feature-settings: "palt";
}
body {
	min-width: 1200px;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-size: 1.6rem;
	line-height: 1.5;
}
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
a {
	color: #be9663;
	text-decoration: none;
	transition-duration: 0.4s;
}
a:hover {
	text-decoration: none;
	opacity: 0.5;
}
a.arrow {
	padding-right: 25px;
	background: url(/selection/image/oms2025-2/arrow_gold.png) no-repeat right center;
	background-size: auto 13px;
}
img {
	width: 100%;
	height: auto;
}
b, strong {
	font-weight: bold;
}
strong {
	color: #e2041b;
}
.bold {
	font-weight: bold;
}
h2, h3, h4, h5, h6 {
	font-weight: bold;
}
h3 {
	margin-bottom: 40px;
	font-size: 3.2rem;
	line-height: 1.2;
	color: #e2041b;
	font-family: serif;
	text-align: center;
}
h4 {
	margin-bottom: 30px;
	display: inline-block;
	padding-bottom: 10px;
	font-size: 2.4rem;
	line-height: 1.2;
	font-family: serif;
	text-align: center;
	border-bottom: 2px solid #be9d64;
}
h5 {
	margin-bottom: 15px;
	font-size: 2.0rem;
	line-height: 1.4;
	font-family: serif;
}
h6 {
	margin-bottom: 10px;
	font-size: 1.6rem;
	line-height: 1.4;
}
.block {
	padding: 80px 0;
}
.wrap {
	position: relative;
	width: 1200px;
	margin: 0 auto;
}
.narrow {
	width: 980px;
	margin: 0 auto;
}
.box {
	padding: 40px;
	background: rgba(255,255,255,0.9);
	border: rgba(248,244,239,1);
	border-radius: 4px;
	box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}
.bg_white {
	background: #ffffff;
}
.bg_red {
	background: #e2041b;
	box-shadow: 0 0 20px rgba(0,0,0,0.2) inset;
}
.bg_gold {
	background: url(/selection/image/oms2025-2/bg_gold.gif) repeat 0 0;
	background-size: 81px 76px;
	background-attachment: fixed;
	box-shadow: 0 0 20px rgba(0,0,0,0.2) inset;
}
.bg_btn {
	background: url(/selection/image/oms2025-2/bg_btn.png) repeat center center;
	background-size: 46px;
	background-attachment: fixed;
	box-shadow: 0 0 20px rgba(0,0,0,0.2) inset;
}
.line {
	width: 100%;
	height: 9px;
	background: url(/selection/image/oms2025-2/line.gif) no-repeat 0 0;
	background-size: 100% 9px;
}
.white {
	color: #ffffff;
}
.red {
	color: #e2041b;
}
.gold {
	color: #be9663;
}
.l {
	font-size: 1.8rem;
	line-height: 1.5;
}
.ll {
	font-size: 2.0rem;
	line-height: 1.5;
}
.s {
	font-size: 1.4rem;
	line-height: 1.5;
}
.ss {
	font-size: 1.2rem;
	line-height: 1.5;
}
.italic {
	font-style: italic;
}
.normal {
	font-style: normal;
}
.textcenter {
	text-align: center;
}
.textleft {
	text-align: left;
}
.textright {
	text-align: right;
}
.textmiddle {
	vertical-align: middle;
}
.left {
	width: 48%;
}
.right{
	width: 48%;
}
.youtube {
	position: relative;
	width: 100%;;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.inlineblock {
	display: inline-block;
}
ul.disc {
	text-align: left;
	list-style-type: disc;
	padding-left: 1.5em;
}
.w50 { width: 50%;}
.w80 { width: 80%;}
.mb0 { margin-bottom: 0 !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb120 { margin-bottom: 120px !important; }
.sp {
	display: none;
}
.pc {
	display: block;
}
.btn {
	margin: 0 auto;
	text-align: center;
}
.btn * {
	font-weight: bold;
}
.btn a {
	position: relative;
	display: block;
	width: 100%;
	margin-bottom: 4px;
	font-size: 2.8rem;
	line-height: 1.2;
	color: #ffffff;
	text-decoration: none;
	border-radius: 6px;
	cursor: pointer;
}
.btn.btn_s {
	text-align: center;
}
.btn.btn_s a {
	display: inline-block;
	width: auto;
	height: auto;
	padding: 1em 2em;
	font-size: 1em;
}
.btn_close a {
	height: 110px;
	font-size: 4.2rem;
	line-height: 1.2;
	background: #999999;
	box-shadow: 0 4px 0 #666666;
}
.btn_close a p {
	color: #cccccc;
}
.btn_green a {
	height: 80px;
	font-size: 2.8rem;
	line-height: 1.2;
	background: linear-gradient(#74c68b, #65c07f);
	box-shadow: 0 4px 0 #529565;
}
.btn_red a {
	position: relative;
	height: 90px;
	background: linear-gradient(#df3d4b, #e2041b);
	box-shadow: 0 4px 0 #a9000f;
}
.btn a span {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-top: 32px;
}
.btn.btn_green a span {
	padding-top: 24px;
}
.btn.btn_red a span {
	padding-top: 28px;
}
.btn.btn_download a span {
	padding-left: 70px;
	background: url(/selection/image/oms2025-2/i_pamphlet.webp) no-repeat left 20px center;
	background-size: 50px 50px;
}
.btn.btn_entry a span {
	padding-left: 70px;
	background: url(/selection/image/oms2025-2/i_oubo.webp) no-repeat left 20px center;
	background-size: 50px 50px;
}
.btn.btn_talk a span {
	padding-left: 70px;
	background: url(/selection/image/oms2025-2/i_talk.webp) no-repeat left 20px center;
	background-size: 50px 50px;
}
.btn.btn_contact a span {
	padding-left: 100px;
	background: url(/selection/image/oms2025-2/i_mail.png) no-repeat 20px center;
	background-size: 80px 53px;
}
.btn a p {
	display: inline-block;
}
.btn_green a p {
	padding: 0 1.3em 0 0;
	background: url(/selection/image/oms2025-2/arrow_white.png) no-repeat right center;
	background-size: auto 0.8em;
}
.btn_green.btn_download a p {
	padding: 0 1.5em 0 0;
	background: url(/selection/image/oms2025-2/i_download.png) no-repeat right center;
	background-size: auto 1em;
}
.btn_red a p {
	padding: 0 1.5em 0 0;
	background: url(/selection/image/oms2025-2/arrow_white.png) no-repeat right center;
	background-size: auto 1em;
}
.btn a:hover {
	opacity: 0.7;
}
.btn_close a:hover {
	opacity: 1;
}
.remodal .btn + .btn {
	margin-top: var(--m30);
}
.remodal .btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 1em;
}
.remodal .btn a p {
	width: 100%;
	font-size: 3.2rem;
	text-align: left;
}

header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	min-width: 1200px;
	width: 100%;
	padding: var(--m10) var(--m20);
	color: #be9663;
	background: rgba(255,255,255,0.9);
	z-index: 9000;
	border-top: 2px solid #e2041b;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
header a {
	color: #000000;
}
header a:hover {
	opacity: 1;
	color: #be9663;
}
header .logo img {
	width: auto;
	height: 30px;
}
header nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: var(--m10) var(--m20);
}
header nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0 var(--m20);
}
header nav .headerNavButton {
	gap: var(--m5);
}
header nav .headerNavButton .buttonNav a {
	display: flex;
	align-items: center;
	padding: 0.5em 1em;
	color: var(--white);
	background: linear-gradient(#df3d4b, #e2041b);
	border-radius: 4px;
	cursor: pointer;
	transition: opacity 0.5s;
}
header nav .headerNavButton .buttonNav a:hover {
	opacity: 0.6;
}
header nav .headerNavButton .buttonNav span {
	padding-right: 1em;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22enable-background%3Anew%200%200%2024.0434%2039.5952%22%20viewBox%3D%220%200%2024.043%2039.595%22%3E%3Cpath%20d%3D%22M4.243%200%200%204.242l15.557%2015.556L0%2035.353l4.243%204.242%2019.8-19.797z%22%20style%3D%22fill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bfill%3A%23fff%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 0.45em 0.75em;
}
header .navOpen {
	display: none;
	position: relative;
	height: 30px;
	width: 40px;
	z-index: 1000;
}
header .navOpen a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
header .navOpen a:before,
header .navOpen a:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--red);
	transition: top 0.5s, bottom 0.5s, transform 0.5s;
}
header .navOpen a:before {
	top: 33.333%;
	margin-top: -1px;
}
header .navOpen a:after {
	bottom: 33.333%;
	margin-bottom: -1px;
}
header .navOpen.active a:before {
	top: 50%;
	background: var(--white);
	transform: rotate(30deg);
}
header .navOpen.active a:after {
	bottom: 50%;
	background: var(--white);
	transform: rotate(-30deg);
}

footer {
	position: relative;
	padding: 20px 0;
	font-size: 1.2rem;
	line-height: 1.0;
	background: #e2041b;
	color: #ffffff;
}
footer .left {
	text-align: left;
}
footer .right {
	text-align: right;
}
footer .right a {
	color: #ffffff;
	text-decoration: underline;
}

#contents {
	background: url(/selection/image/oms2025-2/bg_side.jpg) repeat-y center 0;
	background-size: 100% auto;
}



/* common mediaquery ---------- */



@media screen and (max-width:1200px){



}



@media screen and (max-width:900px){



}



@media screen and (max-width:640px){



:root {
	--fontsize_xs: 0.571em; /* 2vw */
	--fontsize_ss: 0.714em; /* 2.5vw */
	--fontsize_s: 0.857em; /* 3vw */
	--fontsize_l: 1.143em; /* 4vw */
	--fontsize_ll: 1.286em; /* 4.5vw */
	--fontsize_xl: 1.428em; /* 5vw */
	--fontsize_xxl: 1.571em; /* 5.5vw */
	--fontsize_xxxl: 1.714em; /* 6vw */
	--fontsize_xxxxl: 2em; /* 7vw */
	--m5: 1vw;
	--m10: 2vw;
	--m15: 3vw;
	--m20: 4vw;
	--m30: 6vw;
	--m40: 8vw;
	--m50: 10vw;
	--m60: 12vw;
	--m70: 14vw;
	--m80: 16vw;
	--m90: 18vw;
	--m100: 20vw;
	--m120: 24vw;
	--m160: 32vw;
	--m-5: -1vw;
	--m-10: -2vw;
	--m-15: -3vw;
	--m-20: -4vw;
	--m-30: -6vw;
	--m-40: -8vw;
	--m-60: -12vw;
	--m-80: -16vw;
	--m-120: -24vw;
	--m-160: -32vw;
}

body {
	min-width: 100%;
	font-size: 3.5vw;
	line-height: 1.5;
}
h3 {
	margin-bottom: 5vw;
	font-size: 6vw;
	line-height: 1.2;
	text-align: center;
}
h4 {
	margin-bottom: 5vw;
	font-size: 5vw;
	line-height: 1.2;
	text-align: center;
}
h5 {
	margin-bottom: 3.5vw;
	font-size: 4vw;
	line-height: 1.5;
	text-align: center;
}
h6 {
	margin-bottom: 2.5vw;
	font-size: 3.5vw;
	line-height: 1.5;
}
.block {
	padding: 15% 0;
}
.wrap {
	width: 100%;
	padding: 0 4vw;
}
.narrow {
	width: 100%;
	padding: 0 4vw;
}
.box {
	padding: 6vw 4vw;
}
.w50 { width: 90%;}
.mb5 { margin-bottom: 1.5% !important; }
.mb10 { margin-bottom: 2.5% !important; }
.mb20 { margin-bottom: 5% !important; }
.mb30 { margin-bottom: 7.5% !important; }
.mb40 { margin-bottom: 10% !important; }
.mb50 { margin-bottom: 12.5% !important; }
.mb60 { margin-bottom: 15% !important; }
.mb80 { margin-bottom: 15% !important; }
.ll {
	font-size: 4.5vw;
	line-height: 1.5;
}
.l {
	font-size: 4vw;
	line-height: 1.5;
}
.s {
	font-size: 3.25vw;
	line-height: 1.5;
}
.ss {
	font-size: 3vw;
	line-height: 1.5;
}
.left {
	width: 100%;
	margin-bottom: 5%;
}
.right{
	width: 100%;
}
.btn a {
	position: relative;
	display: block;
	width: 100%;
	margin-bottom: 4px;
	font-size: 4.5vw;
	line-height: 1.2;
	color: #ffffff;
	text-decoration: none;
	border-radius: 4px;
}
.btn.btn_s a {
	font-size: 3.5vw;
}
.btn_close a {
	height: auto;
	font-size: 5vw;
	line-height: 1.2;
	background: #999999;
	box-shadow: 0 4px 0 #666666;
}
.btn_green a {
	height: auto;
	font-size: 3.2vw;
	line-height: 1.2;
	background: linear-gradient(#74c68b, #65c07f);
	box-shadow: 0 4px 0 #529565;
}
.btn_red a {
	position: relative;
	height: auto;
	background: linear-gradient(#df3d4b, #e2041b);
	box-shadow: 0 4px 0 #a9000f;
}
.btn a span {
	display: block;
	position: relative;
	padding: 6vw 0;
}
.btn.btn_red a span {
	padding: 5vw 0;
}
.btn.btn_download a span,
.btn.btn_entry a span,
.btn.btn_talk a span {
	padding: 3vw 0 2.5vw 0;
	background: none;
}
.btn.btn_contact a span {
	padding: 6vw 0;
	background: none;
}
.btn a p {
	display: inline-block;
}
.btn_red a p {
	padding: 0 1.5em 0 0;
	background: url(/selection/image/oms2025-2/arrow_white.png) no-repeat right center;
	background-size: auto 1em;
}
.pc {
	display: none;
}
.sp {
	display: block;
}
header {
	min-width: 0;
}
header .logo img {
	width: auto;
	height: 26px;
}
header nav {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--m40);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-size: 5vw;
	background: rgba(226,4,27,0.9);
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s, visibility 0.5s;
}
header nav.open {
	opacity: 1;
	visibility: visible;
}
header nav ul {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0;
	text-align: center;
}
header nav .headerNavMenu {
	border-top: 1px solid var(--white);
}
header nav .headerNavMenu li {
	border-bottom: 1px solid var(--white);
}
header nav .headerNavMenu li a {
	display: block;
	width: 80vw;
	padding: var(--m20) 0;
	color: #ffffff;
}
header nav .headerNavButton {
	gap: var(--m20);
	font-size: var(--fontsize_l);
}
header nav .headerNavButton .buttonNav a {
	justify-content: center;
	width: 80vw;
	height: auto;
	padding: var(--m20);
}
header nav .headerNavButton .buttonNav.buttonNav_red a {
	background: var(--gold);
}
header nav .headerNavButton .buttonNav a {
	background: linear-gradient(#63d0b5, #3cc4a2);
}
header .navOpen {
	display: block;
	height: 4vw;
	width: 6vw;
	cursor: pointer;
}
footer .copy {
	font-size: 1.0rem;
	line-height: 1.0;
}
footer {
	padding: 4vw 0 18vw 0;
	font-size: 1.0rem;
	line-height: 1.0;
}
footer .left {
	margin-bottom: 2%;
	text-align: center;
}
footer .right {
	text-align: center;
}

#contents {
	background: url(/selection/image/oms2025-2/bg_side.jpg) repeat-y center 0;
	background-size: 110% auto;
}



}



/* pagecontent -------------------- */



#main {
	position: relative;
	padding: 130px 0 80px;
	text-align: center;
	background: url(/selection/image/oms2025-2/bg_main.webp) no-repeat 0 0;
	background-size: cover;
	overflow: hidden;
}
#main .wrap {
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
	z-index: 1;
}
#main .logoarea {
	margin-bottom: 60px;
}
#main .logoarea .main_logo {
	margin-bottom: 60px;
}
#main .logoarea .main_logo img {
	width: 60%;
}
#main .logoarea h1 {
	margin-bottom: 40px;
	font-size: 2.8rem;
	line-height: 1.2;
	font-weight: bold;
	font-family: serif;
	color: var(--white);
}
#main .logoarea h2 {
	font-size: 5rem;
	line-height: 1.5;
	font-weight: bold;
	font-family: serif;
	color: var(--white);
}
#main .partner {
	padding: 40px;
	background: var(--white);
	border-radius: 4px;
	box-shadow: rgba(255, 255, 255, 0.1) 0px 1px 1px 0px inset, rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
}
#main .partner .prtnerGold {
	margin-bottom: 40px;
}
#main .partner .prtnerList ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: 30px 40px;
}
#main .partner .prtnerList li.partner1 img { width: 186px; }
#main .partner .prtnerList li.partner2 img { width: 282px; }
#main .partner .prtnerList li.partner3 img { width: 100px; }
#main .partner .prtnerList li.partner4 img { width: 140px; }
#main .partner .prtnerList li.partner5 img { width: 100px; }
#main .partner .prtnerList li.partner6 img { width: 80px; }
#main .partner .prtnerList li.partner7 img { width: 160px; }
#main .partner .prtnerList li.partner8 img { width: 182px; }
#main .partner .prtnerList li.partner9 img { width: 80px; }
#main .partner .prtnerList li.partner10 img { width: 150px; }
#main .partner .prtnerList li.partner11 img { width: 70px; }
#main .partner .prtnerList li.partner12 img { width: 142px; }
#main .partner .prtnerList li.partner13 img { width: 140px; }
#main .partner h4 {
	margin-bottom: 30px;
	padding-bottom: 0;
	border-bottom: none;
}
#main .partner p {
	margin-top: var(--m30);
	font-size: 0.8em;
	text-align: center;
}

#about, #merit, #hyouka, #btnarea, #schedule, #organization {
	width: 1200px;
	margin: 0 auto;
}

.about_top {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 260px;
	padding: 0 40px;
	text-align: center;
	background: url(/selection/image/oms2025-2/about_bg.jpg) no-repeat center center;
	background-size: cover;
}
.about_top h3 {
	margin-bottom: 0;
	color: #ffffff;
}
#about .prizelist {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#about .prizelist li {
	position: relative;
	width: 25%;
	overflow: hidden;
	border-right: 1px solid #fdf9ee;
	border-top: 1px solid #fdf9ee;
}
#about .prizelist .thumb {
	overflow: hidden;
}
#about .prizelist .thumb img {
	transition: filter 0.5s, transform 0.5s;
}
#about .prizelist li:hover .thumb img {
	filter: blur(5px);
	transform: scale(1.1);
}
#about .prizelist .text {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 1em;
	color: #ffffff;
	text-align: center;
	background: rgba(191,157,99,0.6);
	text-shadow: 0 0 5px rgba(0,0,0,0.2);
	opacity: 0;
	transform: scale(1.1);
	transition: opacity 0.5s, transform 0.5s;
}
#about .prizelist li:hover .text {
	opacity: 1;
	transform: scale(1);
}
#about .prizelist .text .itemname {
	line-height: 1.2;
	font-weight: bold;
}
#about .prizelist .text .companyname {
	margin-top: 0.5em;
	font-size: 0.85em;
}

#merit .merit_block {
	margin-top: 20px;
	background: rgba(255,255,255,0.5);
}
#merit .merit_block .merit_title {
	padding: 22px;
	font-size: 2.4rem;
	line-height: 1;
	font-weight: bold;
	color: #ffffff;
	background: #000000;
	vertical-align: text-bottom;
}
#merit .merit_block .merit_title .entrymerit {
	position: relative;
	top: -3px;
	margin-right: 20px;
	padding: 4px 10px 4px 36px;
	font-size: 1.6rem;
	line-height: 1;
	background: #71a1d6 url(/selection/image/oms2025-2/i_oubo.png) no-repeat left 10px center;
	background-size: auto 16px;
	border: 2px solid #ffffff;
}
#merit .merit_block .merit_title .prizemerit {
	position: relative;
	top: -4px;
	margin-right: 20px;
	padding: 4px 10px 4px 32px;
	font-size: 1.6rem;
	line-height: 1;
	background: #e2041b url(/selection/image/oms2025-2/i_prize.png) no-repeat left 10px center;
	background-size: auto 16px;
	border: 2px solid #ffffff;
}
.twocolumn,
.threecolumn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.threecolumn .column {
	width: 32%;
}
#merit .merit_top {
	display: flex;
	gap: 20px;
	text-align: center;
}
#merit .merit_top .merit_top_item {
	width: 25%;
}
#merit .merit_top .merit_top_item h4 {
	display: block;
	width: 100%;
	margin-bottom: 20px;
	padding-bottom: 0;
	font-size: 1.1em;
	border-bottom: none;
}
#merit .merit_top .merit_top_item h4 a {
	position: relative;
	display: block;
	width: 100%;
	padding: 0.5em 1em 1.5em 1em;
	line-height: 1.5;
	color: var(--white);
	font-family: sans-serif;
	font-weight: bold;
	background: var(--red);
	border-radius: 8px;
}
#merit .merit_top .merit_top_item h4 a:before {
	content: "∨";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	font-weight: bold;
	color: var(--gold);
	transform: scale(1,0.6);
}
#merit .merit_top .merit_top_item h4 a span {
	padding: 0.25em 0.5em;
	font-size: 0.8em;
	line-height: 1;
	color: var(--red);
	background: var(--white);
}
#merit .merit_top .merit_top_item .merit_top_item_image {
	margin-bottom: 10px;
}
#merit .merit_top .merit_top_item .merit_top_item_image img {
	width: 80%;
	border-radius: 100%;
}
#merit .merit_top .merit_top_item p {
}
#merit .merit_block .merit_content {
	margin-top: -4px;
	padding: 30px;
	text-align: left;
	border: 4px solid #000000;
}
#merit .merit_block.marketing .merit_title {
	background: #3f69ab;
}
#merit .merit_block.marketing .merit_content {
	border: 4px solid #3f69ab;
}
#merit .merit_block.kouhou .merit_title {
	background: #6ec4ba;
}
#merit .merit_block.kouhou .merit_content {
	border: 4px solid #6ec4ba;
}
#merit .merit_block.kouhou .kouhoulist {
	display: flex;
	flex-wrap: wrap;
}
#merit .merit_block.kouhou .kouhoulist li {
	width: 49%;
}
#merit .merit_block.kouhou .kouhoulist li:nth-child(2n) {
	margin-left: 2%;
}
#merit .merit_block.kouhou .kouhoulist li:nth-child(n+3) {
	margin-top: 20px;
}
#merit .merit_block.senndenn .merit_title {
	background: #d28bb9;
}
#merit .merit_block.senndenn .merit_content {
	border: 4px solid #d28bb9;
}
#merit .merit_block.hannro .merit_title {
	background: #f6c754;
}
#merit .merit_block.hannro .merit_content {
	border: 4px solid #f6c754;
}
#merit .merit_block .merit_content h5 {
	line-height: 1.2;
	padding-top: 2px;
	padding-left: 10px;
}
#merit .merit_block.marketing .merit_content h5 {
	border-left: 2px solid #3f69ab;
}
#merit .merit_block.kouhou .merit_content h5 {
	border-left: 2px solid #6ec4ba;
}
#merit .merit_block.senndenn .merit_content h5 {
	border-left: 2px solid #d28bb9;
}
#merit .merit_block.hannro .merit_content h5 {
	border-left: 2px solid #f6c754;
}
#merit .marketing .merit_content .right img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#merit .marketing .merit_content .left .report {
	float: right;
	width: 124px;
	margin-left: 15px;
	margin-bottom: 10px;
}
#merit .kouhou .merit_content .right .left {
	width: 62%;
}
#merit .kouhou .merit_content .right .right {
	width: 32%;
}
#merit .senndenn .merit_content .left .left,
#merit .senndenn .merit_content .left .right {
	width: 47%;
}
#merit .jisseki {
	text-align: left;
}
#merit .jisseki {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#merit .jisseki div {
	width: 48%;
}
#merit .jisseki_voice {
	text-align: left;
}
#merit .jisseki_voice .jisseki_voice_title {
	padding: 0.5em;
	text-align: center;
	background: #be9663;
}
#merit .jisseki_voice .jisseki_voice_title span {
	display: inline-block;
	padding-left: 2.5em;
	padding-top: 0.2em;
	line-height: 1.4;
	color: #ffffff;
	font-weight: bold;
	background: url(/selection/image/oms2025-2/i_voice_jisseki.png) no-repeat left bottom;
	background-size: auto 100%;
}
#hyouka .process > ul {
	text-align: left;
}
#hyouka .process > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#hyouka .process > ul > li {
	width: 31%;
}
#hyouka .process > ul > li.process_title {
	width: 100%;
}
#hyouka .process > ul > li ul {
	display: flex;
}
#hyouka .process > ul > li ul li {
	width: 100%;
	padding: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	border: 1px solid rgba(0,0,0,0.1);
}
#hyouka .process > ul > li ul li.title {
	width: 45%;
	background: rgba(0,0,0,0.1);
	border: none;
	white-space: nowrap;
}
#hyouka .process h5 {
	position: relative;
	padding: 0.6em;
	font-size: 1.2em;
	color: #ffffff;
	text-align: center;
	background: #e2041b;
}
#hyouka .process h5:after {
	content: "";
	position: absolute;
	left: 100%;
	top: 0;
	width: 100%;
	height: 100%;
	margin-left: -1px;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2075%2086.603%22%3E%3Cpath%20fill%3D%22%23e2041b%22%20d%3D%22M75%2043.301L0%200v86.603z%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
}
#hyouka .process > ul > li:last-child h5:after {
	display: none;
}
#hyouka .process h6 {
	position: relative;
	padding: 0.3em;
	color: #ffffff;
	text-align: center;
	background: #e2041b;
}
#hyouka .process h6.taisa {
	background: #003d73;
}
#hyouka .process .merit_marketing {
	display: block;
	width: 100%;
	text-align: center;
	padding: 0.3em;
	color: #ffffff;
	background: #3f69ab;
}
#hyouka .process .merit_kouhou {
	display: block;
	width: 100%;
	text-align: center;
	padding: 0.3em;
	color: #ffffff;
	background: #6ec4ba;
}
#hyouka .process .merit_senndenn {
	display: block;
	width: 100%;
	text-align: center;
	padding: 0.3em;
	color: #ffffff;
	background: #d28bb9;
}
#hyouka .process .merit_hannro {
	display: block;
	width: 100%;
	text-align: center;
	padding: 0.3em;
	color: #ffffff;
	background: #f6c754;
}
#hyouka .senteiin {
	width: 300px;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	border-radius: 1000px;
}

#hyouka table {
	margin-top: 20px;
	width: 100%;
}
#hyouka table th,
#hyouka table td {
	padding: 1em;
	border: 1px solid var(--gold);
}

#voice .voice_text {
	width: 64%;
	text-align: left;
}
#voice .voice_image {
	width: 32%;
}
#voice .voice_title {
	padding-left: 15px;
	border-left: 2px solid #be9d64;
}
#voice .voice_text h4 {
	margin-bottom: 20px;
	padding-bottom: 0;
	font-size: 2.4rem;
	line-height: 1.333;
	text-align: left;
	border-bottom: none;
}
#voice .voice_text h5 {
	margin-top: 30px;
	font-size: 2.0rem;
}

.floatingCta {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: var(--m10) var(--m20);
	background: rgba(255,255,255,0.9);
	z-index: 90;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
.floatingCta ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.floatingCta ul li {
	width: 32%;
}



/* pagecontent mediaquery ---------- */



@media screen and (max-width:980px){



}



@media screen and (max-width:640px){



#main {
	display: flex;
	align-items: center;
	padding: 0;
}
#main .wrap {
	display: block;
	width: 100%;
	padding: 12vw 4vw 16vw 4vw;
	margin: 0 auto;
}
#main .logoarea {
	margin-bottom: 8vw;
}
#main .logoarea .main_logo {
	margin-bottom: 8vw;
}
#main .logoarea .main_logo img {
	width: 80%;
}
#main .logoarea h1 {
	margin-bottom: 4vw;
	font-size: 4vw;
	line-height: 1.5;
}
#main .logoarea h2 {
	font-size: 6vw;
}
#main .partner {
	padding: var(--m40) var(--m20);
}
#main .partner .prtnerGold {
	margin-bottom: 40px;
}
#main .partner .prtnerList ul {
	gap: var(--m20);
}
#main .partner .prtnerList li.partner1 img { width: 22vw; }
#main .partner .prtnerList li.partner2 img { width: 35vw; }
#main .partner .prtnerList li.partner3 img { width: 15vw; }
#main .partner .prtnerList li.partner4 img { width: 20vw; }
#main .partner .prtnerList li.partner5 img { width: 15vw; }
#main .partner .prtnerList li.partner6 img { width: 11vw; }
#main .partner .prtnerList li.partner7 img { width: 22vw; }
#main .partner .prtnerList li.partner8 img { width: 25vw; }
#main .partner .prtnerList li.partner9 img { width: 10vw; }
#main .partner .prtnerList li.partner10 img { width: 20vw; }
#main .partner .prtnerList li.partner11 img { width: 9vw; }
#main .partner .prtnerList li.partner12 img { width: 20vw; }
#main .partner .prtnerList li.partner13 img { width: 20vw; }
#main .partner h4 {
	margin-bottom: var(--m30);
}

#about, #merit, #hyouka, #btnarea, #schedule, #organization {
	width: 100%;
	margin: 0 auto;
}

.about_top {
	width: 100%;
	height: 50vw;
	background: url(/selection/image/oms2025-2/about_bg.jpg) no-repeat center center;
	background-size: cover;
}
#about .prizelist {
	display: flex;
}
#about .prizelist li {
	width: 49%;
	margin-top: 0;
	background: rgba(191,157,99,1);
}
#about .prizelist li:nth-child(n+3) {
	margin-top: 2vw;
}
#about .prizelist .thumb img {
	transition: filter 0s, transform 0s;
}
#about .prizelist li:hover .thumb img {
	filter: blur(0);
	transform: scale(1);
}
#about .prizelist .text {
	position: relative;
	height: auto;
	padding: 0.5em;
	background: rgba(191,157,99,1);
	opacity: 1;
	transform: scale(1);
}
#about .prizelist li:hover .text {
	opacity: 1;
	transform: scale(1);
}
#about .prizelist .text .itemname {
	line-height: 1.2;
	font-weight: bold;
}
#about .prizelist .text .companyname {
	margin-top: 0.5em;
	font-size: 0.8em;
}

#merit .merit_block {
	margin-top: 5vw;
	background: rgba(255,255,255,0.5);
}
#merit .merit_block .merit_title {
	padding: 5vw;
	font-size: 4.5vw;
	line-height: 1;
}
#merit .merit_block .merit_title .entrymerit {
	position: relative;
	top: -3px;
	margin-right: 2.5vw;
	padding: 1vw 2vw 1vw 6.5vw;
	font-size: 3.5vw;
	line-height: 1;
	background: #71a1d6 url(/selection/image/oms2025-2/i_oubo.png) no-repeat left 2vw center;
	background-size: 3.5vw auto;
	border: 1px solid #ffffff;
}
#merit .merit_block .merit_title .prizemerit {
	position: relative;
	top: -3px;
	margin-right: 2.5vw;
	padding: 1vw 2vw 1vw 6.5vw;
	font-size: 3.5vw;
	line-height: 1;
	background: #e2041b url(/selection/image/oms2025-2/i_prize.png) no-repeat left 2vw center;
	background-size: 3vw auto;
	border: 1px solid #ffffff;
}
.twocolumn {
	display: block;
}
#merit .merit_top {
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4%;
}
#merit .merit_top .merit_top_item {
	width: 48%;
}
#merit .merit_top .merit_top_item:nth-child(n+3) {
	margin-top: 6%;
}
#merit .merit_top .merit_top_item h4 {
	margin-bottom: var(--m20);
	font-size: 3vw;
}
#merit .merit_top .merit_top_item h4 a {
	padding: 0.5em 1em 1.5em 1em;
	line-height: 1.5;
}
#merit .merit_top .merit_top_item h4 a span {
	padding: 0.25em 0.5em;
	font-size: 3vw;
}
#merit .merit_top .merit_top_item .merit_top_item_image {
	margin-bottom: var(--m20);
}
#merit .merit_top .merit_top_item .merit_top_item_image img {
	width: 80%;
}
#merit .merit_top .merit_top_item p {
	font-size: 3vw;
}
#merit .merit_block .merit_content {
	margin-top: -3px;
	padding: 4vw;
	text-align: left;
	border: 3px solid #000000;
}
#merit .merit_block.marketing .merit_title {
	background: #3f69ab;
}
#merit .merit_block.marketing .merit_content {
	border: 3px solid #3f69ab;
}
#merit .merit_block.kouhou .merit_title {
	background: #6ec4ba;
}
#merit .merit_block.kouhou .merit_content {
	border: 3px solid #6ec4ba;
}
#merit .merit_block.senndenn .merit_title {
	background: #d28bb9;
}
#merit .merit_block.senndenn .merit_content {
	border: 3px solid #d28bb9;
}
#merit .merit_block.hannro .merit_title {
	background: #f6c754;
}
#merit .merit_block.hannro .merit_content {
	border: 3px solid #f6c754;
}
#merit .merit_block .merit_content h5 {
	line-height: 1.2;
	padding-top: 2px;
	padding-left: 2vw;
	text-align: left;
}
#merit .merit_block.marketing .merit_content h5 {
	border-left: 2px solid #3f69ab;
}
#merit .merit_block.kouhou .merit_content h5 {
	border-left: 2px solid #6ec4ba;
}
#merit .merit_block.senndenn .merit_content h5 {
	border-left: 2px solid #d28bb9;
}
#merit .merit_block.hannro .merit_content h5 {
	border-left: 2px solid #f6c754;
}
#merit .marketing .merit_content .right img {
	width: 100%;
	height: auto;
	object-fit: original;
}
#merit .marketing .merit_content .left .report {
	float: right;
	width: 42%;
	margin-left: 5%;
	margin-bottom: 5%;
}
#merit .kouhou .merit_content .right .twocolumn {
	display: flex;
	justify-content: space-between;
}
#merit .kouhou .merit_content .right .left {
	width: 58%;
}
#merit .kouhou .merit_content .right .right {
	width: 37%;
}
#merit .senndenn .merit_content .left {
	width: 100%;
}
#merit .senndenn .merit_content .right {
	width: 100%;
}
#merit .senndenn .merit_content .left .left,
#merit .senndenn .merit_content .left .right {
	width: 47%;
}
#merit .senndenn .merit_content .left img {
	margin-bottom: 4vw;
}
#merit .jisseki {
	text-align: center;
}
#merit .jisseki {
	display: block;
}
#merit .jisseki div {
	width: 100%;
	text-align: left;
	margin-top: 5vw;
}

#hyouka .process h5 {
	padding: 0.6em;
	font-size: 1.2em;
	color: #ffffff;
	text-align: center;
	background: #be9d64;
}
#hyouka .process > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#hyouka .process > ul.pc {
	display: none;
}
#hyouka .process > ul > li {
	width: 100%;
}
#hyouka .process > ul > li + li {
	margin-top: 12vw;
}
#hyouka .process h5:after {
	display: none;
	content: "";
	position: absolute;
	left: 100%;
	top: 0;
	width: 8%;
	height: 100%;
	margin-left: 0;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2075%2086.603%22%3E%3Cpath%20fill%3D%22%23e2041b%22%20d%3D%22M75%2043.301L0%200v86.603z%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 50%;
}
#hyouka .process > ul > li h5:before {
	display: none;
	content: "";
	position: absolute;
	right: 100%;
	top: 0;
	width: 8%;
	height: 100%;
	margin-left: 0;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2075%2086.603%22%3E%3Cpath%20fill%3D%22%23e2041b%22%20d%3D%22M75%2043.301L0%200v86.603z%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 50%;
}

#hyouka .table_wrapper {
	width: 100%;
	overflow-x: scroll;
}
#hyouka table {
	width: 150vw;
}
#hyouka table tr + tr {
	margin-top: var(--m20);
}

#voice .twocolumn {
	display: flex;
	flex-wrap: wrap;
}
#voice .voice_text {
	order: 2;
	width: 100%;
	text-align: left;
}
#voice .voice_image {
	display: flex;
	flex-wrap: wrap;
	order: 1;
	width: 100%;
	margin-bottom: var(--m30);
}
#voice .voice_image > * {
	width: 50%;
}
#voice .voice_image > *:first-child {
	width: 100%;
}
#voice .voice_title {
	padding-left: var(--m20);
	border-left: 2px solid #be9d64;
}
#voice .voice_text h4 {
	margin-bottom: var(--m20);
	padding-bottom: 0;
	font-size: 5vw;
}
#voice .voice_text .l {
	font-size: 3vw;
}
#voice .voice_text h5 {
	margin-top: var(--m30);
	font-size: 4.5vw;
}

.remodal .btn + .btn {
	margin-top: var(--m30);
}
.remodal .btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 1em;
}
.remodal .btn a p {
	padding: 6vw 0;
	width: 100%;
	font-size: 4vw;
	text-align: left;
}

.floatingCta {
	display: block;
}



}









