@charset "UTF-8";
/* CSS Document */


/* Font Include */
@font-face { font-family: 'Maggies Headline'; src: url('../fonts/Maggies_Headline.otf') format('opentype'); }
@font-face { font-family: 'Noto Serif Japanese'; src: url('../fonts/notoserif-r.woff') format('woff'); font-style: normal; font-weight: 400; }


/* Reset */
* { zoom: 1; }
html, body, header, footer, h1, h2, h3, h4, h5, h6, p, pre, address, ul, ol, li, dl, dt, em, dd, caption, img, form
{ margin: 0; padding: 0; border: none; font-style: normal; font-weight: normal; font-size: 100%; text-align: left; list-style-type: none; }
img { vertical-align: bottom; }
hr { display: none; }


/* Common */
html, body, #wrap { height: 100%; }
body { font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif; font-size: 15px; line-height: 1.7em; color: #000; -webkit-text-size-adjust: none; }
#wrap { height: 100%; min-height: 100%; margin: 0 auto; position: relative; }
body > #wrap { height: auto; min-height: 100%; }
noscript p { line-height: 1.2em; text-align: center; font-weight: bold; color: #F50; padding: .8em 0; background: #C00; }
p { text-align: justify; }
a { color: #000; text-decoration: none; transition: .3s; }
a:hover { color: #C10358; }
.mincho { font-family: "Noto Serif Japanese", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
.clearfix { zoom: 1; overflow: hidden; }
.clearfix:after { content: ""; display: block; clear: both; }




/* Header */
header { width: 100%; height: 150px; }
#head-box { width: 1200px; margin: 0 auto; position: relative; }
header h1 { width: 220px; height: auto; padding-top: 20px; }
header h1 img { width: 100%; height: auto; }
header h2 { line-height: 1.2; padding-top: .5em; }
header h2 a { color: #666; }
header h2 a:hover { color: #333; }
#search { position: absolute; right: 10em; top: 20px; }
#search-box { width: 150px; border-bottom: solid 1px #000; position: relative; background: #CCC; }
#search-box input[type="text"] { font-size: 93%; line-height: 1.2; width: calc(100% - 2em); height: 2.4em; padding-right: 2em; border: none; }
#search-box input::placeholder { font-size: 123%; line-height: 1.2; color: #000; }
#search-box input[type="text"]:focus { outline: 0; }
#search-box input[type="text"]:focus::placeholder { color: #CCC; }
#s-btn-area { width: 2.5em; height: 2.5em; border: none; background: none; position: absolute; top: .3em; right: 0; }
#s-btn { width: 2em; height: 2em; cursor: pointer; }
#s-btn img { width: 100%; height: auto; }
#donate-btn { position: absolute; top: 15px; right: 0; }
#donate-btn a { font-size: 105%; line-height: 1.2; text-align: center; color: #000; width: 8em; padding: .8em 0; border: solid 1px #000; display: block; }
#donate-btn a:hover { color: #FFF; border-color: #C10358; background: #C10358; }
#gmenu { position: absolute; right: 0; bottom: 0; }
#gmenu:after { content: ""; clear: both; display: block; }

/* :::::::::::::::::::: 2020.10.4変更 :::::::::::::::::::: */
#gmenu li { margin-left: 2em; padding: 0; float: left; position: relative; }
/* :::::::::::::::::::: 2020.10.4変更 :::::::::::::::::::: */

#gmenu li a { line-height: 1.2; margin: 0; display: block; }
#gmenu li > a.dropmenu { padding-right: 1em; }
#gmenu li > a.dropmenu:after { content: ""; width: .6em; height: .6em; margin-top: -.5em; border-top: 1px solid #000; border-right: 1px solid #000; position: absolute; top: 50%; right: 0; -webkit-transform: rotate(135deg); transform: rotate(135deg); }
#gmenu li ul { margin: 0; padding-top: 1em; position: absolute; top: 100%; left: -.4em; z-index: 5; }
#gmenu li ul li { color: #000; width: 18em; height: 0; margin-left: 0; overflow: hidden; }
#gmenu li:last-child ul li { width: 10em; }
#gmenu li ul li a { padding: .6em .4em .6em 1.2em; background: #FFF; }
#gmenu li ul li a:before { content: ""; width: 0; height: 0; border-style: solid; border-width: .3em 0 .3em .4em; border-color: transparent transparent transparent #CCC; position: absolute; top: .9em; left: .4em; }
#gmenu li ul li a:hover::before { border-color: transparent transparent transparent #C10358; }
#gmenu li:hover ul li { height: 2.4em; border-top: 1px solid #CCC; overflow: visible; }
#gmenu li:hover ul li:first-child{ border-top: 0; }

/* :::::::::: 2021.4.20追記 :::::::::: */
#gmenu { padding-left: 220px; }
#gmenu li ul.shortlist li { width: 12em; }
/* :::::::::: 2021.4.20追記 :::::::::: */

@media only screen and (max-width: 1200px) {
  #head-box { width: 94%; }
}
@media only screen and (max-width: 768px) {
  header { height: auto; }
  header h1 { padding-top: .6em; }
  header h2 { padding-bottom: .6em; }
  #search { right: 3em; }
  #donate-btn, #gmenu { display: none; }
}
@media only screen and (max-width: 736px) and (orientation: portrait) {
  header h1 { width: 50%; }
  #search { display: none; }
}

/* Humberger Menu */
.nav-toggle { text-align: center; width: 42px; height: 51px; background: #FFF; display: none; position: fixed; top: 1em; right: 0; z-index: 100; cursor: pointer; }
.nav-toggle span { width: 30px; border-bottom: solid 3px #000; display: block; position: absolute; left: 6px; -webkit-transition: .35s ease-in-out; transition: .3s ease-in-out; }
.nav-toggle span:nth-child(1) { top: 9px; }
.nav-toggle span:nth-child(2) { top: 18px; }
.nav-toggle span:nth-child(3) { top: 27px; }
.nav-toggle span:nth-child(4) { font-size: 75%; line-height: 1.2; color: #000; border: none; top: 34px; }
.nav-toggle.active span:nth-child(1) { top: 18px; left: 6px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
.nav-toggle.active span:nth-child(2), .nav-toggle.active span:nth-child(3) { top: 18px; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
nav.sp-menu { text-align: center; color: #000; width: 100%; padding-bottom: 1em; background: rgba(255,255,255,0.9); box-shadow: 0 3px 3px 0 rgba(0,0,0,0.3); position: fixed; top: 0; left: 0; z-index: 99; transform: translateY(-110%); transition: all 0.3s; }
nav.sp-menu ul { width: 100%; margin: 0 auto; padding: 0; }
nav.sp-menu ul li { width: 100%; padding: 0; border-bottom: solid 1px #000; }
nav.sp-menu ul li a { color: #000; padding: .8em .5em .8em 1.8em; display: block; position: relative; }
nav.sp-menu ul li a:before { content: ""; width: .6em; height: .6em; margin-top: -.3em; border-top: 1px solid #000; border-right: 1px solid #000; position: absolute; top: 50%; left: .5em; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
nav.sp-menu ul li ul { border-top: 1px solid #000; }
nav.sp-menu ul li ul li:last-child { border-bottom: none; }
nav.sp-menu ul li ul li a { padding-left: 2.5em; }
nav.sp-menu ul li ul li a:before { content: ""; width: 0; height: 0; margin-top: -.25em; border-style: solid; border-width: .3em 0 .3em .4em; border-color: transparent transparent transparent #999; position: absolute; top: 50%; left: 1.8em; -webkit-transform: rotate(0); transform: rotate(0); }
nav.sp-menu.active { transform: translateY(0%); }
#sp-search-box { width: 92%; margin: 1em auto 0 auto; padding: 0 2%; display: none; position: relative; background: #DEDEDE; }
#sp-search-box input[type="text"] { font-size: 93%; line-height: 1.2; width: calc(100% - 2em); height: 2.4em; padding-right: 2em; border: none; background: #DEDEDE; }
#sp-search-box input::placeholder { font-size: 123%; line-height: 1.2; color: #000; }
#sp-search-box input[type="text"]:focus { outline: 0; }
#sp-search-box input[type="text"]:focus::placeholder { color: #CCC; }
#sp-s-btn-area { width: 2.5em; height: 2.5em; border: none; background: none; position: absolute; top: .3em; right: 0; }
#sp-s-btn { width: 2em; height: 2em; cursor: pointer; }
#sp-s-btn img { width: 100%; height: auto; }
@media only screen and (max-width: 768px) {
  .nav-toggle { display: block; }
}
@media only screen and (max-width: 736px) and (orientation: portrait) {
  #sp-search-box { display: block; }
  #sp-s-btn-area { width: 3.5em; height: 3.5em; top: 0; right: .5em; }
  
/* :::::::::::::::::::: 2020.10.4追加 :::::::::::::::::::: */
  nav.sp-menu ul li ul.sp-none, nav.sp-menu ul li ul li.sp-none { display: none; }
/* :::::::::::::::::::: 2020.10.4追加 :::::::::::::::::::: */
}


main { font-size: 105%; line-height: 1.7; }


/* Contents */
#wrap { padding-bottom: 3em; background: url("../images/common/bg_pattern.gif"); }
#basic { width: 100%; max-width: 1340px; margin: 0 auto; padding: 3em 0 1em 0; position: relative; }
#breadcrumb { width: 94%; max-width: 1140px; margin: 0 auto; padding-bottom: 1em; position: absolute; top: 1em; left: 7em; }
#breadcrumb ul:after { content: ""; clear: both; display: block; }
#breadcrumb ul li { line-height: 1.2; color: #666; padding-right: .25em; float: left; }
#breadcrumb ul li:after { content: "/"; padding-left: .25em; }
#breadcrumb ul li:last-child::after { content: ""; }
#breadcrumb ul li a { color: #666; text-decoration: underline; }
#breadcrumb ul li a:hover { color: #C10358; }
.column, .basis { margin-bottom: 3em; }
.column:after, .basis:after { content: ""; clear: both; display: block; }
.inner-box { padding: 2.5em 5em; position: relative; }
.column h1.title-en { font-family: 'Maggies Headline'; font-size: 265%; line-height: 1.2; text-align: justify; padding-bottom: .4em; }
.column h1.title-ja { font-size: 200%; line-height: 1.2; font-weight: bold; text-align: justify; padding-bottom: .5em; }
.column h1.title-sub { font-size: 160%; line-height: 1.4; font-weight: bold; text-align: justify; padding-bottom: .5em; }
.column h1.title-sub span:before { content: "\A"; white-space: pre; }
.column .txt-box h1 { font-size: 200%; line-height: 1.2; font-weight: bold; text-align: justify; padding-bottom: .5em; }
@media only screen and (max-width: 768px) and (orientation: portrait), only screen and (max-width: 736px) {
  #wrap { padding-bottom: 2em; }
  #basic { padding-top: 1em; }
  .inner-box { padding: 2em 2em; }
  .column h1.title-sub span:before { content: ""; }
}
@media only screen and (max-width: 736px) and (orientation: portrait) {
  #wrap { padding-bottom: 1.5em; }
  #basic { padding-top: 1em; }
  .inner-box { width: 94%; padding: 3% 3%; }
  .column { margin-bottom: 1em; }
  .column h1.title-en { font-size: 200%; line-height: 1.2; }
  .column h1.title-ja { font-size: 160%; line-height: 1.2; }
  .column h1.title-sub { font-size: 140%; line-height: 1.2; }
  .column .txt-box h1 { font-size: 160%; line-height: 1.2; }
}


/* Footer */
footer { width: 100%; padding: 1.8em 0; background: #FFF; }
#foot-box { width: 1200px; margin: 0 auto; position: relative; }
footer h1 { width: 200px; height: auto; padding-bottom: 1.8em; }
footer h1 img { width: 100%; height: auto; }
footer ul#sns-btn { display: flex; justify-content: flex-end; position: absolute; top: 2.8em; right: 0; }
footer ul#sns-btn li { width: 2.5em; margin-left: .5em; }
footer ul#sns-btn li img { width: 100%; height: auto; }
footer ul#sns-btn li a:hover img { opacity: .8; }
footer ul#fmenu { padding: 1em 0 .8em 0; border-top: solid 1px #000; border-bottom: solid 1px #000; display: flex; flex-wrap: wrap; }
footer ul#fmenu li { font-size: 85%; line-height: 1.2; margin: 0 .5em .2em 0; padding-right: .5em; border-right: solid 1px #000; }
footer ul#fmenu li:last-child { border-right: none; }
footer address { font-size: 85%; line-height: 1.3; padding-top: 1.5em; }
footer address strong { font-weight: normal; margin: 0 1em; }
footer address a { text-decoration: underline; }
footer p { line-height: 1.3; }
footer p a { text-decoration: underline; }
@media only screen and (max-width: 1200px) {
  #foot-box { width: 94%; }
}
@media only screen and (max-width: 768px) {
  footer { padding: .6em 0; }
  footer h1 { padding-bottom: .6em; }
  footer ul#sns-btn { top: 1.4em; }
  footer address { padding-top: .6em; }
}
@media only screen and (max-width: 736px) and (orientation: portrait) {
  footer h1 { width: 50%; }
  footer ul#sns-btn li { width: 2.2em; }
  footer ul#fmenu { padding: 0; border-bottom: none; justify-content: flex-start; }
  footer ul#fmenu li { text-align: center; width: calc(50% - 0.5px); margin: 0; padding: 0; border-bottom: solid 1px #000; border-right: solid 1px #000; }
  footer ul#fmenu li:nth-child(2n) { border-right: none; }
/* ↓ブログ追加時コメントアウト */
  footer ul#fmenu li:last-child { width: 100%; }
/* ↑ブログ追加時コメントアウト */
  footer ul#fmenu li a { padding: .8em 0; display: block; }
  footer address { line-height: 1.4; }
  footer address strong { margin: 0; }
  footer address strong:before, footer address strong:after { content: "\A"; white-space: pre; }
}

/* 201002追加 */
footer h2 { width: 22%; height: auto; position: absolute; right: 0; bottom: .5em; }
footer h2 img { width: 100%; height: auto; }
footer h2 a:hover img { opacity: .8; }
@media only screen and (max-width: 768px) and (orientation: portrait), only screen and (max-width: 736px) {
  footer h2 { text-align: center; width: 100%; margin: 2em auto 0 auto; padding-top: 1em; border-top: solid 1px #D9D2C7; position: relative; }
  footer h2 img { width: 40%; }
}
@media only screen and (max-width: 736px) and (orientation: portrait) {
  footer h2 { margin: 1em auto 0 auto; padding-top: 1em; }
  footer h2 img { width: 80%; }
}


/* Return Button */
#returnbtn { width: 30px; height: 30px; position: fixed; bottom: 10px; right: 10px; z-index: 50; }
#returnbtn img { width: 100%; height: auto; }
#returnbtn a img { opacity: .6; transition: .2s; }
#returnbtn a:hover img { opacity: .8; }
@media only screen and (max-width: 736px) {
	#returnbtn { width: 45px; height: 45px; }
}

