@charset "utf-8";
/*@import url('https://fonts.googleapis.com/css2?family=Playfair+Display&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300&display=swap');*/
/* -----------------------------------------------
 HTML RESET
-------------------------------------------------- */

html, body, div, 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;
	outline: 0;
	font-size : 16px;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, label, legend { display: block; }

body {
	font-size:100%;
    font-weight: normal;
	vertical-align: bottom;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #60460e;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
	-ms-overflow-style: scrollbar;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	background-repeat: repeat;
}
img{vertical-align: bottom;}
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-spacing: 0; }
input,
textarea,
select {
    font-size: 16px;
}

/* Lists Resets */
ul,ol { margin: 0; }
ul {list-style: none inside;}
ol { list-style: decimal inside; margin-left: 1em;}
.disc { list-style-type: disc; padding-left: 1em; text-indent: -1em; }
.circle { list-style-type: circle; }
li {line-height: 1.6; text-align: left;}
ul ul, ol ol { margin: 0.7em 0 0 1.42em; }

/* Clearfixes*/
.clearfix {
    content:" ";
    display:block;
    clear:both;
}
/* Text */
sub, sup {font-size: 60%; line-height: 0; position: relative; vertical-align: baseline;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}
i { font-style: italic; line-height: inherit; }
strong, b { font-weight: bold; line-height: inherit; }
small { font-size: 70%; line-height: inherit; }
hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 20px 0 20px; height: 0; }

a {text-decoration: none}
a:hover p {opacity: 0.5;}


/* -----------------------------------------------
  Layout
-------------------------------------------------- */

html {
	background-color: #FFFFFF;
  -webkit-overflow-scrolling: touch;
    visibility: hidden;
}

html.wf-active,
html.loading-delay {
    visibility: visible;
}
body {
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  /*background-color: #fff;*/
}
* html,body {height:100%;}
#wrapper {
  padding-top: 119px;
  width: 100%;
  text-align: left;
  position: relative;
  overflow: none; 
  margin: 0 auto;
}
#wrapper:after {
  content: "";
  display: table;
  height: 0;
  visibility: hidden;
  clear: both;
}
.container-fluid{
   /* margin-bottom: 5em*/
}
.container{
    padding: 5em 0;
}
.container p{
	margin-bottom:1.25em;
	line-height: 2;
	text-align: left;
    transform: rotate(0.03deg);
	}
.row p {
	margin-bottom:1.25em;
	line-height: 2;
	text-align: left;
	}
.w800{
	max-width: 800px;
	margin: 0 auto
}
img {
	max-width: 100%;
	height: auto;
}
[class*="col-"] img {
	max-width: 100%;
	height: auto;
}
.fax a[href^="tel:"] {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
  font-size: inherit;
}

/* -----------------------------------------------
 Aligns & Formats
-------------------------------------------------- */
.fl {float: left;}
.fr {float: right;}
.center {
	float: none;
	margin: 0 auto;
	display: block;
	text-align: center;
}
.imgleft {
  float: left;
  margin: 5px 20px 20px 0;
}
.imgright {
  float: right;
  margin: 5px 0 20px 20px;
}
.imgcenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	margin-bottom: 20px;
}
.oh {overflow: hidden;}
.hidden {display: none !important;}
.hidden-text {font: 0/0 a !important;}
.clear {clear: both; display: block;}


/* -----------------------------------------------
Table
--------------------------------------------------*/ 
table{
	width: 100%;
	margin: 0 auto;
	border-collapse: separate;
	border-spacing: 0px;
	border-top: 1px solid #ccc;
	line-height: 1.8em;
	background-color: white;
	color: #1D1D1D;
	margin-bottom: 0.5em;
	text-align: center;
}
table th{
	padding: 10px;
    font-size:14px;
	text-align: center;
	vertical-align: middle;
	background-color: #F2F2F2;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
	line-height:1.8em;
}
.bg_dgray th{
	background-color: #2D2D2D;
    color: white
}
table td{
    text-align: left;
   font-size:16px;
	padding: 10px 1em;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
	vertical-align: middle;
	color: #1D1D1D;
}
table td.td_yellow{
background-color: #fcf9e8;
text-align: center;
}
table td.td_orange{
background-color: #fcecdb;
text-align: center;
}
table td.td_blue{
background-color: #e6eff4;
text-align: center;
}
table td.td_green{
background-color: #E6F1E8;
text-align: center;
padding: 10px 0;

}
table td.nbr{
border-right: none;
}
table td.nbl{
border-left: none;
}

table td ul li{
	font-size:14px;
	line-height: 1.8em;
}
table th:last-child, table td:last-child{
	border-right: none;
/*	text-align: center;*/
}
table.noboder, table.noboder td{
border: none;
}
/*レスポンシブ用table_scroll*/
.table-scroll {
  overflow-x: auto;
 margin-top: 0;
  margin-bottom:1em;
 padding-top: 0
}
tbody tr th {
}
.table-scroll::-webkit-scrollbar {
  height: 10px;
}
.table-scroll::-webkit-scrollbar-track {
  margin: 0 2px;
  background: #ccc;
}
.table-scroll::-webkit-scrollbar-thumb {
  background: #666;
}
/*tableのセル内にある文字の折り返しを禁止*/
@media screen and (max-width: 768px) {
	.table-scroll table th {white-space: nowrap;}
}

/* -----------------------------------------------
 dl list
-------------------------------------------------- */
dl.dl_list {
    box-sizing: border-box;
	line-height: 1.6;
	width: 100%;
    border-top: 1px solid #C0C0C0;
    margin-bottom: 1em;
}
dl.dl_list div {
    display: block;
    width: 100%;
    border-bottom: 1px solid #C0C0C0;
}
dl.dl_list dt {
	float:left;
	width:40%;
	padding:0.5em;
	text-align: center;
    background-color: rgba(235,235,235,1.00);
}
dl.dl_list dd {
	margin-left:40%;
	padding:0.5em 1.5em;
	text-align: left;
}

/* ul disc */
ul.listDisc {
	margin-bottom: 1em;
}
ul.listDisc li {
	padding-left: 1.2em; /*1em（1文字）分、右に動かす*/
	text-indent: -1.3em; /*最初の行だけ1em（1文字）分、左に動かす*/
	list-style-type: disc;
	padding-bottom:0.5em;
}
 .listDisc li, .listDecimal li{
	 line-height:1.4;
	 margin-bottom:0
 }
ul.listDisc_top {
	margin-bottom: 1em;
}
ul.listDisc_top li {
	position: relative;
	padding-left: 1em; 
	list-style-type: none;
	padding-bottom:1.5em;
}
ul.listDisc_top li:last-child {
	padding-bottom:0;
}
ul.listDisc_top li::before {
  position: relative;
  top: 0;
  left: 0;
  display: inline-block;
  width: 10px;
  height: 10px;
  content: '';
  border-radius: 100%;
  background: #a48020;
  margin-right: 1em; 
}
ul.listDisc_top li a::after {
  position: absolute;
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  top: -8px;
  right: 0;
  width: 38px;
  height: 38px;
  background-image: url("../images/arrow_c.png");
  background-size: 38px;
}

ul.listDisc_top li span a {
	color: #60460e;
}
 .listDisc li, .listDecimal li{
	 line-height:1.4;
	 margin-bottom:0
 }

/* -----------------------------------------------
 structure module
-------------------------------------------------- */
a {
	color: #60460e
}
a:hover, a:focus {opacity: 0.5;}
a:hover { text-decoration: none;}
.blank{}
.radius{
	border-radius: 10px;
}
.circle {
  border-radius: 50%;
}
.bg_white{ background-color: #FFF;}
.bg_gray{ background-color: #F5F5F5;}
.bg_beige{ background-color: #f8f6ed;}
.bg_brown{ background-color: #a48020;}
.bg_lgreen{ background-color: rgba(241,248,235,1.00);}
.shadow {
　　-webkit-box-shadow: rgba(31,31,31,.2) 0 2px 2px;
	-moz-box-shadow: rgba(31,31,31,.2)  0 2px 2px;
	box-shadow: rgba(31,31,31,.2) 0 2px 2px;
}
/*ロールオーバー透過画像*/
a :hover.lo {
    filter: alpha(opacity=60); 
    opacity:0.6; 
    -moz-opacity:0.6;
}

/*ボックス装飾*/
.t_box {
	padding: 4%;
}
.t_box_w {
	padding: 5% 5% 3%; 
	text-align: center;
    background-color: white;
    color: #1D1D1D;
    overflow: hidden
}
.t_box_w p a {text-decoration: underline}
.t_box_w li a {text-decoration: underline}

.border_box{
	padding: 2em;
	border: 1px solid #CCC;
    margin: 5% 0
}
.border_box p{
    margin-bottom: 0
}

/* 背景画像の透過用css */
.bkRGBA{
  height: 100%;
  background: rgba(0,0,0,0.2);
}
.border{border: 1px solid #C5C5C5}
.border2{border: 1px solid #1F8B66}
.border-x{border-top: 1px solid #C5C5C5; border-bottom: 1px solid #C5C5C5}
.border-y{border-left: 1px solid #C5C5C5; border-right: 1px solid #C5C5C5}
.border-top{border-top: 1px solid #C5C5C5}
.border-top_w{border-top: 5px solid #fff}
.border-right{border-right: 1px solid #C5C5C5}
.border-bottom{border-bottom: 1px solid #C5C5C5}
.border-left{border-left: 1px solid #C5C5C5}


/* -----------------------------------------------
 text module
-------------------------------------------------- */
h1, h2, h3, h4, h5 {
  margin: 0 0 1rem;
  line-height: 1.4;
  display: block;
  width: 100%;
  text-align: center;
  font-family: "dnp-shuei-mgothic-std", sans-serif;
  font-weight: 600;
  font-style: normal;
  transform: rotate(0.03deg);
    
}
h1 {font-size: 2.5em/*40px*/;}
h2 {font-size: 2em/*32px*/;}
h3 {font-size: 1.5em/*24px*/;}
h4{font-size: 18px;}

.fs120{font-size: 120%}
.fs28{font-size: 28px}
.fs24{font-size: 24px}
.fs20{font-size: 20px}
.fs12{font-size: 12px}
.text_bold{font-weight: bold}
.text_small{font-size: 80%; font-weight: normal}
.alignL {text-align:left !important;}
.alignR {text-align:right !important;}
.alignC {text-align:center !important;}
.alignC p {text-align:center !important;}
.row p.alignC {margin: 0 auto; padding: 1em}
.uLine {
	padding-bottom: 1em;
	margin-bottom: 1em;
	border-bottom: 1px solid #CCC;
}
.col_bk {color: #000 !important;}
.col_white {color: #FFF;}
.col_green {color: #006224;}
.col_red {color: #C00;}
.marker {background: linear-gradient(transparent 70%, rgba(255,211,0,0.66) 70%);}
.catch,
.catch_bbn{
    display: inline-block;
    font-size: 22px;
    font-weight: 400;
}
p.catch{
    line-height: 1.6;
    border-bottom: 1px dotted rgba(15,106,48,.5)
}
p.catch_bbn{
    line-height: 1.6;
}
.font_min {font-family: 'Noto Serif JP', serif !important;}
.font_min_e{font-family: 'Playfair Display', serif;}


/* -----------------------------------------------
 margin style
-------------------------------------------------- */
.mb0{ margin-bottom:0px !important; }
.mb5{ margin-bottom:5px !important; }
.mb10{ margin-bottom:10px !important; }
.mb15{ margin-bottom:15px !important; }
.mb20{ margin-bottom:20px !important; }
.mb25{ margin-bottom:25px !important; }
.mb30{ margin-bottom:30px !important; }
.mb50{ margin-bottom:50px !important; }
.mt20{ margin-top:20px !important; }
.mt30{ margin-top:30px !important; }
.ma0{ margin:0 !important; }
.mx0{ margin-left:0; margin-right:0 !important; }
.mr10{ margin-right:10px !important; }
.mr20{ margin-right:20px !important; }
.ml10{ margin-left:10px !important; }
.ml20{ margin-left:20px !important; }
.mrlat{ margin-left:auto !important; margin-right:auto !important;}

/* -----------------------------------------------
 padding style
-------------------------------------------------- */
.pt0{ padding-top:0px !important; }
.pt10{ padding-top:10px !important; }
.pt15{ padding-top:15px !important; }
.pt20{ padding-top:20px !important; }
.pt30{ padding-top:30px !important; }
.pt40{ padding-top:40px !important; }
.pb10{ padding-bottom:10px !important; }
.ptb10{ padding:10px 0 !important; }

.pb0{ padding-bottom:0px !important; }
.pb80{ padding-bottom:80px !important; }
.pb100{ padding-bottom:100px !important; }
.pb140{ padding-bottom:140px !important; }
.pa0{ padding:0px !important; }
.pa5{ padding:5px !important; }
.pa10{ padding:10px !important; }
.pa15{ padding:15px !important; }
.pa20{ padding:20px !important; }
.pa30{ padding:30px !important; }
.pa40{ padding:40px !important; }
.pa50{ padding:50px !important; }
.pa5per{ padding:5% !important; }
.px0{ padding-left: 0; padding-right:0 !important; }
.py0{ padding-top: 0; padding-bottom:0 !important; }
.py10{ padding-top: 10px; padding-bottom:10px !important; }
.py20{ padding-top: 20px; padding-bottom:20px !important; }
.px15{ padding-left: 20px; padding-right:20px !important; }
.px20{ padding-left: 20px; padding-right:20px !important; }
.pr15{  padding-right:15px !important; }
.pr80{  padding-right:80px !important; }
.pr6{  padding-right:6px !important; }
.pl30{ padding-left: 30px !important; }
.pl6{ padding-left: 6px  !important; }
.pl15{ padding-left: 15px  !important; }

/* -----------------------------------------------
res map
-------------------------------------------------- */
.ggmap,
dl.list dd div.d_ggmap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 20px;
	height: 0;
	overflow: hidden;
	margin-bottom: -20px;
}
.ggmap iframe,
.ggmap object,
.ggmap embed,
dl.list dd div.d_ggmap iframe,
dl.list dd div.d_ggmap object,
dl.list dd div.d_ggmap embed{
  position: absolute;
  top: -150px;
  left: 0;
  width: 100%;
  height: calc(100% + 150px + 150px);
margin:0 auto
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
right: 0;
width: 100%;
height: 100%;
margin:0 auto
}

/* -----------------------------------------------
 Button
-------------------------------------------------- */
.button,
.button2,
.button3,
.button4{
    position: relative;
    display: block;
    width: 80%;
	background-color: rgba(255,255,255,1.00);
	color: #FFF;
    border-radius: 50px;
    border: solid 1px #e6dcc0;
    box-shadow: 8px 8px 0px -4px #e6dcc0;
    padding: 25px 100px 25px 40px; /* 上下の余白、左右の余白 */
    margin: 1em auto 0 auto;
}
.button,
.button2{
    float: right;
}
.button4,
.button3{
    float: left;
}
.button::after{
    position: absolute;
    content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    top: 15px;
    right: 30px;
    width: 80px;
    height: 58px;
    background-image: url("../images/btn_01.png");
    background-repeat: no-repeat;
    background-size: 80px 58px;
}
.button2::after{
    position: absolute;
    content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    top: 15px;
    right: 30px;
    width: 85px;
    height: 61px;
    background-image: url("../images/btn_02.png");
    background-repeat: no-repeat;
    background-size: 85px 61px;
}
.button3::after{
    position: absolute;
    content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    top: 15px;
    right: 20px;
    width: 90px;
    height: 65px;
    background-image: url("../images/btn_03.png");
    background-size: 90px 65px;
}
.button4::after{
    position: absolute;
    content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    top: 15px;
    right: 25px;
    width: 90px;
    height: 65px;
    background-image: url("../images/btn_04.png");
    background-repeat: no-repeat;
    background-size: 90px 65px;
}
a.button,
a.button2,
a.button3,
a.button4{
	color: #60460e;
	font-size: 20px;
}
a.button:hover,
a.button2:hover,
a.button3:hover,
a.button4:hover{
	opacity: 0.5;
}
.button i,
.button2 i,
.button3 i,
.button4 i{
	font-size: 20px;
    color: #a48020;
    margin-right: 0.8em;
}


/* -----------------------------------------------
index
-------------------------------------------------- */
/*---cover---*/
#cover{
	position:relative;
	width:100%;
}
#cover img{
  width: 100%;
/*  padding-bottom: 20px;*/
  height: 82vh;
  object-fit: cover;
  object-position: center bottom;
}
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
#cover .cover_ttl{
    width: 90%;
    position: absolute;
    top:12%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 2;
}
#cover .cover_ttl h1{
    position: relative;
    font-size: 2.5em;
    line-height: 1.5;
    font-weight: 600;
    text-align: center;
    color: #a48020;
    text-shadow:
            3px 3px 0px #fff, -3px -3px 0px #fff,
           -3px 3px 0px #fff,  3px -3px 0px #fff,
            3px 0px 0px #fff, -3px -0px 0px #fff,
            0px 3px 0px #fff,  0px -3px 0px #fff;
}
#cover .cover_ttl h1 span{
    font-size: 0.7em;
    margin: 0 auto;
}
#cover .cover_p{
    width: 100%;
    max-width: 400px;
    position: absolute;
    bottom:-30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 2;
}
#cover .cover_p img{
    width: 100%;
    height: auto;
}


h4.ribbon {
  width: 70%;
  line-height: 1.6;
  position: relative;
  height: 90px;
  margin: 0 auto;
  padding: 1.2rem 0.2em;
  text-align: center;
  color: #fff;
  background: #80c7b8;
  z-index: 2;
}

h4.ribbon:before,
h4.ribbon:after {
  position: absolute;
  top: 0;
  display: block;
  height: 60px;
  content: '';
  border: 45px solid #80c7b8;
}

h4.ribbon:before {
  left: -40px;
  border-left-width: 30px;
  border-left-color: transparent;
}

h4.ribbon:after {
  right: -40px;
  border-right-width: 30px;
  border-right-color: transparent;
  z-index: -1;
}

h4.ribbon span {
  position: relative;
  display: block;
}
.po_re{
    position: relative;
}
.box_ab{
    position: relative;
    bottom: 1.5em;
    width: 100%;
    background-color: #fff;
    border-radius: 10px;
    padding: 3.5em 2em 1em 2em;
    border: solid 1px #e6dcc0;
    box-shadow: 10px 10px 0px -4px #e6dcc0;
}

/* その場で */
.top_fadeIn{
animation-name:fadeInAnime;
animation-duration:3s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
/* 下から */

.top_fadeUp{
animation-name:fadeUpAnime;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}




/** --- NEWS --- **/
#eventa{
	width: 100%;
	margin: 0 auto
}
#eventa li{
	list-style-type: none;
	overflow: hidden;
	border-bottom: 2px dotted #c2ad94;
	padding-top: 1em;
    padding-bottom: .5em;
	color:#60460e;
    transform: rotate(0.03deg);
}
#eventa li a{
	text-decoration: none;
	color: #60460e;
}
#eventa li a:hover{
	text-decoration: none;
	color: #6b5529;
}
#eventa li div{
	overflow:hidden;
}
#eventa li .date,
           .title,
		   .data {
	display: block;
	float: left;
}
#eventa li .date {
	clear: none;
	width: 20%;
}
#eventa li .date.new {
   background-image: url(../images/icon_new.png);
   background-repeat: no-repeat;
   background-position: 110px center;
   background-size: 50px 19px
}
#eventa li .title {
	width: 80%;
	margin-bottom: 0.5em
}
#eventa_text .col-md-8{
    transform: rotate(0.03deg);
}
.more {
  position: relative;
    text-align: right !important;
    margin-top: 1em;
    padding-right: 2.5em;
}
.more a::after {
  position: absolute;
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  top: 3px;
  right: 0;
  width: 30px;
  height: 30px;
  background-image: url("../images/arrow_c.png");
  background-size: 30px;
}
.more span{
    padding-bottom: 0.5em;
    border-bottom: solid 1px rgba(94,70,31,0.6);
}


/* -----------------------------------------------
 contents common
-------------------------------------------------- */
/*cover2*/
#cover2{
    background-image: url("../images/cover2.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
	position: relative;
	width: 100%;
    height: 300px;
	z-index:2;
}
#cover2 h1{
    position: absolute;
	color:#60460e;
    top:38%
}
#cover2 h1 span{
    display: block;
    font-size: 0.4em;
    letter-spacing: 5px;
}

h2[ttl]{
  display: inline-block;
  position: relative;
  margin-bottom: 2em;
}
h2[ttl]:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px; /*下線の上下位置調整*/
  display: inline-block;
  width: 50px; /*下線の幅*/
  height: 5px; /*下線の太さ*/
  border-radius: 10px;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #ee8e72; /*下線の色*/
}
h3[ttl]{
    position: relative;
    background-color: rgba(236,239,220,1);
    padding: 0.5em 0;
    color: #9abc10;
    margin-bottom: 1.5em;
    border-radius: 50px;
}
h3[ttl2]{
    position: relative;
    background-color: rgba(255,239,235,1);
    padding: 0.5em 0;
    color: #ff8470;
    margin-bottom: 1.5em;
    border-radius: 50px;
}
h3.vertical::before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 50px;/*画像の幅*/
  height: 45px;/*画像の高さ*/
  background-image: url("../images/icon_flag.png");
  background-repeat: no-repeat;  
  margin-bottom: 0.5em; 
}
.tategaki{
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode:vertical-rl;   
}

h4[ttl]{
     position: relative;
     padding-left: 1.5em;
     text-align: left;
}
h4[ttl]::after {
     position: absolute;
     top: 50%;
     left:0;
     transform:translateY(-50%);
     content: '';
     width: 15px;
     height:4px;
     background-color: #a48020;
}
h5[ttl]{
    text-align: left;
    padding: 10px 5px 8px;
    background-color: rgba(220,235,222,.7);
    border: 1px solid #A3BEAC;
}

.border_r{
    border-right: dotted 3px rgba(148,129,117,0.5);
}

a.btn{
    display: inline-block;
    margin-top: 1.5em;
    padding: 0.8em 1.5em;
    background-color: #a48020;
    color: #fff;
    border-radius: 50px;
}

/* 外部リンクにアイコンを付ける */
.blank::after{
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f35d";
  font-size: 1rem;
  margin-left: 4px;
}

/* 論文リスト */
 dl.thesis dt{
    font-weight: 500;
    background-color: rgba(229,240,232,1.00);
    border: 1px solid #92BFA0;
    padding: 10px;
    margin-top: 1.5em;
    margin-bottom: 1em;
}
 dl.thesis dd{
     line-height: 1.6;
     margin-bottom: 0.8em;
    background-image:url("../images/arrow_right_green.svg");
    background-size: 8px 8px;
    background-repeat: no-repeat;
    background-position: top 8px left;
	padding-left: 1em; /*1em（1文字）分、右に動かす*/

}


.indent{
    padding-left: 1.2em; /*1em（1文字）分、右に動かす*/
	text-indent: -1em; /*最初の行だけ1em（1文字）分、左に動かす*/
}

.p_box{
    background-color: #fff;
    border-radius: 10px;
    border: solid 1px #e6dcc0;
/*    box-shadow: 10px 10px 0px -4px #e6dcc0;*/
}

p.sub_ttl {
    margin-top: 0;
    margin-bottom: 1.5em;
    text-align: center;
}
p.sub_ttl span{
    border:solid 1px #60460E;
    padding: 0.5em 1.3em;
    border-radius: 20px;
}