@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP|Noto+Serif+JP&display=swap');

html { font-size: 62.5%; background: #e7daad url("/common/img/bg_page_pc.png") repeat-y 50% 0; }
body { font-weight: 500; font-size: 1.0rem; font-family: 'Noto Sans JP', sans-serif; color: #4e362a; }
img { vertical-align: middle; }

a { color: #4e362a; text-decoration: none; }
a:hover { opacity: 0.7; }
a:hover img { opacity: 0.8; }
ul, ol { list-style: none; }

.inner { display: block; overflow: hidden; margin: 0 auto; width: 1000px; zoom: 1; }
.serif { font-family: 'Noto Serif JP', serif; }
.brsp, .spOnly { display: none; }
#page-top { position: fixed; right: 20px; bottom: 20px; z-index: 1000; }
#page-top a { display: block; width: 41px; height: 41px; background: url(/common/img/icon_pagetop.png) no-repeat 0 0; text-indent:-9999px; }

header { width: 860px; margin: 0 auto; height: 145px; position: relative; z-index: 2; padding: 20px 0 0; font-size: 1.6rem; line-height: 1; }
header #logo { margin-bottom: 20px; }
header #panel-btn { display: none; }
header .cmn > ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; -webkit-box-pack: justify; }
header .cmn > ul > li { position: relative; }
header .cmn > ul > li > a,
header .cmn > ul > li > span { padding: 10px; display: inline-block; }
header .cmn > ul > li > a:hover,
header .cmn > ul > li > span:hover,
header .cmn > ul > li > .is-current { background: #4e362a; color: #fff; opacity: 1; }
header .cmn > ul > li ul { display: none; background: #fff; padding: 5px 25px 15px; position: absolute; left: 0; top: 36px; }
header .cmn > ul > li:hover ul { display: block; width: 300px; }
header .cmn > ul > li li { padding: 10px 0; border-bottom: 1px solid #4e362a; }

header .sub { position: absolute; top: 22px; right: 0; }
header .sub ul { display: -webkit-flex; display: flex; }
header .sub li { margin-left: 10px; }
header .sub a { display: inline-block; padding: 7px 17px; border: 1px solid #4e362a; }



main { min-width: 860px; font-size: 1.6rem; position: relative; z-index: 1; }
.block { background: rgba(255,255,255,0.3); width: 860px; margin: 0 auto 40px; padding: 30px; }
.block p { line-height: 1.8; margin: 1.8em 0; }
.block hr { height: 1px; border: none; border-top: 1px solid #4e362a; margin: 1.8em 0; }


footer { padding: 40px 0; text-align: center; font-size: 1.6rem; }



/* メイン部分パーツ */
/** text **/
.taC { text-align: center; }
.taR { text-align: right; }
.taL { text-align: left; }
.fsS { font-size: 87%; }
.fsL { font-size: 125%; }

/** pager **/
.pager { margin: 40px 0 0; }
.pager ul { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; }
.pager ul li a { width: 25px; height: 25px; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; margin: 0 5px; }
.pager ul li.is-current a { color: #fff; background: #4e362a; }
.pager ul li.prev a { margin-right: 20px; position: relative; }
.pager ul li.prev a:before { content: ''; width: 10px; height: 10px; border: 0; border-top: solid 1px #59493f; border-right: solid 1px #59493f; -webkit-transform: rotate(-135deg); transform: rotate(-135deg); position: absolute; top: 0; bottom: 0; left: -7px; margin: auto; }
.pager ul li.next a { margin-left: 20px; position: relative; }
.pager ul li.next a:after { content: ''; width: 10px; height: 10px; border: 0; border-top: solid 1px #59493f; border-right: solid 1px #59493f; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: 0; bottom: 0; right: -7px; margin: auto; }

/** title **/
.titleStyle01 { font-size: 2.6rem; font-family: 'Noto Serif JP', serif; font-weight: normal; }
.titleStyle02 { font-size: 3.4rem; font-family: 'Noto Serif JP', serif; border-bottom: 1px solid #4e362a; text-align: center; font-weight: normal; padding-bottom: 5px; }
.titleStyle03 { font-size: 2.2rem; font-family: 'Noto Serif JP', serif; text-align: center; font-weight: normal; position: relative; margin-top: 40px; }
.titleStyle03:before { width: 350px; height: 1px; background: #4e362a; content: ""; top: 0; bottom: 0; left: 0; margin: auto; position: absolute; }
.titleStyle03:after { width: 350px; height: 1px; background: #4e362a; content: ""; top: 0; bottom: 0; right: 0; margin: auto; position: absolute; }
.titleStyle04 { font-size: 2rem; font-family: 'Noto Serif JP', serif; font-weight: normal; margin: 40px 0 30px; }


/** table **/
table { border-collapse: collapse; margin-top: 1.5em; }
.tableStyle01 { width: 100%; }
.tableStyle01 th { border-bottom: 1px solid #c5bbac; padding: 10px 0; font-weight: normal; vertical-align: top; }
.tableStyle01 td { border-bottom: 1px solid #c5bbac; padding: 10px 0; }
.tableStyle01 .bodernone { border: none; }
.tableStyle01 figure { margin-top: 5px; }
.tableStyle01 figcaption { line-height: 1.2; }
.tableStyle01 ul { display: -webkit-flex; display: flex; flex-wrap: wrap; }
.tableStyle01 li { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; width: 50%; margin-top: 5px; }
.tableStyle01 img { margin-right: 10px; }
.tableStyle02 { }
.tableStyle02 th { border-bottom: 1px solid #c5bbac; padding: 10px 0; font-weight: normal; vertical-align: top; text-align: left; }
.tableStyle02 td { border-bottom: 1px solid #c5bbac; padding: 10px 0; }


/** column **/
.column { display: -webkit-flex; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 1.8em 0; }
.column.space-between { -webkit-justify-content: space-between; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.column.justify-center { -webkit-justify-content: center; justify-content: center; }
.column.justify-center li { margin: 0 15px; }
.column.align-items-center { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.column.sideBySide li { margin-right: 2em; }
.column.col2 li { margin-top: 10px !important; width: 49.5%; }
.column.col2 li:not(:nth-child(2n+1)) { margin-left: 1%; }


/** list **/
.discList { margin: 1em 0 1em 1.5em; list-style: disc; }
.list { font-size: 1.4rem; }
.list li{ margin-top: 0.5em; }
.list .list { margin-left: 2em; }
.list-flex { display: -webkit-flex; display: flex; flex-wrap: wrap; }
.list-flex li { margin-left: 2em; }
.kakkoList { text-indent: -2.5em; padding-left: 2.5em; line-height: 1.8; }


/******* top page *******/
h1.topPage { text-align: center; margin: -145px auto 30px; }
.block.topBlock { text-align: center; padding-bottom: 200px; position: relative; }
.block.topBlock:after { position: absolute; bottom: 10px; left: 0; right: 0; margin: auto; content: ""; width: 390px; height: 170px; background: url("/common/img/top_img02.png") no-repeat 50% 50%; }
.block.topBlock p { font-size: 1.8rem; line-height: 2.2; margin-top: 2em; }


/******* biography page *******/
.block.biographyBlock { }
.block.biographyBlock .titleStyle02 + figure { margin-top: 30px; }


/******* paper page *******/
.menuBlock { width: 860px; margin: 0 auto 30px; padding: 20px 30px; border: 1px solid #4e362a; }
.menuBlock dt { text-align: center; }
.menuBlock dt span.switch-btn { font-size: 1.4rem; text-decoration: underline; }
.menuBlock ul { font-size: 1.4rem; margin-left: 25px; }
.menuBlock li { margin-top: 5px; }
.menuBlock li a { text-decoration: underline; }
.block.paperBlock figure { margin-top: 1.5em; }


/******* nelan page *******/
.block.nelanBlock { }
.block.nelanBlock .column { margin-top: 3em; }


/******* introduce page *******/
.block.introduceBlock { }
.block.introduceBlock figure { margin-top: 1.5em; }
.block.introduceBlock .titleStyle02 + ul { margin-top: 1.5em; font-size: 1.8rem; line-height: 2; }
.block.introduceBlock .titleStyle02 + ul span { font-weight: bold; display: inline-block; margin-right: 2em; }


/******* contactBlock page *******/
.block.contactBlock { }
.contactBlock2 { width: 860px; margin: 30px auto; padding: 20px 0; text-align: center; border: 1px solid #4e362a; }
.contactBlock2 h2 { font-size: 1.8rem; font-weight: normal; margin-bottom: 20px; }
.contactBlock2 p { line-height: 1.8; }


/******* info page *******/
.block.infoBlock { }


/******* promotion page *******/
.block.promotionBlock { padding: 40px 30px; }
.promotionBlock figure { margin-right: 30px; }
.promotionBlock dt { font-size: 1.8rem; font-weight: bold; }
.promotionBlock dd:last-child { margin-top: 30px; }
.promotionBlock2 { width: 860px; margin: 0 auto; }
.promotionBlock2 div { margin-top: 30px; background: rgba(255,255,255,0.3); padding: 50px 30px; width: 410px; text-align: center; }
.promotionBlock2 figure { margin-bottom: 15px; }
.promotionBlock2 dl { line-height: 1.8; }
.promotionBlock2 dt { font-size: 1.8rem; }
.promotionBlock2 dd:last-child { padding-top: 10px; margin-top: 10px; border-top: 1px solid #8e7c68; }

