@charset "utf-8";
/* アコーディオンメニュー */
.ac-menu:last-child {
  margin-bottom: 60px; /* 最後の要素の下にだけ余白 */
}
.ac-menu input {
  display: none;
}
.ac-menu label {
  color: #000; /* 文字色 */
  background: #FFE6ED; /* グラデーションの背景色 */
  padding: 20px; /* 内側の余白 */
  cursor: pointer;
  position: relative;
  display: block;
	border-radius: 15px;
	font-size: 120%;
    line-height: 2em;
    letter-spacing: 0.1em;
}
.ac-menu label:after {
  position: absolute;
  right: 20px; /* 左からの距離 */
  top: 50%; /* 上下中央配置 */
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);
  content: "＋"; /* アイコン */
}
.ac-menu input:checked ~ label::after {
  content: "−"; /* クリック後のアイコン */
}
.ac-menu div {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.3s; /* 開閉スピード */
}
.ac-menu input:checked ~ div {
  height: auto;
  opacity: 1;
  padding: 20px; /* 中身の枠内の余白 */
  background: #FFF; /* 中身の背景色 */
	border-radius: 15px;
	font-size: 110%;
    line-height: 2em;
    letter-spacing: 0;
}
.ac-menu-inside {
  color: #333; /* 中身の文字色 */
  font-size: 17px; /* 中身の文字サイズ */
  line-height: 2; /* 行間 */
}

/* ---------------------------------------------------------------------
    ▼0 default
--------------------------------------------------------------------- */

/* ---------------------------------------------------------grid--*/

.gri02 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 2%;
}

.gri03 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 2%;
}

.gri04 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: 2%;
}

.gri05 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-column-gap: 2%;
}

.gri06 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-column-gap: 2%;
}

.gri07 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-column-gap: 2%;
}

.gri08 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-column-gap: 2%;
}

.gri09 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-column-gap: 2%;
}

/* -----------------------------------flex-- */

.fle01 {
	display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
}

.fle02 {
	display: flex;
}

.fle03 {
	display: flex;
    flex-direction: column;
}

/* -----------------------------------fontfamily-- */

.mincho {
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif !important;
}

.gothic {
    font-family: 游ゴシック, YuGothic, 'Yu Gothic' , "ヒラギノ角ゴ Pro" , "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif !important;
}

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

table caption {
    font-size: initial;
    text-align: left;
    font-weight: bold;
}

table {
	margin-bottom: 30px;
}

table.tb01 {
    border-collapse: collapse;
     width:90%;
     margin:5px auto 15px  !important;
}

table.tb01 td {
    border: 1px solid #DDD;
     padding:10px;
}

table.tb01 td {
	line-height: 2em;
	text-align: left;
	vertical-align: top;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
	padding-top: 7px;
	padding-bottom: 7px;
}

table.tb01 td:nth-of-type(1) {
	width: 23%;
}

table.tb01 td:nth-of-type(2) {
	width: 77%;
}

/* ------------------------------------gallery- */

#gallery-2,
#gallery-1 {
     margin:0 0 0 0 !important;
}

#gallery-2 .gallery-item,
#gallery-1 .gallery-item {
     float: left;
     margin:0 0.8% 5px 0  !important;
     text-align: center;
     width: 16% !important;
}

#gallery-2 .gallery-item:nth-of-type(6n),
#gallery-1 .gallery-item:nth-of-type(6n) {
     margin:0 0 5px 0  !important;
}

#gallery-2 img,
#gallery-1 img {
     border:none !important;
	 width:100%;
	 height:auto;
}

#gallery-2 .gallery-caption,
#gallery-1 .gallery-caption {
     margin-left: 0;
	 font-size:75%;
	 padding-top:7px;
	 line-height:1.2em;
}

p.no {
	margin: 0px;
	padding: 0px;
}

br.sp_off {
	display:inline-block;
}

small {
	font-size:80%;
	line-height:1.7em;
	display:block;
}

.pagerbox {
	text-align:center;
}

/* ---------------------------------------------------------------------
    各デバイスで表示・非表示
--------------------------------------------------------------------- */

.pc_on {
    display:block ;
}

.pc_off {
    display:none ;
}

.tablet_on {
    display:none ;
}

.tablet_off {
    display:block ;
}

.sp_on {
    display:none ;
}

.sp_off {
    display:block ;
}

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

a {
	color: #000;
    text-decoration: none;
}

a:hover,
a:hover h1,
a:hover h2,
a:hover h3 {
	opacity:0.7 ;
	filter: alpha(opacity=70) ;
    transition: all 0.2s linear ;
}

footer a:hover {
    text-decoration: underline ;
}

dl a:hover {
	opacity:0.7 ;
	filter: alpha(opacity=70) ;
    transition: all 0.2s linear ;
    display: block;
}

/* ---　ページナビ　--- */
.navi a {
	color: #333333;
}

.navi a:hover {
}

a:hover img {
	opacity:0.8;
	filter: alpha(opacity=80);
} 

.center {
	text-align:center;
}

.clear {
	clear:both;
}

.clearfix:after {  
  content: ".";   
  display: block;   
  height: 0;   
  clear: both;   
  visibility: hidden;  
}  
  
.clearfix { display: inline-table; }  
  
/* Hides from IE-mac \*/  
* html .clearfix { height: 1%; }  
.clearfix { display: block; }  
/* End hide from IE-mac */

.archive-day {
}

.go-detail {
	text-align: right;
	padding-left: 12px;
}

.notes {
	font-size: 80%;
	line-height: 1.5em;
	width: 80%;
	margin-right: auto;
	margin-left: auto;
	border: 1px dotted #CCCCCC;
	padding: 10px;
	text-align: left;
}

/* ---------------------------pagetop-- */

#page-top {
     position: fixed;
     bottom: 0;
     right: 20px;
     font-size: 77%;
}

#page-top a {
    text-decoration: none;
    color: #fff;
    width: 45px;
    height: 45px;
    text-align: center;
    display: block;
    background-image: url(../images/pagetop.png);
    -moz-background-size: cover;
    background-size: cover;
}

#page-top a:hover {
     opacity:0.7;
     filter: alpha(opacity=70);
}

/* ---------------------------------------------------------------------
    スペーサー
--------------------------------------------------------------------- */

.marginWidthAuto {
     margin-left:auto ;
     margin-right:auto ;
}

.margin5b {
    margin-bottom:5px!important;
}

.margin6b {
    margin-bottom:6px!important;
}

.margin7b {
    margin-bottom:7px!important;
}

.margin10b {
    margin-bottom:10px!important;
}

.margin15b {
    margin-bottom:15px!important;
}

.margin20b {
    margin-bottom:20px!important;
}

.margin25b {
    margin-bottom:25px!important;
}

.margin30b {
    margin-bottom:30px!important;
}

.margin35b {
    margin-bottom:35px!important;
}

.margin40b {
    margin-bottom:40px!important;
}

.margin45b {
    margin-bottom:45px!important;
}

.margin50b {
    margin-bottom:50px!important;
}

.margin55b {
    margin-bottom:55px!important;
}

.margin60b {
    margin-bottom:60px!important;
}

.margin65b {
    margin-bottom:65px!important;
}

.margin70b {
    margin-bottom:70px!important;
}

.margin75b {
    margin-bottom:75px!important;
}

.margin80b {
    margin-bottom:80px!important;
}

.margin85b {
    margin-bottom:85px!important;
}

.margin90b {
    margin-bottom:90px!important;
}

.margin100b {
    margin-bottom:100px!important;
}

.margin5t10b {
     margin-top:5px !important;
    margin-bottom:10px !important;
}

.margin10t15b {
     margin-top:10px !important;
    margin-bottom:15px !important;
}

.margin15t20b {
     margin-top:15px !important;
    margin-bottom:20px !important;
}

.margin30t20b {
     margin-top:30px !important;
    margin-bottom:20px !important;
}

.margin30t30b {
     margin-top:30px !important;
    margin-bottom:30px !important;
}

.margin10t {
     margin-top:10px !important;
}

.margin15t {
     margin-top:15px !important;
}

.margin20t {
     margin-top:20px !important;
}

.margin25t {
     margin-top:25px !important;
}

.margin30t {
     margin-top:30px !important;
}

.margin40t {
     margin-top:40px !important;
}

.margin50t {
     margin-top:50px !important;
}

.margin5r {
     margin-right:5px !important;
}

.margin7r {
     margin-right:7px !important;
}

.margin8r {
     margin-right:8px !important;
}

.margin10r {
     margin-right:10px !important;
}

.margin15r {
     margin-right:15px !important;
}

.margin20r {
     margin-right:20px !important;
}

.margin25r {
     margin-right:25px !important;
}

.margin30r {
     margin-right:30px !important;
}

.margin10r10b {
     margin-right:10px !important;
     margin-bottom:10px !important;
}

.margin15r15b {
     margin-right:15px !important;
     margin-bottom:15px !important;
}

.margin20r20b {
     margin-right:20px !important;
     margin-bottom:20px !important;
}

.margin25r25b {
     margin-right:25px !important;
     margin-bottom:25px !important;
}

.margin5t5b {
     margin-top:5px !important;
     margin-bottom:5px !important;
}

.margin10t10b {
     margin-top:10px !important;
     margin-bottom:10px !important;
}

.margin15t15b {
     margin-top:15px !important;
     margin-bottom:15px !important;
}

.margin25t25b {
     margin-top:25px !important;
     margin-bottom:25px !important;
}

.margin30t30b {
     margin-top:30px !important;
     margin-bottom:30px !important;
}

.margin35t35b {
     margin-top:35px !important;
     margin-bottom:35px !important;
}

.margin40t40b {
     margin-top:40px !important;
     margin-bottom:40px !important;
}

.margin45t45b {
     margin-top:45px !important;
     margin-bottom:45px !important;
}

.margin50t50b {
     margin-top:50px !important;
     margin-bottom:50px !important;
}

.margin70t70b {
     margin-top:70px !important;
     margin-bottom:70px !important;
}

.margin100t100b {
     margin-top:100px !important;
     margin-bottom:100px !important;
}

/**/
.padding5t5b {
     padding-top:5px !important;
     padding-bottom:5px !important;
}

.padding5t10b {
     padding-top:5px !important;
     padding-bottom:10px !important;
}

.padding10t15b {
     padding-top:10px !important;
     padding-bottom:15px !important;
}

.padding15t15b {
     padding-top:15px !important;
     padding-bottom:15px !important;
}

.padding15t15b {
     padding-top:15px !important;
     padding-bottom:15px !important;
}

.padding15t20b {
     padding-top:15px !important;
     padding-bottom:20px !important;
}

.padding25t25b {
     padding-top:25px !important;
     padding-bottom:25px !important;
}

.padding30t30b {
     padding-top:30px !important;
     padding-bottom:30px !important;
}

.padding35t35b {
     padding-top:35px !important;
     padding-bottom:35px !important;
}

.padding40t40b {
     padding-top:40px !important;
     padding-bottom:40px !important;
}

.padding45t45b {
     padding-top:45px !important;
     padding-bottom:45px !important;
}

.padding50t50b {
     padding-top:50px !important;
     padding-bottom:50px !important;
}

.padding70t70b {
     padding-top:70px !important;
     padding-bottom:70px !important;
}

.padding100t100b {
     padding-top:100px !important;
     padding-bottom:100px !important;
}


/* ------------------------------------- スペーサー2*/

.padding5 {
     padding:5px !important;
}

.padding10 {
     padding:10px !important;
}

.padding15 {
     padding:15px !important;
}

.padding20 {
     padding:20px !important;
}

.padding25 {
     padding:25px !important;
}

.padding30 {
     padding:30px !important;
}


/* ---------------------------search-- */

.search_area {
	float:right;
	margin:0 0 0 15px;
}

#searchform1 {
	position: relative;
}
#keywords1	{
	width: 138px;
	height: 18px;
	border: 1px solid #CCC;
	padding: 2px 2px 2px 2px;
	background-color: #d6d7d7;
}

#searchBtn1	{
	position: absolute;
	top: 0;
	left: 176px;
}

#search-submit {
	background-image: url(../images/btn1.gif);
	text-indent: -99999px;
	height: 24px;
	width: 24px;
	border : none;
}

/* ---------------------------------------------------------------------
    ▼1 codeset
--------------------------------------------------------------------- */

/* ---------------------------------------------------------------------
    ▼2　blog
--------------------------------------------------------------------- */

.blog_area h2 {
    font-size: 160%;
    text-align: left;
    box-sizing: border-box;
    clear: both;
    color: #000;
    line-height: 1.3em;
    margin: 70px 0 35px;
}

.blog_area h3 {
    font-size: 116%;
    margin-bottom: 25px;
    padding: 11px 14px;
    background-color: #EFEFEF;
    border-radius: 5px;
}

.blog_area p {
    margin-bottom: 30px;
}

.blog_area ol,
.blog_area ul {
    margin: 15px 0 30px 20px;
}

.blog_area a {
    text-decoration: underline;
}

.blog_area table {
    margin-bottom: 10px;
    border-collapse: collapse;
    width: 100%;
    margin: 10px auto 60px;
}

.blog_area td {
    line-height: 2em;
    text-align: left;
    vertical-align: top;
    border: 1px solid #DDD;
    padding:10px;
}

.blog_area span {
    display: inline-block;
}

.blog_area em {
    font-style: normal;
    background-color: rgba(0,0,0,0.07);
    padding: 25px;
    margin: 15px 0 40px 0;
    box-sizing: border-box;
    display: block;
    border: none;
    font-size: 95%;
}

.blog_area em a {
	font-size:70%;
	opacity:0.9;
	filter: alpha(opacity=90);
}

.blog_area em:before {
    content: "”";
    position: absolute;
    margin-left: -13px;
    font-size: 160%;
    margin-top: -12px;
}

/* -----------------------------------bl01-- */

.bl01 {
    font-size: initial;
    line-height: initial;
    margin: 0 0 0;
}

.bl01 dd {
    min-height: 210px;
}

.bl01 time {
    font-size: 80%;
    color: #666;
    margin-top: 7px;
    margin-bottom: 7px;
    display: block;
}

.bl01 h3 {
    font-size: 120%;
    margin-bottom: 7px;
}

.bl01 p {
    font-size: 90%;
    margin-bottom: 0;
}

.bl01 dt img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

/* -----------------------------------bl02-- */

.bl02 {
    font-size: initial;
    line-height: initial;
    margin: 0 0 0;
}

.bl02 .di01 {
    width: 12%;
    margin-bottom: 15px;
}

.bl02 .di02 {
    width: 88%;
    margin-bottom: 15px;
}

.bl02 time {
    font-size: 100%;
    color: #666;
    display: block;
}

.bl02 h3 {
    font-size: 110%;
    margin-bottom: 7px;
}

.bl02 a:hover {
    text-decoration: underline;
}


/* ---------------------------------------------------------------------
    ▼3　box
--------------------------------------------------------------------- */

/* -----------------------------------wakuA-- */

.wakuA {
    padding: 25px;
    background-color: #EFEFEF;
}

.wakuA1 {
    padding: 25px;
    background-color: #fff8c3;
}

.wakuB {
    background-color: #ff3;
    border: dashed 1px #c5b501;
    padding: 30px;
}

.wakuB1 {
    background-color: #c1d4ea;
    border: dashed 1px #1200b7;
    padding: 30px;
}


/* ---------------------------boxA-- */

.boxA {
	margin-bottom:70px;
}

.boxA .cbox01 {
	display: inline-block;
	width: 38%;
	padding-right: 2%;
}

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

.boxA .cbox02 {
	display: inline-block;
	width: 60%;
	vertical-align: top;
}

/* ---------------------------boxB-- */

.boxB {
	margin-bottom:70px;
}

.boxB .title01 {
    position: relative;
    display: inline-block;
    margin: 0 auto 50px;
    padding: 0 50px 15px;
    font-size: 140%;
    text-align: center;
    border-bottom: 2px solid #000;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

.boxB a .button01 {
    display: inline-block;
    width: 48%;
    margin-right: 4%;
    border: 2px solid #000;
    text-align: center;
    padding: 8px;
}

.boxB a:nth-of-type(2) .button01 {
     margin-right: 0;
}

.boxB a:hover .button01 {
	text-decoration:underline;
}

/* ---------------------------boxC-- */

.boxC {
	margin-bottom:70px;
}

.boxC .cbox01 {
    width: 100%;
    height: 400px;
    overflow: hidden;
}

.boxC .cbox01 img {
    width: 100%;
}

.boxC a .button01 {
    display: inline-block;
    padding: 10px 40px;
    text-align: center;
    border: 2px solid #000;
}

.boxC a:hover .button01 {
	text-decoration:underline;
}

/* ---------------------------boxD-- */


.boxD {
	margin-bottom:70px;
}

.boxD .cbox01 {
    display: inline-block;
    vertical-align: top;
    width: 30%;
}

.boxD .title01 {
	font-size:130%;
}

.boxD .cbox02 {
    display: inline-block;
    width: 65%;
}

/* ---------------------------boxE-- */

.boxE {
	margin-bottom:70px;
}

.boxE table {
    width: 100%;
    border-collapse: collapse;
}

.boxE td {
    padding: 20px 20px 20px;
    text-align: left;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    box-sizing: border-box;
}

.boxE td:nth-child(odd) {
    width: 25%;
    font-size: 120%;
    font-weight: normal;
}

.boxE td:nth-child(even) {
    width: 75%;
}
    
/* ---------------------------boxF-- */

.boxF {
	margin-bottom:70px;
}

.boxF .title01 {
     font-size: 120%;
}

.boxF .title02 {
     padding-top: 20px;
     width: 100%;
     font-size: 120%;
     border-top: 1px solid #000;
}

/* ---------------------------boxG-- */

.boxG {
	border-top:1px solid #000;
	padding:35px 0 25px;
}

.boxG .title01 {
     font-size: 140%;
	 margin-bottom:25px;
}

.boxG p {
}


.boxG .sp01 {
     display: inline-block;
     margin: -10px 0 20px;
     padding: 10px 30px;
     background: #000;
     color: #fff;
     border-radius: 30px;
}

.boxG a.sp01 {
	text-decoration:none;
}

.boxG a.sp01:hover {
	text-decoration:none;
    transition: all 0.2s linear;
	background-color:#444;
}

.boxG .sp02 {
     font-size: 140%;
     font-weight: bold;
}

/* ---------------------------boxH-- */


/* ---------------------------boxI-- */

.boxI {
	margin:50px 0 50px;
}

.boxI a {
	display:block;
	text-decoration:none;
}

.boxI h3 {
	font-size:130%;
	margin-bottom:10px;
}

.boxI dt {
	display:inline-block;
    width: 35%;
	margin-right:4%;
	vertical-align:top;
}

.boxI dd {
	display:inline-block;
    width: 60%;
	vertical-align:top;
}

/* ---------------------------boxJ-- */


.boxJ {
    position: relative;
}

.boxJ h2 {
    font-size: 220%;
    line-height: 1.7em;
    position: absolute;
    text-align: center;
    color: #FFF;
	z-index:10;
	top: 57%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin:0;
	padding:0;
}

.boxJ h2 a {
    margin-top: 35px;
    font-size: 70%;
    color: #FFF;
    text-decoration: none;
    display: block;
}

.boxJ h2 a:hover {
	background-color:rgba(255,255,255,0.2);
}

/* ---------------------------boxK-- */

.boxK {
	margin:50px 0 50px;
}

.boxK dl:nth-of-type(1) {
	width:70%;
}

.boxK dl:nth-of-type(2) {
	width:27%;
}

.boxK h2 {
	font-size:120%;
	margin-bottom:30px;
}

.boxK h2 span {
	font-size:140%;
	font-weight:normal;
	display:block;
	line-height:1.7em;
	margin-top:20px;
}

.boxK p {
	margin-bottom:30px;
}

.boxK small {
	padding:15px 25px;
	background-color:#EFEFEF;
}

.boxK table {
	width:100%;
    border-collapse: collapse;
	font-size:80%;
    margin:0 0 10px 0;
}

.boxK table td {
    border: 1px solid #DDD;
     padding:10px;
}

.boxK table td {
    line-height: 2em;
    text-align: left;
    vertical-align: top;
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #CCC;
    padding-top: 7px;
    padding-bottom: 7px;
}

.boxK table td:nth-of-type(1) {
	background-color:#EFEFEF;
}

/* ---------------------------boxL-- */

.boxL {
	margin:50px 0;
	padding:50px 0;
}

.boxL article,
.boxL figure {
	clear:both;
}

.boxL h3 {
	padding:25px 0;
	text-align:center;
	border-radius:20px;
	font-size:155%;
	background-color:#CCC;
	margin:0 0 50px 0;
	box-sizing:border-box;
}

.boxL h3 {
}

.boxL p.pat1 {
	padding:0 5.3vw 70px;
}

.boxL strong {
	display:block;
	font-size:155%;
	line-height:1.3em;
	margin-bottom:20px;
}

.boxL small {
	font-size:95%;
	line-height:1.5em;
}

.boxL h2 {
}

.boxL article:nth-of-type(1) {
	margin-top:0px;
}

.boxL article ,
.boxL figure {
	margin-top:50px;
}


.boxL dl h3 {
	padding:10px 20px;
	text-align:left;
	border-radius:15px;
	font-size:130%;
	background-color:#CCC;
	margin:0 0 20px 0;
	box-sizing:border-box;
	letter-spacing:0.1em;
}

.boxL dl h4 {
	font-size:120%;
	font-weight:bold;
	border-bottom:3px solid #533618;
	margin-bottom:20px;
	padding:0 0 7px 0;
	letter-spacing:0.1em;
}

.boxL article.pat3 figure.pat3 h3 {
	padding:10px 20px;
	text-align:left;
	border-radius:15px;
	font-size:130%;
	background-color:#CCC;
	margin:0 0 20px 0;
	box-sizing:border-box;
	letter-spacing:0.1em;
}

.boxL article.pat3 figure.pat3 h4 {
	font-size:120%;
	font-weight:bold;
	border-bottom:3px solid #533618;
	margin-bottom:20px;
	padding:0 0 7px 0;
	letter-spacing:0.1em;
}

.boxL article.pat1 span:nth-of-type(odd) {
	padding:7px 7px;
	text-align:center;
	border-radius:7px;
	font-size:100%;
	background-color:#533618;
	color:#FFF;
	font-weight:bold;
	margin:0 10px 7px 0;
	box-sizing:border-box;
	letter-spacing:0.1em;
	line-height:1em;
	display:inline-block;
	min-width:80px;
}

.boxL article.pat1 span:nth-of-type(even) {
	padding:7px 7px;
	text-align:left;
	font-size:110%;
	background:none;
	font-weight:bold;
	margin:0 15px 15px 0;
	box-sizing:border-box;
	line-height:1em;
	display:inline-block;
	min-width:220px;
}


.boxL article.pat2 dl h4 {
	margin-bottom:50px;
}

.boxL article.pat2 dl dl:nth-of-type(1) {
	width:60%;
}

.boxL article.pat2 dl dl:nth-of-type(2) {
	width:35%;
}

.boxL article.pat2 dl span:nth-of-type(odd) {
	padding:15px 7px;
	text-align:center;
	border-radius:7px;
	font-size:100%;
	background:none;
	border:1px solid #533618;
	color:#533618;
	font-weight:bold;
	margin:0 5% 25px 0;
	box-sizing:border-box;
	letter-spacing:0.1em;
	display:inline-block;
	line-height:1em;
	float:left;
	clear:both;
	min-width:150px;
}

.boxL article.pat2 dl span:nth-of-type(even) {
	font-size:110%;
	padding:0 0;
	font-weight:bold;
	line-height:1.5em;
	display:inline-block;
	float:left;
	max-width:400px;
}

.boxL article.pat2 dl:nth-of-type(2n) span:nth-of-type(odd) {
	padding:7px 7px;
	text-align:center;
	border-radius:7px;
	font-size:100%;
	background-color:#533618;
	color:#FFF;
	font-weight:bold;
	margin:0 10px 7px 0;
	box-sizing:border-box;
	letter-spacing:0.1em;
	line-height:1em;
	display:inline-block;
	min-width:80px;
}

.boxL article.pat2 dl:nth-of-type(2n) span:nth-of-type(even) {
	padding:7px 7px;
	text-align:left;
	font-size:110%;
	background:none;
	font-weight:bold;
	margin:0 15px 15px 0;
	box-sizing:border-box;
	line-height:1em;
	display:inline-block;
	min-width:220px;
}

.boxL article.pat3 dl span:nth-of-type(3n-2) {
	padding:7px 7px;
	text-align:center;
	border-radius:7px;
	font-size:100%;
	background-color:#533618;
	color:#FFF;
	font-weight:bold;
	margin:0 10px 7px 0;
	box-sizing:border-box;
	letter-spacing:0.1em;
	line-height:1em;
	display:inline-block;
}

.boxL article.pat3 dl span:nth-of-type(3n-1) {
	padding:7px 7px;
	text-align:center;
	border-radius:7px;
	font-size:100%;
	background:none;
	border:1px solid #533618;
	color:#533618;
	font-weight:bold;
	margin:0 15px 15px 0;
	box-sizing:border-box;
	letter-spacing:0.1em;
	line-height:1em;
	display:inline-block;
}

/* ---------------------------boxM-- */

.boxM {
	position:relative;
}


figure.mask01 {
    background: rgba($gray-base, 0.4);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

figure.mask01:before {
        background:url(../images/bg_dot01.png) ;
        content: '';
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
}

figure.mask02:before {
        background:url(../images/bg_dot02.png) ;
        content: '';
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
}

figure.mask03:before {
	background: rgba(0,0,0,0.4);
	content: '';
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}



/* ---------------------------boxU-- */

.boxU {
	margin:50px 0 50px;
}

.boxU h2 {
    font-size: 180%;
    margin: 10px 0 10px;
}

.boxU .sp01 {
	font-size:50%;
	padding-left:20px;
}

.boxU .sp02 {
	font-size:100%;
}

.boxU .sp03 {
	font-size:50%;
}

.boxU dl {
	text-align:left;
	margin:10px 0 0 !important;
}

.boxU dl:nth-of-type(1) {
	width:35%;
}

.boxU dl:nth-of-type(2) {
	width:63%;
}

/* ---------------------------boxV-- */

.boxV {
	margin:50px 0 50px;
}

.boxV h1.title01 {
    font-size: 180%;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-align: center;
    line-height: 1.7em;
    position: relative;
    top: 100px;
    left: 50%;
    transform: translate(-50%, -50%);
}

.boxV p {
	font-size:85%;
	font-weight:bold;
}

/* ---------------------------boxW-- */

.boxW {
	margin:40px 0 40px;
}

.boxW .titleTA {
    color: #FFF;
    height: 250px;
    top: 14vw;
    margin-bottom: -280px;
}

.boxW .ch .gc1 {
	position:relative;
}

.boxW p {
	margin:15px 0 30px;
	font-size:85%;
	font-weight:bold;
}

/* ---------------------------boxX-- */

.boxX {
	margin:50px 0 50px;
}

.boxX a {
	text-decoration:none;
}

.boxX a:hover {
	text-decoration:underline;
}

.boxX h3 {
	font-size:160%;
	margin:25px 0 5px 0;
}

.boxX .dl {
	float:left;
	width:
	text-align:center !important;
}

/* ---------------------------boxY-- */

.boxY {
	margin:50px 0 50px;
}

.boxY a {
	text-decoration:none;
}

.boxY a:hover {
	text-decoration:underline;
}

.boxY h3 {
	font-size:140%;
	margin:25px 0 5px 0;
}

.boxY h3 span {
	display:block;
	font-size:73%;
	font-weight:normal;
}

.boxY .ch {
	text-align:center !important;
}

/* ---------------------------boxZ-- */

.boxZ {
	background-image: url(../images/boxZ_bg.jpg);
	background-repeat: no-repeat;
	background-position: right;
	height:750px;
	max-width:100%;
}

.boxZ .titleTA {
    font-size: 220%;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 1.7em;
    position: relative;
    top: 18vw;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* ---------------------------boxAA-- */

.boxAA {
	margin:40px 0 40px;
	font-family: 'Roboto',"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ",
}

.boxAA img {
	padding:0 0 0 20px;
	box-sizing:border-box;
}

.boxAA h3 {
	font-size:130%;
	border-bottom:3px solid #000;
	padding:0 0 10px 0;
	margin:20px 0 35px 0;
	font-family: "游明朝","ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	display:inline-block;
}

.boxAA p {
	padding:0 0 10px 0 ;
	margin:0 0 ;
}

.boxAA strong {
	display:block;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #BBB;
	padding:0 0 15px;
	margin:0 0 15px 0;
}

.boxAA span {
	margin-left:10px;
	padding:3px 10px;
	border:2px solid #000;
}

.boxAA table.tb01 {
}

.boxAA table.tb01 td {
}

.boxAA .tb01 table {
    margin-bottom: 10px;
    border-collapse: collapse;
    width:100%;
    margin:5px auto 15px  !important;
}

.boxAA .tb01 td {
	padding: 10px;
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #BBB;
	border-bottom-color: #BBB;
}

.boxAA .tb01 td {
    line-height: 2em;
    text-align: left;
    vertical-align: top;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #BBB;
    padding-top: 15px;
    padding-bottom: 15px;
}

.boxAA .tb01 td:nth-of-type(1) {
}

.boxAA .tb01 td:nth-of-type(2) {
	text-align:right
}


/* ---------------------------boxBA-- */

.boxBA {
	padding:80px 0 80px;
	background-color:#D4DAD5;
}

.boxBA dl {
	text-align:center;
}

.boxBA dt img {
	border:10px solid #FFFFFF;
	box-sizing:border-box;
}

.boxBA dd {
	min-height:100px;
}


/* ---------------------------boxBF-- */

.boxBF {
	margin-top: 30px;
}

.boxBF dt {
	width: 60%;
}

.boxBF dd {
	width: 40%;
}

/* -----------------------------------boxBK-- */

.boxBK h3 {
    position: relative;
    display: block;
    text-align: center;
    margin: 20px auto 0;
    padding: 60px 0 15px;
    color: #000;
    font-size: 90%;
    color: #66C37C;
}

.boxBK h3 span {
    font-size: 110%;
    font-weight: bold;
    color: #000;    
}

.boxBK dl:nth-of-type(1) h3 {
    background: url(../images/boxBK01.png) center 0 no-repeat;
}

.boxBK dl:nth-of-type(2) h3 {
    background: url(../images/boxBK02.png) center 0 no-repeat;
}

.boxBK dl:nth-of-type(3) h3 {
    background: url(../images/boxBK03.png) center 0 no-repeat;
}

.boxBK .el01 {
    background-color: #66C37C;
    text-align: center;
    color: #fff;
    font-size: 120%;
    padding-top: 7px;
    line-height: 1em;
}

.boxBK .el02 {
  width: 100%;
}

.boxBK .el02:after {
    content: "";
    display: block;
    border-top: 20px solid #66C37C;
    margin-top: -1px;
    border-left: 160px solid transparent;
    border-right: 160px solid transparent;
    transform-origin: left top;
    transform: scaleY(.5);
}

.boxBK p {
    min-height: 110px;
}

/* ---------------------------boxCA-- */

.boxCA {
	background:url(../images/boxCA_bg.png) repeat ;
	background-color:#EFEFEF;
	width:100%;
	text-align:center;
}

.boxCA h2,
.boxCA p {
	width:80%;
	margin:0 auto;
}

.boxCA h2 {
	padding-top:12%;
	color:#000123;
	font-size:180%;
	padding-bottom:5% ;
	background: url(../images/boxCA.png) no-repeat center 2.8vw;
}

.boxCA p {
	font-weight:bold;
}

.boxCA dt {
	width:50%;
}

.boxCA dd {
	width:50%;
}

.boxCA dt:nth-of-type(1) {
    order: 1;
}

.boxCA dd:nth-of-type(1) {
    order: 2;
}

.boxCA dt:nth-of-type(2) {
    order: 4;
}

.boxCA dd:nth-of-type(2) {
    order: 3;
}

.boxCA dt:nth-of-type(3) {
    order: 5;
}

.boxCA dd:nth-of-type(3) {
    order: 6;
}

.boxCA dt:nth-of-type(4) {
    order: 8;
}

.boxCA dd:nth-of-type(4) {
    order: 7;
}

.boxCA dt:nth-of-type(5) {
    order: 9;
}

.boxCA dd:nth-of-type(5) {
    order: 10;
}

.boxCA dt:nth-of-type(6) {
    order: 12;
}

.boxCA dd:nth-of-type(6) {
    order: 11;
}

.boxCA dt:nth-of-type(7) {
    order: 13;
}

.boxCA dd:nth-of-type(7) {
    order: 14;
}

.boxCA dt:nth-of-type(8) {
    order: 16;
}

.boxCA dd:nth-of-type(8) {
    order: 15;
}

.boxCA dt:nth-of-type(9) {
    order: 17;
}

.boxCA dd:nth-of-type(9) {
    order: 18;
}

.boxCA dt:nth-of-type(10) {
    order: 20;
}

.boxCA dd:nth-of-type(10) {
    order: 19;
}

/* ---------------------------boxCB-- */

.boxCB {
	background-color:#002D01;
	width:100%;
}

.boxCB dt {
	width:50%;
}

.boxCB dd {
	width:50%;
}

.boxCB h1,
.boxCB p {
	width:80%;
	margin:0 auto;
	color:#FFF;
	text-align:center;
}

.boxCB h1 {
    padding-top: 34%;
    font-size: 140%;
    padding-bottom: 2vw !important;
    background: url(../images/abmo01.png) no-repeat center 59%;
}

.boxCB h1 span {
	font-size:200%;
	display:block;
	margin-bottom:23px;
}

.boxCB p {
	font-weight:bold;
}

/* ---------------------------boxDA-- */

.boxDA h2,
.boxDA h3,
.boxDA p {
	text-align:center;
}

.boxDA h3 {
	font-size:130%;
	margin-bottom:20px;
}

.boxDA p {
	margin-bottom:60px;
}

/* ---------------------------------------------------------boxDB--*/

.boxDB dl {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    grid-column-gap: 3%;
    margin-bottom: 30px;
    border: 3px solid #CCC;
    padding: 40px;
}

.boxDB dt {
}

.boxDB dd {
}

.boxDB h3 {
    font-size: 2em;
    margin-bottom: 20px;
    letter-spacing: 0.08em;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif;
    font-weight: bold;
}

.boxDB dd span {
    display: inline-block;
    font-size: 1.5em;
    vertical-align: bottom;
    padding-right: 12px;
    color: #CCC;
}

.boxDB dd p {
    margin-bottom: 0;
}

.boxDB dl:after {
    position: absolute;
    top: 0;
    bottom: 0;
    /* left: 0; */
    right: 31px;
    margin: auto;
    content: "";
    vertical-align: middle;
    /* left: 3px; */
    width: 14px;
    height: 14px;
    border-top: 3px solid #CCC;
    border-right: 3px solid #CCC;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* ---------------------------------------------------------boxEA--*/

.boxEA dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    /* border: 1px #000 solid; */
    padding: 10px;
    margin-bottom: 15px;
    background-color: #EFEFEF;
}

.boxEA dl dt {
    width: 30%;
}

.boxEA dl dd {
    width: 70%;
    padding-left: 10px;
}

.boxEA h3 {
    font-size: 100%;
    margin-bottom: 3px;
    font-weight: bold;
}

.boxEA p {
    font-size: 70%;
    line-height: 1.4em;
    margin-bottom: 8px;
}

/* ---------------------------------------------------------boxEB--*/

.boxEB dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    /* border: 1px #000 solid; */
    padding: 10px;
    margin-bottom: 15px;
    background-color: #EFEFEF;
}

.boxEB dl dt {
    width: 30%;
}

.boxEB dl dd {
    width: 70%;
    padding-top: 50px;
    padding-left: 30px;
}

.boxEB h3 {
    font-size: 180%;
    margin-bottom: 15px;
    font-weight: bold;
}

.boxEB p {
    font-size: 90%;
    line-height: 1.4em;
    margin-bottom: 8px;
}

/* ---------------------------------------------------------boxEC--*/

.boxEC {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    /* border: 1px #000 solid; */
}

.boxEC a {
    width: 31%;
    margin-bottom: 2%;
}

.boxEC dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    /* border: 1px #000 solid; */
    padding: 10px;
    margin-bottom: 15px;
    background-color: #EFEFEF;
}

.boxEC dl dt {
    width: 30%;
}

.boxEC dl dd {
    width: 70%;
    padding-top: 0;
    padding-left: 10px;
}

.boxEC h3 {
    font-size: 100%;
    margin-bottom: 3px;
    font-weight: bold;
}

.boxEC p {
    font-size: 75%;
    line-height: 1.4em;
    margin-bottom: 8px;
}


/* ---------------------------------------------------------------------
    ▼ メニュー　mn
--------------------------------------------------------------------- */

/* -----------------------------------mnA-- */

nav.mnA ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin: 5px auto 0;
}

nav.mnA ul li:not(:last-child):after {
    content: "|";
}

nav.mnA ul li:last-child:after {
    content: "";
    margin-right: 0;
}

nav.mnA ul li {
    display: inline-block;
    text-decoration: none;
    color: #000;
}

nav.mnA ul li a {
    text-decoration: none;
    color: #000;
    font-weight: bold;
    margin-right: 0;
    letter-spacing: 0.01em;
    padding: 0 20px;
    line-height: 1.0;
}

nav.mnA ul li a:hover {
    text-decoration: underline;
}

nav.mnA ul li:last-child {
    margin-right: 0;
}


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

/* -----------------------------------mnT1-- */

nav.mnT1 {
    font-family: "游ゴシック", YuGothic, 'Yu Gothic' , "ヒラギノ角ゴ Pro" , "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    /* background: url(../images/mnT1_bg.png) repeat-x; */
    background: #fefefe;
    background: -moz-linear-gradient(top, #fefefe 0%, #f0f0f0 99%);
    background: -webkit-linear-gradient(top, #fefefe 0%,#f0f0f0 99%);
    background: linear-gradient(to bottom, #fefefe 0%,#f0f0f0 99%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefefe', endColorstr='#f0f0f0',GradientType=0 );
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
}

nav.mnT1 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0 auto 0;
    height: 85px;
    text-align: center;
}

nav.mnT1 ul li {
    display: inline-block;
    margin-right: 0;
    text-decoration: none;
    color: #000;
    background: url(../images/mnT_line.png) center right no-repeat;
}

nav.mnT ul li:first-child {
    background: 
    url(../images/mnT_line.png) center right no-repeat,
    url(../images/mnT_line.png) center left no-repeat;
}

nav.mnT ul li .mnT2 {
    text-align: center;
    font-size: 70%;
    filter: alpha(opacity=40);
    opacity: 0.4;
    margin-top: 5px;
    display: inline-block;
}

nav.mnT ul li a {
    text-decoration: none;
    color: #000;
    margin-right: 0;
    letter-spacing: 0.01em;
    padding: 0 20px;
    line-height: 1.0;
    display: block;
}

nav.mnT ul li a:hover {
    text-decoration: underline;
}

nav.mnT ul li:last-child {
    margin-right: 0;
}

/* -----------------------------------mnT-- */

nav.mnT {
    font-family: "游ゴシック", YuGothic, 'Yu Gothic' , "ヒラギノ角ゴ Pro" , "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    /* background: url(../images/mnT_bg.png) repeat-x; */
    background: #fefefe;
    background: -moz-linear-gradient(top, #fefefe 0%, #f0f0f0 99%);
    background: -webkit-linear-gradient(top, #fefefe 0%,#f0f0f0 99%);
    background: linear-gradient(to bottom, #fefefe 0%,#f0f0f0 99%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefefe', endColorstr='#f0f0f0',GradientType=0 );
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
}

nav.mnT ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0 auto 0;
    height: 85px;
    text-align: center;
}

nav.mnT ul li {
    display: inline-block;
    margin-right: 0;
    text-decoration: none;
    color: #000;
    background: url(../images/mnT_line.png) center right no-repeat;
}

nav.mnT ul li:first-child {
    background: 
    url(../images/mnT_line.png) center right no-repeat,
    url(../images/mnT_line.png) center left no-repeat;
}

nav.mnT ul li .mnT2 {
    text-align: center;
    font-size: 70%;
    filter: alpha(opacity=40);
    opacity: 0.4;
    margin-top: 5px;
    display: inline-block;
}

nav.mnT ul li a {
    text-decoration: none;
    color: #000;
    margin-right: 0;
    letter-spacing: 0.01em;
    padding: 0 20px;
    line-height: 1.0;
    display: block;
}

nav.mnT ul li a:hover {
    text-decoration: underline;
}

nav.mnT ul li:last-child {
    margin-right: 0;
}
/* ---------------------------------------------------------------------
    ▼ ボタン button
--------------------------------------------------------------------- */

button a:hover {
	background-color:#EFEFEF;
    transition: all 0.2s linear;
}

/* ---------------------------buA-- */

.bu {
    margin: 10px auto 40px;
}

.buA a {
	color: #000;
	border: 2px solid #000;
	background-color: none;
	padding: 10px 60px 10px ;
	display: inline-block;
}

/* ---------------------------buA1-- */

.buA1 {
    margin: 40px auto 40px;
}

.buA1 a {
	color: #000;
	border: 2px solid #000;
	background-color: none;
	padding: 10px 60px 10px ;
	display: inline-block;
}

.buA1:after {
    content: "≫";
    position: absolute;
    top: 10px;
    right: 15px;
}


/* --------------------------- buB-- */

.buB {
    margin: 40px auto 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}

.buB a {
    display: inline-block;
    width: 48%;
    margin-right: 4%;
    border: 2px solid #000;
    text-align: center;
    padding: 10px 0;
	text-decoration:none;
    box-sizing: border-box;
}

.buB a:nth-of-type(2) {
     margin-right: 0;
}


/* ---------------------------buB1-- */

.buB1 {
    margin: 40px auto 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}

.buB1 a {
    display: inline-block;
    width: 30%;
    margin-right: 5%;
    border: 2px solid #000;
    text-align: center;
    padding: 10px 0;
    text-decoration: none;
    box-sizing: border-box;
}

.buB1 a:nth-of-type(3) {
     margin-right: 0;
}

/* -----------------------------------buC-- */

.buC a {
    display: inline-block;
    vertical-align: top;
    min-height: 51px;
    width: 280px;
    font-size: 130%;
    font-weight: bold;
    margin: 0 20px 7px 0;
    text-align: left;
    padding: 12px 0 12px 52px;
    box-sizing: border-box;
    text-decoration: none;
    background-color: #FFF;
    color: #000;
    text-decoration: none !important;
    line-height: 1em !important;
    background-repeat: no-repeat;
    background-position: 10px center;
    letter-spacing: 0.01em;
    border: 2px solid #000;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.buC a:nth-of-type(1) {
    background-image: url(../images/buC1.png);
}

.buC a:nth-of-type(2) {
    background-image: url(../images/buC2.png);
}




/* ---------------------------buttonD-- */

a.buttonD {
    display: block;
	width:250px;
    margin: 0 auto 0;
    text-align: center;
    padding: 17px 0;
    box-sizing: border-box;
	text-decoration:none;
	background:#000;
	color:#FFF !important;
	text-decoration:none !important;
	line-height:1.6em !important;
}

a.buttonD:hover {
	background: #666;
    transition: all 0.2s linear;
}


/* ---------------------------buttonE-- */

a.buttonE {
    display: block;
	width:250px;
    margin: 0 auto 0;
    text-align: center;
    padding: 17px 0;
    box-sizing: border-box;
	text-decoration:none;
	background:#680000;
	color:#FFF !important;
	text-decoration:none !important;
	line-height:1.6em !important;
}

a.buttonE span {
	font-size:150%;
}

a.buttonE:hover {
	background: #666;
    transition: all 0.2s linear;
}

/* ---------------------------buF-- */

.buF ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	align-items: flex-start;
    margin-bottom: 0;
}

.buF ul li {
    width: 32%;
    list-style: none;
    margin-bottom: 20px;
}


.buF ul li a {
    display: inline-block;
    width: 100%;
    border: 2px solid #ddd;
    line-height: 4;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s linear;
    background-color: #fff;
}
.buF ul li a:hover{
    background-color: #ddd;
}

/* ---------------------------buttonG-- */

.buttonG ul li {
    display: inline-block;
    list-style: none;
    margin-right: 31px;
    margin-bottom: 20px;
}

.buttonG ul li a{
    display: inline-block;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s linear;
	padding-top:70px;
	font-weight:bold !important;
	font-size:90% !important;
}

.gnavi .buttonG ul li a{
	height:initial !important;
}

.buttonG ul li a:hover{
}

.buttonG ul li:nth-of-type(1) a {
	background-image: url(../images/h01.png);
	background-repeat: no-repeat;
	background-position: center 10px;
}

.buttonG ul li:nth-of-type(2) a {
	background-image: url(../images/h02.png);
	background-repeat: no-repeat;
	background-position: center 10px;
}

.buttonG ul li:nth-of-type(3) a {
	background-image: url(../images/h03.png);
	background-repeat: no-repeat;
	background-position: center 10px;
}

.buttonG ul li:nth-of-type(4) a {
	background-image: url(../images/h04.png);
	background-repeat: no-repeat;
	background-position: center 10px;
}

.buttonG ul li:nth-of-type(5) a {
	background-image: url(../images/h05.png);
	background-repeat: no-repeat;
	background-position: center 10px;
}

.buttonG ul li:nth-of-type(6) a {
	background-image: url(../images/h06.png);
	background-repeat: no-repeat;
	background-position: center 10px;
}

.buttonG ul li:nth-of-type(7) a {
	background-image: url(../images/h07.png);
	background-repeat: no-repeat;
	background-position: center 10px;
}


/* ---------------------------buttonH-- */

a.buttonH {
    display: block;
	width:300px;
    margin: 20px auto 30px;
    text-align: center;
    padding: 5px 0;
    box-sizing: border-box;
	text-decoration:none;
	background:#000;
	color:#FFF !important;
	text-decoration:none !important;
	line-height:1.6em !important;
}

a.buttonH:hover {
	background: #666;
    transition: all 0.2s linear;
}

/* ---------------------------buttonI-- */

.buttonI {
	background-color:#EFEFEF;
	box-sizing:border-box;
	padding:40px 0 20px;
}

.buttonI ul li {
    width: 32%;
    float: left;
    list-style: none;
    margin-right: 2%;
    margin-bottom: 20px;
}

.buttonI ul li:nth-of-type(3n) {
    margin-right: 0;
}

.buttonI ul li a{
	display: inline-block;
	width: 100%;
	border-radius: 8px;
	line-height: 4;
	text-align: left;
	padding-left:30px;
	text-decoration: none;
	transition: all 0.2s linear;
	background-color: #fff;
	background-image: url(../images/arrow03.png);
	background-repeat: no-repeat;
	background-position: 93% 50%;
	box-sizing:border-box;
	font-weight:bold;
}

.buttonI ul li a:hover{
    background-color: #ddd;
}

/* ---------------------------buttonJ-- */

.buttonJ {
	margin:70px 0 70px;
}

.buttonJ .ch {
	text-align:left;
}

.buttonJ a {
	text-decoration:none;
}

.buttonJ a:hover {
	text-decoration:underline;
}


.buttonJ .titleAA {
	margin:0 0 30px 0;
}

.buttonJ ul {
	margin: 0 0 0 20px;
}

.buttonJ ul li {
	line-height:1.6em;
	margin-bottom:20px;
	list-style-image: url(../images/icon02.png);
}

/* ---------------------------buttonK-- */

.buttonK {
	box-sizing:border-box;
	padding:15px 0 40px;
}

.buttonK ul li {
	width: 32%;
	float: left;
	list-style: none;
	margin-right: 2%;
	margin-bottom: 20px;
	box-sizing:border-box;
}

.buttonK ul li:nth-of-type(3n) {
    margin-right: 0;
}

.buttonK ul li a{
	display: inline-block;
	width: 100%;
	height:70px;
	line-height: 1.3em;
	text-align: center;
	text-decoration: none;
	transition: all 0.2s linear;
	box-sizing:border-box;
	font-weight:bold;
	padding:15px 0;
	vertical-align:middle;
	background-color: #FCEADE;
	border-radius: 10px;
}

.buttonK ul li a:hover{
}

.buttonK ul li:nth-of-type(2) a {
	background-color: #E3F7FF;
	padding-top: 25px;
}

.buttonK ul li:nth-of-type(3n) a {
	background-color:#FFDDEE;
	padding-top:25px;
}

/* ---------------------------buttonL-- */

a.buttonL {
    display: block;
	width:200px;
    margin: 0 auto 0;
    text-align: left;
    padding: 17px 0 17px 45px;
    box-sizing: border-box;
	text-decoration:none;
	color:#FFF !important;
	text-decoration:none !important;
	line-height:1.6em !important;
	background:url(../images/buttonL_bg.png) no-repeat ;
}

a.buttonL:hover {
	background:url(../images/buttonL_bg.png) no-repeat ;
    transition: all 0.2s linear;
}

/* ---------------------------buttonM-- */

a.buttonM {
	font-size:110%;
	font-weight:bold;
    display: block;
	width:340px;
    margin: 20px auto 30px;
    text-align: center;
    padding: 12px 0;
	border-radius:40px;
    box-sizing: border-box;
	text-decoration:none;
	background:#000;
	color:#FFF !important;
	text-decoration:none !important;
	line-height:1.6em !important;
}

a.buttonM:hover {
	background: #666;
    transition: all 0.2s linear;
}

/* ---------------------------buttonN-- */

.buttonN {
	box-sizing:border-box;
	padding:40px 0 20px;
}

.buttonN ul li {
    width: 31.33%;
    float: left;
    list-style: none;
    margin-right: 3%;
    margin-bottom: 20px;
}

.buttonN ul li:nth-of-type(3n) {
    margin-right: 0;
}

.buttonN ul li a{
	display: inline-block;
	font-size:120%;
	width: 100%;
	border-radius: 30px;
	padding:15px 0 15px;
	line-height: 1.2em;
	text-align: center;
	text-decoration: none;
	transition: all 0.2s linear;
	color:#FFF;
	background-color: #27462B;
	background-image: url(../images/arrow_b2.png);
	background-repeat: no-repeat;
	background-position: 93% 50%;
	box-sizing:border-box;
	font-weight:bold;
}

.buttonN ul li a:hover{
}

/* ---------------------------buttonO-- */

.buttonO {
    position: relative;
    display: block;
    width: 140px;
    height: 140px;
    padding-top: 23px;
    background-color: #000;
    color: #FFF;
    background-image: url(../images/fig_contact.png);
    background-repeat: no-repeat;
    background-position: center 60px;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    font-size: 95%;
}

/* ---------------------------buttonQ-- */

a.buttonQ {
    display: block;
    width: 250px;
    font-size: 150%;
    margin: 0 0 10px 0;
    text-align: left;
    padding: 10px 0 10px 52px;
    box-sizing: border-box;
    text-decoration: none;
    background-color: #000;
    color: #FFF !important;
    text-decoration: none !important;
    line-height: 1em !important;
    background-image: url(../images/buttonQ.png);
    background-repeat: no-repeat;
    background-position: 20px center;
	background-size:25px;
    font-family: 'Fjalla One', sans-serif;
	letter-spacing:0.01em;
}

a.buttonQ:hover {
/*    transition: all 0.2s linear; */
}

/* ---------------------------buttonR-- */

.buttonR {
	width:1024px;
	margin:0 auto;
}

.buttonR a {
    display: inline-block;
    width: 50%;
    height: 60px;
    vertical-align: top;
    font-size: 150%;
    margin: 0 0 10px 0;
    text-align: left;
    padding: 10px 0 10px 52px;
    box-sizing: border-box;
    text-decoration: none;
    background-color: #000;
    color: #FFF !important;
    text-decoration: none !important;
    line-height: 1em !important;
    background-image: url(../images/buttonQ.png);
    background-repeat: no-repeat;
    background-position: 20px 9px;
    background-size: 25px;
    font-family: 'Gentium Book Basic', sans-serif;
    letter-spacing: 0.01em;
}

.buttonR span.pat1 {
	font-size:150%;
	display:block;
}

.buttonR span.pat2 {
	font-size:50%;
	display:block;
}

.buttonR a.pat2 {
    font-size: 130%;
    background-color: #FF0000;
    padding-top: 20px;
    background-position: 20px 15px;
    font-weight: bold;
    letter-spacing: 0.15em;
    padding-left: 56px;
}

.buttonR a.pat2 {
	background-color:#FF0000;
}

a.buttonQ:hover {
/*    transition: all 0.2s linear; */
}

/* -----------------------------------bus-- */

.buS {
    display: flex;
    flex-direction: column;
    width: 70%;
}

.buS a:nth-of-type(1) {
    background-image: url(../images/hic01.png);
    display: inline-block;
    vertical-align: top;
    width: 280px;
    font-size: 100%;
    font-weight: bold;
    margin: 0;
    text-align: left;
    padding: 5px 0 5px 52px;
    box-sizing: border-box;
    text-decoration: none;
    background-color: #66C37D;
    color: #fff;
    text-decoration: none !important;
    line-height: 1em !important;
    background-repeat: no-repeat;
    background-position: 10px 5px;
    letter-spacing: 0.01em;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.buS a:nth-of-type(2) {
    display: inline-block;
    vertical-align: top;
    width: 280px;
    font-size: 180%;
    font-weight: bold;
    margin: 0;
    text-align: left;
    padding: 12px 0 12px 52px;
    box-sizing: border-box;
    text-decoration: none;
    background-color: #FFF;
    color: #66C37D;
    text-decoration: none !important;
    line-height: 1em !important;
    background-repeat: no-repeat;
    background-position: 10px center;
    letter-spacing: 0.01em;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    background-image: url(../images/hic02.png);
}


/* ---------------------------buttonZ-- */

.buttonZ {
	line-height:0px;
	position: relative;
	border-radius: 50%;
	height: 80px;
	width: 80px;
	background-color: #EFEFEF;
	display: table;
	font-size: 50px;
	color: #CCC;
	text-decoration: none;
	margin:10px auto;
}

.buttonZ span {
	display: table-cell;
	vertical-align: middle;
	text-align:center;
}

.buttonZ:hover span {
	transition: .5s ;
	transform: rotateZ( 180deg ) ;
}



/* ---------------------------------------------------------------------
   buttonG　ボタン(画像)
--------------------------------------------------------------------- */

/* ---------------------------buttonGA-- */

.buttonGA {
	display:block;
	text-align:center;
	margin:20px 0;
}


.rotate:hover {
	transition: .5s ;
	transform: rotate( 180deg ) ;
}


/* ---------------------------------------------------------------------
    ▼ テーブル　table
--------------------------------------------------------------------- */


/* ---------------------------tbA-- */

.tbA {
	margin-bottom:50px;
	width:100%;
}

.tbA table {
    width:100%;
    border-collapse: collapse;
     margin:5px auto 15px  !important;
}

.tbA td {
    line-height: 2em;
    text-align: left;
    vertical-align: top;
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #CCC;
    padding-top: 7px;
    padding-bottom: 7px;
}

.tbA td:nth-of-type(1) {
    width: 27%;
}

/* ---------------------------tbB-- */

.tbB table {
    margin-bottom: 10px;
    border-collapse: collapse;
    width:100%;
    margin:5px auto 15px  !important;
}

.tbB td {
    border: 1px solid #DDD;
    padding:10px;
}

.tbB td {
    line-height: 2em;
    text-align: left;
    vertical-align: top;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #CCC;
    padding-top: 7px;
    padding-bottom: 7px;
}

.tbB td:nth-of-type(1) {
    width: 85%;
}

.tbB td:nth-of-type(2) {
}

/* ---------------------------tbC-- */

.tbC table {
    margin-bottom: 10px;
    border-collapse: collapse;
    width:100%;
    margin:5px auto 15px  !important;
}

.tbC td {
    line-height: 2em;
    text-align: left;
    vertical-align: top;
    padding-top: 7px;
    padding-bottom: 7px;
}

.tbC td:nth-of-type(1) {
}

.tbC td:nth-of-type(2) {
	text-align:right;
}

/* ---------------------------tbD-- */

.tbD table {
    margin-bottom: 10px;
    border-collapse: collapse;
    width:100%;
    margin:5px auto 15px  !important;
}

.tbD td {
	line-height: 2em;
	text-align: left;
	vertical-align: top;
	padding-top: 7px;
	padding-bottom: 7px;
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #DDD;
	border-bottom-color: #DDD;
}

.tbD td:nth-of-type(1) {
}

.tbD td:nth-of-type(2) {
	text-align:right;
}

/* ---------------------------tbE-- */

.tbE {
	margin-bottom:50px;
	width:100%;
}

.tbE table {
    width:100%;
    border-collapse: collapse;
     margin:5px auto 15px  !important;
}

.tbE td {
    line-height: 2em;
    text-align: left;
    vertical-align: top;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #27462B;
    padding-top: 7px;
    padding-bottom: 7px;
	color:#27462B;
}

.tbE td:nth-of-type(1) {
    width: 27%;
	font-weight:bold;
}

/* ---------------------------tbF-- */

.tbF {
	margin-bottom:50px;
	width:100%;
}

.tbF table {
    width:100%;
    border-collapse: collapse;
     margin:5px auto 15px  !important;
}

.tbF td {
	font-size:100%;
    line-height: 2em;
    text-align: left;
    vertical-align: top;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #27462B;
    padding-top: 10px;
    padding-bottom: 10px;
	color:#27462B;
}

.tbF td:nth-of-type(1) {
    width: 42%;
	font-weight:bold;
	padding-left:240px;
}



/* ---------------------------------------------------------------------
    リスト list
--------------------------------------------------------------------- */

/* ---------------------------listA-- */

.listA ul {
     margin:0 0 20px 20px;
}

.listA ul li {
     list-style-position: outside;
     list-style-type: disc;
}

/* ---------------------------listB-- */

.listB ul {
     margin:0 0 20px 20px;
}

.listB ul li {
	list-style-position: outside;
	list-style-type: decimal;
}

/* ---------------------------listC-- */

.listC ul {
     margin:0 0 20px 20px;
}

.listC ul li {
	list-style-position: outside;
	list-style-type: lower-alpha;
}

/* ---------------------------listD-- */

.listD ul {
     margin:0 0 20px 0;
}

.listD ul li {
     list-style-position: none;
     list-style-type: none;
}

/* ---------------------------listE-- */

.listE ul {
	margin:0;
	padding:0;
}

.listE ul li {
	float:left;
    display: block;
    width: 32%;
	margin:0 2% 0 0 !important;
    line-height: 1.5em;
	padding:15px 0;
    text-align: center;
    text-decoration: none;
    background-color: #EFEFEF;
	color:#000;
	box-sizing:border-box;
}

.listE ul li:nth-of-type(3n){
	margin:0 0 0 0 !important;
}

/* ---------------------------listF-- */

.listF ul {
	margin:0;
	padding:0;
}

.listF ul li {
    display: inline-block;
	margin:0 2% 0 0 !important;
    line-height: 1.5em;
	padding:15px 15px;
    text-align: center;
    text-decoration: none;
    background-color: #EFEFEF;
	color:#000;
	box-sizing:border-box;
}

/* ---------------------------listG-- */

.listG {
	margin-top:20px;
	margin-bottom:100px;
}

.listG li {
    display: inline-block;
    list-style-type: none;
	margin-bottom: 2px;
	padding: 0 15px;
	color: #000;
	text-align: center;
	text-decoration:none;
	font-weight:bold;
}

.listG li a {
	text-decoration:none;
}

.listG li a:hover {
    padding:0;
    background-color:#FF3;
}

.listG li.on a {
    padding:0;
    background-color:#FF3;
}

.listG li.on a:hover {
	color:#726294;
	border-color:#726294;
}

/* ---------------------------listH-- */


.listH {
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
}

.listH .arrow::before,
.listH .arrow::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.listH .sample5-1::before {
    left: 3px;
    width: 4px;
    height: 4px;
    border-top: 1px solid #7a0;
    border-right: 1px solid #7a0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}





/* ---------------------------------------------------------------------
    タイトル　title
--------------------------------------------------------------------- */


/* ---------------------------titleA-- */

.titleA {
    position: relative;
    display: inline-block;
    margin: 40px auto 40px;
    padding: 0 50px 15px;
    font-size: 140%;
    text-align: center;
    border-bottom: 2px solid #000;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
	clear:both;
}

/* ---------------------------titleA1-- */

.titleA1 {
	position: relative;
	display: inline-block;
	margin: 100px auto 50px;
	padding: 110px 50px 20px;
	font-size: 200%;
	text-align: center;
	border-bottom: 7px solid #F08800;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	clear: both;
	background-image: url(../images/titleA1_dum1.png);
	background-repeat: no-repeat;
	background-position: center 0;
	color: #F08800;
}

/* -----------------------------------titleA2-- */

.titleA2 {
    position: relative;
    display: inline-block;
    margin: 30px auto 0;
    padding: 0 50px 15px;
    font-size: 140%;
    text-align: center;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    clear: both;
    box-sizing: border-box;
    color: #556423;
}

.titleA2:after {
    content: "";
    position: relative;
    display: inline-block;
    text-align: center;
    border-bottom: 5px solid #556423;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    clear: both;
    color: #556423;
    position: absolute;
    bottom: -9px;
    width: 50px;
    height: 5px;
}


/* ---------------------------titleB-- */

.titleB {
	font-size:160%;
	font-weight:bold;
	margin-bottom:20px;
	clear:both;
}

/* ---------------------------titleC-- */

.titleC {
	font-size:140%;
	font-weight:bold;
	margin-bottom:20px;
	clear:both;
}

/* ---------------------------titleD-- */

.titleD {
	font-size:120%;
	font-weight:bold;
	margin-bottom:20px;
	clear:both;
}

/* ---------------------------titleE-- */

.titleE {
    padding-bottom: 80px;
    font-size: 180%;
    line-height: 1.8;
	clear:both;
}

/* ---------------------------titleF-- */

.titleF {
    padding: 0 40px 100px;
    font-size: 240%;
    text-align: center;
	clear:both;
}

/* ---------------------------titleG-- */

.titleG {
	padding-bottom: .5em;
	border-bottom: 3px double #ccc;
}

/* ---------------------------titleH-- */

.titleH {
    padding: .75em 0;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin-bottom: 30px;
}

/* ---------------------------titleI-- */

.titleI {
    padding: .25em 0 .25em .75em;
    border-left: 6px solid #ccc;
    margin-bottom: 30px;
}

/* ---------------------------titleJ-- */

.titleJ {
    padding: .5em .75em;
    border: 1px solid #ccc;
}

/* ---------------------------titleK-- */

.titleK {
    position: relative;
    padding: .75em 1em .75em 1.5em;
    border: 1px solid #ccc;
}

.titleK::after {
    position: absolute;
    top: .5em;
    left: .5em;
    content: '';
    width: 6px;
    height: -webkit-calc(100% - 1em);
    height: calc(100% - 1em);
    background-color: #CCC;
/*  border-radius: 4px; */
}

/* ---------------------------titleL-- */

.titleL {
    position: relative;
    text-align: center;
	margin-bottom:30px;
}

.titleL span {
    position: relative;
    z-index: 2;
    display: inline-block;
    margin: 0 2.5em;
    padding: 0 1em;
    background-color: #fff;
    text-align: left;
}

.titleL::before {
    position: absolute;
    top: 50%;
    z-index: 1;
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}

/* ---------------------------titleM-- */

.titleM {
	font-size:120%;
    padding-bottom: .5em;
    border-bottom: 1px solid #ccc;
}

.titleM span {
    display: block;
    margin-bottom: .1em;
    color: #aaa;
    font-size: .7em;
}

/* ---------------------------titleN-- */

.titleN {
    position: relative;
    padding-bottom: .5em;
    border-bottom: 4px solid #ccc;
}

.titleN::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 2;
    content: '';
    width: 20%;
    height: 4px;
    background-color: #3498db;
}

/* ---------------------------titleO-- */

.titleO {
    position: relative;
    padding: .5em .75em;
    background-color: #f0f0f0;
    border-radius: 6px;
}

.titleO::after {
    position: absolute;
    top: 100%;
    left: 30px;
    content: '';
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-top: 15px solid #f0f0f0;
}

/* ---------------------------titleP-- */

.titleP {
    position: relative;
    padding: .5em .75em;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 6px;
}


.titleP::before,
.titleP::after {
    position: absolute;
    top: 100%;
    left: 30px;
    content: '';
    height: 0;
    width: 0;
    border: 10px solid transparent;
}

.titleP::before {
    border-top: 15px solid #ccc;
}

.titleP::after {
    margin-top: -2px;
    border-top: 15px solid #fff;
}

/* ---------------------------titleQ-- */

.titleQ {
    position: relative;
    padding: .3em;
    background-color: #f0f0f0;
}

.titleQ span {
    display: block;
    padding: .75em 1em;
    border: 1px dashed #ccc;
}

.titleQ::before, .titleQ::after {
    content: '';
    position: absolute;
    border-style: solid;
    border-color: transparent;
}

.titleQ::before {
    top: 100%;
    left: 0;
    border-width: 0 15px 15px 0;
    border-right-color: #ccc;
}

.titleQ::after {
    top: -15px;
    right: 0;
    border-style: solid;
    border-width: 0 15px 15px 0;
    border-bottom-color: #ccc;
}

/* ---------------------------titleR-- */

.titleR {
    padding: .5em .75em;
    background-color: #f6f6f6;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
}

/* ---------------------------titleS-- */

.titleS {
    position: relative;
    padding: 0 0 .5em 1.7em;
    border-bottom: 1px solid #ccc;
    counter-increment: titleNum;
	margin-bottom:20px;
}

.titleS::before {
    position: absolute;
    top: 4px;
    left: 0;
    content: counter(titleNum);
    width: 20px;
    height: 20px;
    line-height: 20px;
    background-color: #ccc;
    border-radius: 100%;
    color: #fff;
    font-size: .9em;
    text-align: center;
}

/* ---------------------------titleT-- */

.titleT {
    position: relative;
    padding: 0 .4em .1em;
}

.titleT::after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
    width: 100%;
    height: 15px;
    background-color: #FFC;
}

/* ---------------------------titleU-- */

.titleU {
    padding: .75em 1em;
    border: 1px solid #ccc;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: rgb(204, 204, 204);
    border-top: 3px solid #3498db;
    background: -webkit-linear-gradient(top, #fff 0%, #f0f0f0 100%);
    background: linear-gradient(to bottom, #fff 0%, #f0f0f0 100%);
    box-shadow: 0 -1px 0 rgba(255, 255, 255, 1) inset;
}

/* ---------------------------titleV-- */

.titleV {
    position: relative;
    padding: .75em 1em .75em 1.5em;
}

.titleV::after {
    position: absolute;
    top: 1.1em;
    left: 0;
    z-index: 2;
    content: '';
    width: 10px;
    height: 10px;
    border: 3px solid #3498db;
    border-radius: 100%;
}

/* ---------------------------titleW-- */

.titleW {
    position: relative;
    padding: 0 .5em .5em 1.7em;
    border-bottom: 1px solid #ccc;
}

.titleW::after {
    position: absolute;
    top: .4em;
    left: .4em;
    z-index: 2;
    content: '';
    width: 12px;
    height: 12px;
    background-color: #ccc;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* ---------------------------titleX1-- */

.titleX1 {
    position: relative;
    display: inline-block;
    margin: 30px auto 0;
    padding: 0 50px 15px;
    font-size: 130%;
    text-align: center;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
	clear:both;
	box-sizing:border-box;
	letter-spacing:0.1em;
}

.titleX1 span {
	font-size:180%;
	margin-bottom:17px;
	display:block;
}

/* ---------------------------titleX-- */

.titleX {
    position: relative;
    display: inline-block;
    margin: 30px auto 0;
    padding: 0 50px 15px;
    font-size: 140%;
    text-align: center;
    border-bottom: 2px solid #000;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
	clear:both;
	box-sizing:border-box;
}

.titleX span {
	font-size:150%;
	margin-bottom:10px;
	display:block;
}

/* ---------------------------titleAA-- */

.titleAA {
	font-size:130%;
	border-bottom:3px solid #000;
	padding:0 0 10px 0;
}

/* ---------------------------titleAB-- */



/* ---------------------------titleTA-- */

.titleTA {
    font-size: 180%;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 1.7em;
    position: relative;
    top: 100px;
    left: 50%;
    transform: translate(-50%, -50%);
}





/* ---------------------------titleY-- */

.titleY {
	padding:7px 0;
	background-color:#EFEFEF;
	text-align:center;
	font-weight:bold;
	margin:25px 0 25px;
	color:#000;
	clear:both;
}

/* ---------------------------titleZ-- */

.titleZ {
	padding:7px 0;
	background-color:#F00;
	text-align:center;
	font-weight:bold;
	margin:25px 0 25px;
	color:#FFF;
	clear:both;
}

/* ---------------------------------------------------------------------
    文字装飾 sp
--------------------------------------------------------------------- */

/* ---------------------------spA-- */

.spA {
	font-weight:bold;
}

/* ---------------------------spB-- */

.spB {
    padding: 2px 2px;
    background-color: #FF3;
    line-height: 1;
}

/* ---------------------------spC-- */

.spC {
    padding: 10px 40px;
    border-bottom: 17px solid #ffff15;
}

/* ---------------------------spD-- */

.spD {
     display: inline-block;
     margin: 10px 0;
     padding: 10px 30px;
     background: #000;
     color: #fff;
}

/* ---------------------------spE-- */

.spE {
}

/* ---------------------------spF-- */

.spF {
}

/* ---------------------------spG-- */

.spG {
}



/* ---------------------------------------------------------------------
    bb〜ffブロックレイアウト
--------------------------------------------------------------------- */

.bb,.bb1,.bb2,.bb3,.bb4,.bb5,.bb6,.bb7,.cc,.cc1,.cc2,.cc3,.cc4,.cc5,.cc6,.cc7,.dd,.dd1,.dd2,.dd3,.dd4,.dd5,.dd6,.dd7,.ee,.ee1,.ee2,.ee3,.ee4,.ee5,.ee6,.ee7,.ff,.ff1,.ff2,.ff3,.ff4,.ff5,.ff6,.ff7 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom:0;
}

.bb dl {   /* 50%, 50% */
    width:50%;
}

.bb1 dl {
	width:50%;
	margin:0 0 0 0;
	border-right:1px solid #FFF;
}

.bb1 dl:nth-of-type(2n) {
	border-right:0;
}

.bb2 dl {
	width:49.9%;
	margin:0 0.2% 0 0;
}

.bb2 dl:nth-of-type(2n) {
	margin:0;
}

.bb3 dl {
	width:49.7%;
	margin:0 0.6% 0 0;
}

.bb3 dl:nth-of-type(2n) {
	margin:0;
}

.bb4 dl {
	width:49.6%;
	margin:0 0.8% 0 0;
}

.bb4 dl:nth-of-type(2n) {
	margin:0;
}

.bb5 dl {
	width:49.5%;
	margin:0 1% 0 0;
}

.bb5 dl:nth-of-type(2n) {
	margin:0;
}

.bb6 dl {
	width:49%;
	margin:0 2% 0 0;
}

.bb6 dl:nth-of-type(2n) {
	margin:0;
}

.bb7 dl {
	width:48.5%;
	margin:0 3% 0 0;
}

.bb7 dl:nth-of-type(2n) {
	margin:0;
}

/* cc */

.cc dl {
    width: 33.33%;
}
.cc dl:nth-of-type(3n){
	margin:0 0 0 0;
}

.cc1 dl {
    width: 33.33%;
	border-right:1px solid #FFF;
}
.cc1 dl:nth-of-type(3n){
	margin:0 0 0 0;
	border-right:0;
}

.cc2 dl {
    width: 33.2%;
	margin:0 0.2% 0 0;
}
.cc2 dl:nth-of-type(3n){
	margin:0 0 0 0;
}

.cc3 dl {
    width: 32.93%;
	margin:0 0.6% 0 0;
}
.cc3 dl:nth-of-type(3n){
	margin:0 0 0 0;
}

.cc4 dl {
    width: 32.8%;
	margin:0 0.8% 0 0;
}
.cc4 dl:nth-of-type(3n){
	margin:0 0 0 0;
}

.cc5 dl {
    width: 32.66%;
	margin:0 1% 0 0;
}
.cc5 dl:nth-of-type(3n){
	margin:0 0 0 0;
}

.cc6 dl {
    width: 32%;
	margin:0 2% 0 0;
}
.cc6 dl:nth-of-type(3n){
	margin:0 0 0 0;
}

.cc7 dl {
    width: 31.33%;
	margin:0 3% 0 0;
}
.cc7 dl:nth-of-type(3n){
	margin:0 0 0 0;
}

/* dd */

.dd dl {
    width: 25%;
}

.dd dl:nth-of-type(4n){
	margin:0 0 0 0;
}

.dd1 dl {
    width: 25%;
	border-right:1px solid #FFF;
}
.dd1 dl:nth-of-type(4n){
	margin:0 0 0 0;
	border-right:0;
}

.dd2 dl {
    width: 24.85%;
	margin:0 0.2% 0 0;
}

.dd2 dl:nth-of-type(4n){
	margin:0 0 0 0;
}

.dd3 dl {
    width: 24.55%;
	margin:0 0.6% 0 0;
}

.dd3 dl:nth-of-type(4n){
	margin:0 0 0 0;
}

.dd4 dl {
    width: 24.4%;
	margin:0 0.8% 0 0;
}

.dd4 dl:nth-of-type(4n){
	margin:0 0 0 0;
}

.dd5 dl {
    width: 24.25%;
	margin:0 1% 0 0;
}

.dd5 dl:nth-of-type(4n){
	margin:0 0 0 0;
}

.dd6 dl {
    width: 23.5%;
	margin:0 2% 0 0;
}

.dd6 dl:nth-of-type(4n){
	margin:0 0 0 0;
}

.dd7 dl {
    width: 22.75%;
	margin:0 3% 0 0;
}

.dd7 dl:nth-of-type(4n){
	margin:0 0 0 0;
}

/* ee */

.ee dl {
    width: 20%;
}

.ee dl:nth-of-type(5n){
	margin:0 0 0 0;
}

.ee1 dl {
    width: 20%;
	border-right:1px solid #FFF;
}
.ee1 dl:nth-of-type(5n){
	margin:0 0 0 0;
	border-right:0;
}

.ee2 dl {
    width: 19.84%;
	margin:0 0.2% 0 0;
}

.ee2 dl:nth-of-type(5n){
	margin:0 0 0 0;
}

.ee3 dl {
    width: 19.52%;
	margin:0 0.6% 0 0;
}

.ee3 dl:nth-of-type(5n){
	margin:0 0 0 0;
}

.ee4 dl {
    width: 19.36%;
	margin:0 0.8% 0 0;
}

.ee4 dl:nth-of-type(5n){
	margin:0 0 0 0;
}

.ee5 dl {
    width: 19.2%;
	margin:0 1% 0 0;
}

.ee5 dl:nth-of-type(5n){
	margin:0 0 0 0;
}

.ee6 dl {
    width: 18.4%;
	margin:0 2% 0 0;
}

.ee6 dl:nth-of-type(5n){
	margin:0 0 0 0;
}

.ee7 dl {
    width: 17.6%;
	margin:0 3% 0 0;
}

.ee7 dl:nth-of-type(5n){
	margin:0 0 0 0;
}

/* ff */

.ff dl {
    width: 16.66%;
}

.ff dl:nth-of-type(6n){
	margin:0 0 0 0;
}

.ff1 dl {
    width: 16.66%;
	border-right:1px solid #FFF;
}
.ff1 dl:nth-of-type(6n){
	margin:0 0 0 0;
	border-right:0;
}

.ff2 dl {
    width: 16.5%;
	margin:0 0.2% 0 0;
}

.ff2 dl:nth-of-type(6n){
	margin:0 0 0 0;
}

.ff3 dl {
    width: 16.16%;
	margin:0 0.6% 0 0;
}

.ff3 dl:nth-of-type(6n){
	margin:0 0 0 0;
}

.ff4 dl {
    width: 16%;
	margin:0 0.8% 0 0;
}

.ff4 dl:nth-of-type(6n){
	margin:0 0 0 0;
}

.ff5 dl {
    width: 15.83%;
	margin:0 1% 0 0;
}

.ff5 dl:nth-of-type(6n){
	margin:0 0 0 0;
}

.ff6 dl {
    width: 15%;
	margin:0 2% 0 0;
}

.ff6 dl:nth-of-type(6n){
	margin:0 0 0 0;
}

.ff7 dl {
    width: 14.16%;
	margin:0 3% 0 0;
}

.ff7 dl:nth-of-type(6n){
	margin:0 0 0 0;
}



/* ---------------------------------------------------------------------
    レスポンシブ　1440
--------------------------------------------------------------------- */

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

/* ---------------------------------------------------------------------
    レスポンシブ　1200
--------------------------------------------------------------------- */

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

/* ---------------------------------------------------------------------
    レスポンシブ　1024
--------------------------------------------------------------------- */

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

/* ---------------------------boxCA-- */

.boxCA {
	text-align:left;
}

.boxCA {
	text-align:left;
}

.boxCA dt {
	width:100%;
}

.boxCA dd {
	width:100%;
}

.boxCA dt:nth-of-type(1) {
    order: 1;
}

.boxCA dd:nth-of-type(1) {
    order: 2;
}

.boxCA dt:nth-of-type(2) {
    order: 3;
}

.boxCA dd:nth-of-type(2) {
    order: 4;
}

.boxCA dt:nth-of-type(3) {
    order: 5;
}

.boxCA dd:nth-of-type(3) {
    order: 6;
}

.boxCA dt:nth-of-type(4) {
    order: 7;
}

.boxCA dd:nth-of-type(4) {
    order: 8;
}

.boxCA dt:nth-of-type(5) {
    order: 9;
}

.boxCA dd:nth-of-type(5) {
    order: 10;
}

.boxCA dt:nth-of-type(6) {
    order: 11;
}

.boxCA dd:nth-of-type(6) {
    order: 12;
}

.boxCA dt:nth-of-type(7) {
    order: 13;
}

.boxCA dd:nth-of-type(7) {
    order: 14;
}

.boxCA dt:nth-of-type(8) {
    order: 15;
}

.boxCA dd:nth-of-type(8) {
    order: 16;
}

.boxCA dt:nth-of-type(9) {
    order: 17;
}

.boxCA dd:nth-of-type(9) {
    order: 18;
}

.boxCA dt:nth-of-type(10) {
    order: 19;
}

.boxCA dd:nth-of-type(10) {
    order: 20;
}

/* ---------------------------boxCB-- */

.boxCB dl h1 {
    font-size: 110%;
    background: url(../images/abmo01.png) no-repeat center 6vw;
}

/* -----------------------------------boxBK-- */

.boxBK .el02:after {
    margin-top: -1px;
    border-left: 140px solid transparent;
    border-right: 140px solid transparent;
}

}


/* ---------------------------------------------------------------------
    レスポンシブ　860
--------------------------------------------------------------------- */

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

/* ---------------------------------------------------------------------
    各デバイスで表示・非表示
--------------------------------------------------------------------- */
.pc_on,
br.pc_on {
    display:none ;
}
.pc_off,
br.pc_off {
    display:block ;
}
.tablet_on,
br.tablet_on {
    display:block ;
}
.tablet_off,
br.tablet_off {
    display:none ;
}
.sp_on,
br.sp_on {
    display:none ;
}
.sp_off,
br.sp_off {
    display:block ;
}

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

.gri04,
.gri05,
.gri06,
.gri07,
.gri08,
.gri09 {
    display: grid;
    grid-template-columns: 1fr 1fr;
}


/* -----------------------------------bb〜ｆｆ内のdlに設定するためのセット-- */
.bb dl,.bb1 dl,.bb2 dl,.bb3 dl,.bb4 dl,.bb5 dl,.bb6 dl,.bb7 dl,.cc dl,.cc1 dl,.cc2 dl,.cc3 dl,.cc4 dl,.cc5 dl,.cc6 dl,.cc7 dl,.dd dl,.dd1 dl,.dd2 dl,.dd3 dl,.dd4 dl,.dd5 dl,.dd6 dl,.dd7 dl,.ee dl,.ee1 dl,.ee2 dl,.ee3 dl,.ee4 dl,.ee5 dl,.ee6 dl,.ee7 dl,.ff dl,.ff1 dl,.ff2 dl,.ff3 dl,.ff4 dl,.ff5 dl,.ff6 dl,.ff7 {
}
/* ------------------------------------- */

.dd dl,.dd1 dl,.dd2 dl,.dd3 dl,.dd4 dl,.dd5 dl,.dd6 dl,.dd7 dl {
    width: 48%;
}

/* ------------------------------------- */
.bl01 dt img {
    height: 210px;
}


/* -----------------------------------boxCA-- */

.boxCA h2,
.boxCA p {
	width:90%;
	margin:0 auto;
}

.boxCA h2 {
	padding-top:7%;
	color:#000123;
	font-size:140%;
	padding-bottom:4% ;
	background: url(../images/boxCA.png) no-repeat center 2.8vw;
}

.boxCA p {
    padding-bottom: 7%;
}

/* ---------------------------boxCB-- */

.boxCB dl h1 {
    padding-top: 17vw;
    font-size: 90%;
    padding-bottom: 2vw !important;
    background: url(../images/abmo01.png) no-repeat center 6vw;
	background-size:100px;
	margin-bottom:7vw;
}

.boxCB dl h1 span {
	margin-bottom:5px;
}

.boxCB dl dt,
.boxCB dl dd {
	width:100%;
	float:none;
}

/* -----------------------------------boxBK-- */

.boxBK .el02:after {
    border-left: 110px solid transparent;
    border-right: 110px solid transparent;
}



/* ---------------------------tbF-- */

.tbF td:nth-of-type(1) {
    width: 27%;
	font-weight:bold;
	padding-left:0;
}

}


/* ---------------------------------------------------------------------
    レスポンシブ　500
--------------------------------------------------------------------- */

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

/* ---------------------------------------------------------------------
    各デバイスで表示・非表示
--------------------------------------------------------------------- */
.pc_on,
br.pc_on {
    display:none ;
}
.pc_off,
br.pc_off {
    display:block ;
}
.tablet_on,
br.tablet_on {
    display:none ;
}
.tablet_off,
br.tablet_off {
    display:block ;
}
.sp_on,
br.sp_on {
    display:block ;
}
.sp_off,
br.sp_off {
    display:none ;
}

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

.gri02,
.gri03 {
    display: grid;
    grid-template-columns: 1fr;
}

/*
.bb dl,.bb1 dl,.bb2 dl,.bb3 dl,.bb4 dl,.bb5 dl,.bb6 dl,.bb7 dl,.cc dl,.cc1 dl,.cc2 dl,.cc3 dl,.cc4 dl,.cc5 dl,.cc6 dl,.cc7 dl,.dd dl,.dd1 dl,.dd2 dl,.dd3 dl,.dd4 dl,.dd5 dl,.dd6 dl,.dd7 dl,.ee dl,.ee1 dl,.ee2 dl,.ee3 dl,.ee4 dl,.ee5 dl,.ee6 dl,.ee7 dl,.ff dl,.ff1 dl,.ff2 dl,.ff3 dl,.ff4 dl,.ff5 dl,.ff6 dl,.ff7 {
  width: 100% ;
  margin: 0 0;
  padding: 10px 0;
}
*/


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

.bl01 dt img {
    height: 350px;
}

/* ---------------------------boxCA-- */

.boxCA dl dt,
.boxCA dl dd {
	text-align:left;
}

/* ---------------------------boxCB-- */

.boxCB dl h1 {
    padding-top: 17vw;
    font-size: 90%;
    padding-bottom: 2vw !important;
    background: url(../images/abmo01.png) no-repeat center 6vw;
	background-size:60px;
	margin-bottom:7vw;
}

/* -----------------------------------boxBK-- */

.boxBK .el02:after {
    border-left: 170px solid transparent;
    border-right: 170px solid transparent;
}

/* ---------------------------------------------------------boxDB--*/

.boxDB dl {
    padding: 15px;
    font-size: 0.7em;
}

.boxDB dd {
    padding: 0 20px 0 0;
}

.boxDB h3 {
    font-size: 1.6em;
    margin-bottom: 6px;
}

.boxDB dd span {
    padding-right: 5px;
}

.boxDB p {
    line-height: 1.3em;
}

.boxDB dl:after {
    right: 16px;
}

/* -----------------------------------tbA-- */

.tbA td {
    display: block;
    width: 100% ;
}

.tbA td:nth-of-type(odd) {
    font-size: 80%;
    border-bottom: none;
    padding: 17px 0 0;
    line-height: 0.8em;
}

/* ---------------------------tbD-- */

.tbD td {
	border-top:none;
}

.tbD td {
	display:block;
    width: 100%;
}

.tbD td:nth-of-type(odd) {
    width: 100%;
	border-bottom:1px dotted #CCC;
}

/* ---------------------------tbE-- */

.tbE td {
	display:block;
    width: 100%;
}

.tbE td:nth-of-type(odd) {
    width: 100%;
	border-bottom:1px dotted #CCC;
}

/* ---------------------------tbF-- */

.tbF td {
	display:block;
    width: 100%;
}

.tbF td:nth-of-type(odd) {
    width: 100%;
	border-bottom:1px dotted #CCC;
}

}

