@charset "utf-8";

/* -----reset--------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
	letter-spacing:-0.5em;
}
li {
	letter-spacing:normal;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* ------------------------------------------------------ */


@media print, screen and (min-width:961px){
* {
	font-style:normal;
	font-weight:normal;
	box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box;
	}

html {
  font-size: 62.5%; /*font-size:10px;*/
  -webkit-text-size-adjust: 100%;
  }

body {
	color: #333;
	margin: 0;
	padding: 0;
	font-size:1.4rem;
	font-family: 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	}

a { color:#333; text-decoration:none; border-bottom-width:1px; border-bottom-style:solid; padding-bottom:1px; }
a:hover { color:#cc47c7; }
a.gray { color:#aaa; text-decoration:none; }
a.blue { color:#3366CC; }
a.nbdr { border:none; }

img { max-width:100%; height:auto; }

button { border:0; padding:0; background:none; cursor:pointer; }
	
.left { float:left; }
.right { float:right; }
.center { text-align:center; }
.tright { text-align:right; }
.tleft { text-align:left; }

.fs10 { font-size:1.0rem; }
.fs12 { font-size:1.2rem; }
.fs14 { font-size:1.4rem; }
.fs16 { font-size:1.6rem; }
.fs18 { font-size:1.8rem; }
.fs20 { font-size:2.0rem; }
.fs22 { font-size:2.2rem; }
.fs28 { font-size:2.8rem; }
.fs30 { font-size:3.0rem; }
.fs40 { font-size:4.0rem; }

.f_bold { font-weight:bold; }
.tline { border-bottom-width:1px; border-bottom-style:solid; padding-bottom:2px; }

.purple { color:#a5009f; }

.lh180 { line-height:180% !important; }

table, caption, tbody, tfoot, thead, tr, th, td { vertical-align:middle; }

/* ------------------------------------------------------ */

#wrapper {
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	position:relative;
	}

header {
	width:100%; height:50px;
	margin:0 auto;
	padding:12px 0 0 0;
	background-color:#a5009f;
	}
	header a { border:none; color:#fff; }
	header div { width:98%; max-width:960px; margin:auto; color:#fff; text-align:right; position:relative; }
	header h1 { position:absolute; top:0; left:0; }
	header nav { }
	header nav li { display:inline-block; padding:5px 5px 5px 2px; position:relative; cursor:pointer; }
	header nav li:after { content:'|'; margin-left:3px; }
	header nav li:last-child:after { content:none; }
	header nav li a { padding:5px 5px 17px 5px; }

	header nav li ul { position:absolute; top:38px; left:0; width:130px; z-index:500; text-align:left; }
	header nav li li { height:0; overflow:hidden; transition:.5s; display:block; width:100%; padding:0; margin:0; }
	header nav li li a { background-color:#a5009f; padding:12px 0; text-align:center; display:block; height:40px; border-top:1px solid #fff; }
	header nav li:hover > ul > li { height:40px; overflow: visible; }

	
	header label { display:none; }

footer {
	margin-top:100px;
	border-top:1px solid #aaa;
	padding:20px 0;
	min-width: 1200px;
	}
	footer div { width:98%; max-width:960px; margin:auto; line-height:140%; font-size:1.3rem; }
	footer div h1 { font-size:1.4rem; font-weight:bold; margin-bottom:5px; }
	footer div a { border:none; }
		
.sp { display:none; }
	
#main { width:98%; max-width:960px; margin:0 auto; padding:50px 0; }

.contents { width:98%; max-width:710px; margin:auto; }

.clr { clear:both; }


/* --------------------------------------------------------------
  MENU
-------------------------------------------------------------- */
#menu, #open { display: none; }


/* --------------------------------------------------------------
  clearfix
-------------------------------------------------------------- */
#topinfo dl:after,
.newsc:after,
#topconcept:after,
footer .sitemap:after,
.contents:after,
dl.sortimo dd:after,
dl.quotation dd:after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
  }

/* --------------------------------------------------------------
  トップページ
-------------------------------------------------------------- */

/* SLIDER */

#topmain { background-position:top; background-size:cover; background-repeat:no-repeat; padding-top:49.3%; position:relative; }
#topmain h1 { position:absolute; top:15px; left:0; right:0; margin:auto; width:98%; max-width:960px;  min-width: 1200px;}
#topmain label { display:none; }
#main .topCont{max-width: 1200px; min-width: 1100px;}

#topagenavi { background-color:#a5009f; width:100%; padding:24px 0; min-width: 1200px; }
#topagenavi ul { width:98%; /*max-width:960px;*/ max-width: 1200px; margin:auto; min-width: 1200px;}
#topagenavi li { display:inline-block; /*width:20%;*/ width: 14.0%; line-height:140%; text-align:center; position:relative; cursor:pointer; }
#topagenavi li a { display:block; border-top:1px solid #fff; border-bottom:1px solid #fff; border-right:1px solid #fff; padding:12px 2px 12px 40px; color:#fff;
	background-repeat:no-repeat; height:65px; }
#topagenavi li:nth-child(1) a { border-left:1px solid #fff; background-image:url(images/i_about.png); background-position:top 15px left 8%; }
#topagenavi li:nth-child(2) a { background-image:url(images/i_management.png); background-position:top 18px left 10%; }
#topagenavi li:nth-child(3) a { background-image:url(images/i_education.png); background-position:top 12px left 11%; }
#topagenavi li:nth-child(5) a { background-image:url(images/i_event.png); background-position:top 12px left 14%; }
#topagenavi li:nth-child(6) a { background-image:url(images/i_contact.png); background-position:top 18px left 14%; }
#topagenavi li:nth-child(7) a { background-image:url(images/i_contact.png); background-position:top 18px left 14%; }
#topagenavi li.ev a { background-image:url(images/i_event.png); background-position:top 12px left 14%; }
#topagenavi li.co a { background-image:url(images/i_contact.png); background-position:top 12px left 14%; }
#topagenavi li.gud a { background-image:url(images/i_guide.png); background-position:top 12px left 14%; }
	
#topagenavi li ul { position:absolute; top:64px; left:0; width:100%; z-index:500; }
#topagenavi li li { height:0; overflow:hidden; transition:.5s; display:block; width:100%; }
#topagenavi li li a { background-color:#a5009f; padding:12px 0; text-align:center; height:43px; width: 170px;}
#topagenavi li li a:nth-child(1), #topagenavi li li a:nth-child(2) { background-image:none; }
#topagenavi li:hover > ul > li { height:42px; overflow: visible; }

table#topnews { margin:30px auto; width:98%; max-width:960px; }
#topnews td { width:50%; vertical-align:top; }
#topnews td:nth-child(2) { padding-left:20px; }
#topnews td div.box { width:470px; height:200px; border:1px solid #a0a0a0; line-height:140%; }
#topnews td .tit { background-color:#eee; text-align:right; height:30px; }
#topnews td .tit h3 { position:relative; padding:5px 0 5px 35px; background:#cc47c7; color:#fff; z-index:1; text-align:left; width:195px; height:30px;
	background-image:url(images/i_heart.png); background-repeat:no-repeat; background-position:top 10px left 8px;}
#topnews td .tit h3:after { position:absolute; content:''; right:0; top:0; width:0; height:0; border:none; border-left:solid 25px transparent; border-bottom:solid 30px #eee; z-index:3; }
#topnews td .tit h3 span { font-size:1.2rem; }
#topnews td .tit span.tolist { position:relative; top:-27px; right:10px; font-size:1.1rem; }
#topnews td .tit span.tolist a { color:#a92ea5; }
#topnews td .cnts { width:96%; height:150px; margin:10px 2%; padding:5px; overflow-y:scroll; scrollbar-width:thin; scrollbar-color: #cc47c7 #fff; }
#topnews td .cnts::-webkit-scrollbar { width:4px; }
#topnews td .cnts::-webkit-scrollbar-thumb { background:#cc47c7; }
#topnews td .cnts::-webkit-scrollbar-track { background:#fff; }
#topnews td .cnts ul { margin:0; font-size:1.3rem; }
#topnews td .cnts li { margin-bottom:8px; }
#topnews td .cnts li span { display:inline-block; }
#topnews td .cnts li span:nth-child(1) { color:#cc47c7; width:85px; vertical-align:top; }
#topnews td .cnts li span:nth-child(2) { width:340px; }
#topnews td a { border:none; }

/* ondemand */
.contents.ondemand h3{padding: 0px; margin-bottom: 30px; line-height: 1.5;}
.contents.ondemand h3 small{display: block; font-size: 1.5rem;}
.ondemand h3+p{margin-top: 20px;}
.noteCont{background:#e7e7e7; padding: 20px; border-radius: 20px; margin-bottom: 50px;}
.ondemand .noteCont p{margin-top: 0px;}
.ondemand .noteCont ol{list-style:decimal; margin-left: 1.5em;}
.ondemand .noteCont ol li{margin-bottom: 20px;}
.ondemand .noteCont ol li:last-child{margin-bottom: 0px;}
.ondemand h4{margin-bottom: 30px; font-size: 1.65rem; font-weight: bold; line-height: 1.5;}
.ondemand h4 small{display: block; font-size: 1.45rem;  font-weight: normal;}
.ondemand_cont{border-bottom: 1px solid #dcdcdc; padding-bottom:20px; margin-bottom: 30px;}
.ondemand-pro{line-height: 1.5;}
.ondemand-pro dt{font-weight: bold; }
.ondemand-pro dd{margin-bottom: 15px;}
a.ondBtn{border-radius:15px; background: #a5009f; padding: 15px; max-width: 300px; text-align: center; font-size:2.2rem; color: #fff; font-weight: bold; display: block;}
a.ondBtn:hover{background: #72006e;}
.ondemand .ondNews{height:150px; overflow: scroll; overflow-x:hidden; padding:0 5px; }

	
/* --------------------------------------------------------------
  基本
-------------------------------------------------------------- */

.title { background-repeat:no-repeat; background-position:left bottom; margin:20px 0; }
.management .title { background-image:url(images/i_management2.png); padding-left:75px; padding-top:15px; height:45px; }
.event .title { background-image:url(images/i_event2.png); padding-left:55px; padding-top:15px; height:57px; }
.contact .title { background-image:url(images/i_contact2.png); padding-left:57px; padding-top:9px; height:39px; }
.signup .title {  background-image:url(images/i_signup.png); padding-left:62px; padding-top:9px; height:39px; }

/* icon margin */
.iconL{margin-left:5px;}
.iconR{margin-right:5px;}

/* PDF icon margin */
.pdficonL,.pdficonR{color: #ff0000;}
.pdficonL{margin-left:5px;}
.pdficonR{margin-right:5px;}
	
h2 { font-size:2.2rem; color:#a5009f; border-bottom:1px solid #a0a0a0; padding-bottom:8px; }
h2 span { font-size:1.5rem; padding:0 8px; }

.contents h3 { font-size:1.8rem; color:#a5009f; padding-top:30px; }

.contents p { margin:30px 0; line-height:150%; }
ol.numList {margin:0 0 20px 1.0em;}
ol.numList li{list-style-type: decimal; margin-bottom: 5px;}
ol.numList li:last-child{margin-bottom: 0px;}
	
table.committee { width:100%; max-width:920px; margin:50px auto; }
table.committee th { background-color:#d76bd3; padding:12px 5px 12px 60px; letter-spacing:0.8em; text-align:left; }
table.committee td { padding:12px 60px; }
table.committee td:nth-child(1) { width:240px; text-align: justify; text-align-last: justify; text-justify: inter-ideograph; border-right:3px solid #fff; }
table.committee tr:nth-child(2n+1) { background-color:#d6eaf7; }

table.program { width:100%; max-width:920px; margin:30px auto; }
table.program caption { font-size:1.5rem; text-align:left; padding:10px 3px; }
table.program td { padding:10px 5px; line-height:140%; }
table.program td:nth-child(1) { width:20%; padding-left:15px; }
table.program tr:nth-child(2n+1) { background-color:#eee; }
table.basicTable { width:100%;  margin:30px auto; }
table.basicTable th,table.basicTable td{ padding:10px 5px; line-height:1.5; border:2px solid #eee;}
table.basicTable th{background:#eee; text-align: left;}

.eventbox { width:710px; margin:30px auto; border:1px solid #a0a0a0; line-height:140%; }
.eventbox h3 { background-color:#d76bd3; padding:5px 0 5px 35px; height:30px; color:#fff; background-image:url(images/i_heart.png); background-repeat:no-repeat; background-position:top 10px left 8px;}
.eventbox h3 span { font-size:1.2rem; margin-left:10px; }
.eventbox ul { width:92%; margin:15px auto; }
.eventbox li { border-bottom:1px dotted #a0a0a0; }
.eventbox li:last-child { border:none; }
.eventbox li span { display:inline-block; padding:10px 0; }
.eventbox li span:nth-child(1) { color:#0045d1; width:100px; vertical-align:top; }
.eventbox li span:nth-child(2) { width:540px; }
.eventbox a { border:none; }
.eventctns { width:710px; margin:30px auto; border-top:7px solid #d76bd3; padding:30px 1px; }
.eventctns h3 { font-size:1.7rem; font-weight:bold; color:#0045d1; margin-bottom:30px; }
.eventctns p { line-height:160%; margin:20px 0; }
img.photo { float:right; margin:0 0 10px 20px; }

.specialoffer { position:relative; height:120px; }
.specialoffer img { position:absolute; top:0; right:-100px; }

ul.step { margin:50px 0; width:100%; }
ul.step li { border:1px solid #333; position:relative; line-height:100%; min-height:70px; }
ul.step li span.num { font-size:2.4rem; background-color:#d76bd3; color:#fff; display:block; width:68px; height:68px; text-align:center; padding-top:25px; position:absolute; top:0; left:0; }
ul.step li p { margin:0; padding:25px 0 0 100px; font-weight:bold; }
ul.step li p span { color:#a5009f; }
ul.step li p.btn { padding:35px 0; text-align:center; font-size:2.4rem; }
ul.step li p.btn a { display:block; width:260px; background-color:#a5009f; border:none; border-radius:5px; color:#fff; padding:6px 0; margin:auto; }
ul.step li p.btn a:hover { background-color:#d76bd3; }
ul.step li.arw { text-align:center; margin:10px 0; border:none; min-height:32px; }

dl.benefits { margin:50px 0; }
dl.benefits dt { background-color:#a5009f; color:#fff; text-align:center; padding:10px; }
dl.benefits dd { background-color:#fff9b1; border:1px solid #a5009f; padding:10px 30px; }
dl.benefits dd p { margin:8px 0; padding:0; }
dl.benefits dd ul { margin:8px 0; }
dl.benefits dd li { color:#a5009f; line-height:120%; margin:5px 0 5px 15px; list-style-type:disc; }

/*追加*/
.mc{display:flex; flex-wrap:wrap; justify-content:space-between;}
.mc .col{margin-bottom:30px;}
.mc .col p{margin-bottom: 0px;}
.mc.duo .col{width:calc(50% - 10px);}
.mc.trio .col.g2{width:calc(66% - 15px);}
.mc.trio .col{width:calc(33.5% - 15px);}
.aCt{text-align: center;}
.aRt{text-align: right;}
.aLt{text-align: left;}
.topBnr{margin-top: 30px;}
.imgBnr a{border: none;  transition: all .2s ease-in;}
.imgBnr a:hover{opacity: 0.7;}
ul.listLi{list-style: disc; margin:0 0 20px 1.0em;}
ul.listLi li{margin-bottom: 10px; line-height: 1.5;}
ul.listLi li:last-child{margin-bottom: 0px;}
	
/* signup */	
.signup .plink{color:#a5009f; line-height:120%; margin:30px 0 30px 15px; list-style-type:disc;}
.signup .plink li{margin-bottom: 10px;}
.signup .plink li:last-child{margin-bottom: 0px;}
.signup .kaihi{border: 1px solid #ccc; border-bottom:none;}
.signup .kaihi th,.signup .kaihi td{padding: 15px; border-bottom: 1px solid #ccc;}
.signup .kaihi th{background: #d76bd3; color: #fff; font-weight: bold;}
.signup .kaihi td{background: #fff9b1;}
a.btn2,a.btn3{display:block; width:300px; border:none; border-radius:15px; color:#fff; padding:15px; margin:auto; text-align: center; line-height: 1.5; font-weight: bold; font-size:17px;}
a.btn2{background-color:#a5009f;}
a.btn2:hover{background-color:#d76bd3; }
a.btn3{background-color:#3366CC;}
a.btn3:hover{background-color:#46137f; }

	
/* election */
table.election{border:1px solid #ccc; border-right: none;}	
table.election th,table.election td{line-height:1.5; border-bottom:1px dotted #999}
table.election th { background-color:#d6eaf7; padding:15px 15px; letter-spacing:0.8em; text-align:left; font-weight: bold;}
table.election td { padding:12px 12px; border-right:1px solid #ccc; }
p.btn a { display:block; width:260px; background-color:#a5009f; border:none; border-radius:5px; color:#fff; padding:20px 0; margin:auto; text-align: center;}
p.btn a:hover { background-color:#d76bd3; }


	
/* Guidelines */
.guideline h3.gTitH3{margin-bottom:0px; padding-top: 0px; color: #fff; font-weight: bold;}
.guideline h3.gTitH3 span{margin-left: 15px;}
.guid{background: #a5009f;}
.guideline h3.gTitH3 a{color: #fff; text-decoration: none; border:none;}
.guideline h3.gTitH3 a:hover{color: #fff; text-decoration:underline;}

.guid.accordion {padding: 20px;  cursor: pointer; position: relative; border-bottom: 2px solid #fff;}
.guid.accordion::after {content: '▼'; position: absolute; right: 30px;  top: 50%; transform: translateY(-50%); font-size: 25px;	color: #fff;}
.guid.accordion.show::after {  content: '▲'; }
.guidCont {  display: none; background: #fff9b1;padding: 20px;}
.guid.accordion.show + .guidCont {display: block;}
	
	
}
