﻿/***********************************************
全体
***********************************************/
/* =============================================
アンカーリンク
============================================= */
a.anchor {
    display: block;
    padding-top: 150px;
    margin-top: -150px;
}
/* =============================================
contents-3box-b1
============================================= */
.dlb-flow_area_3b1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.inner, .inner_1200 {
    width: 92%;
    margin-right: auto;
    margin-left: auto;
    max-width: 1200px;
}
.m80_pc {
    margin-bottom: 80px;
}
.dlb-flow_area_3b1 .dlb-flow_item {
    width: 30%;
}
.img100 img, .img img, .inner img {
    max-width: 100%;
    width: auto;
    height: auto;
    display: block;
    margin-right: auto;
    margin-left: auto;
}
.dlb-flow_area_3b1 .dlb-flow_title {
    text-align: center;
    padding: 20px 8px;
    font-weight: bold;
    font-size: 110%;
}
.dlb-flow_area_3b1 .dlb-flow_title {
    color: #333333;
}
.dlb-flow_area_3b1 .dlb-flow_txt {
    padding: 0px 20px;
}
.dlb-flow_area_3b1 .dlb-flow_arr {
    width: 5%;
    text-align: center;
    position: relative;
}
.dlb-flow_area_3b1 .dlb-flow_arr::before {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 15px 20px;
    top: 50%;
    left: calc(50% - 10px);
    margin-top: -5px;
}
.dlb_color_senafttriaright_key::before{
    border-color: transparent transparent transparent #ED1C21;
}
@media screen and (max-width: 690px){
.dlb-flow_area_3b1 .dlb-flow_item {
    width: 100%;
}
.dlb-flow_area_3b1 .dlb-flow_txt {
    padding: 20px 16px;
}
.dlb-flow_area_3b1 .dlb-flow_title {
    padding: 20px 0 15px;
}
.dlb-flow_area_3b1 .dlb-flow_txt {
    padding: 0px;
}
.dlb-flow_area_3b1 .dlb-flow_arr::before {
    transform: rotate(90deg);
    left: calc(50% - 15px);
}
.dlb-flow_area_3b1 .dlb-flow_arr {
    width: 100% !important;
    height: 50px;
}
}
/* =============================================
contents-a1
============================================= */
.a1bg{
    background-image: url(/dcms_media/image/a1.jpg);
    background-repeat: no-repeat;
    background-size:  cover;  
    width: 100vw;
    left: 50%;
    position: relative;
    transform: translateX(-50%);
    height: 600px;
    background-position: 50%;
}
.a1inner-box{
    background-color: #fff;
    position: relative;
    z-index: 10;
    width: 60%;
    height: 210px;
    top: -160px;
    margin: 0 auto;
    padding-top: 50px;
    text-align: center;
}
.a1title{
    font-size: 35px;
    line-height: 1em;
    margin-bottom: 10px;
}
.a1title-small{
    font-size: 20px;
}
.a1lead{
    margin-bottom: 30px;
}
.a1text{
    margin-bottom: 30px;
}
.btn1{
    width: 40%;
    margin: 0 auto;
    position: relative;
}
.btn1a{
    display: block;
    border-bottom: 1px solid #cccccc;
    font-size: 16px;
    font-weight: 600;
    text-align: left;
}
.btn1a:hover{
    text-decoration: none;
}
.btn1a:before {
    content: '▶';
    display: block;
    position: absolute;
    top: 2px;
    right: 0;
    font-size: 90%;
}
.btn1a:after{
    border-bottom: 1px solid #cccccc;
    content: '';
    display: block;
    width: 0%;
    padding-top: 1%;
}
.btn1a:hover:after{
    border-bottom: 1px solid #000000;
    content: '';
    display: block;
    width: 100%;
    transition: all 1s ease;
}
.a1slideshow {
    overflow: hidden;
    position: relative;
    min-width: 960px;
    height: 465px;
}
.a1slideshow img {
    display: none;
    position: absolute;
    left: 50%;
    margin-left: -800px;
}
/* JavsScript 無効時 */
.no-js .a1slideshow img:first-child {
    display: inline;
}
@media screen and (max-width: 780px) {
.a1bg{
    height: 100vw;
}
.a1inner-box{
    width: 80%;
}
}
@media screen and (max-width: 500px) {
.a1inner-box{
    width: 90%;
    padding-right: 18px;
    padding-left: 18px;
    padding-top: 40px;
}
.a1slideshow img {
    left: 25%;
}
}
/* =============================================
contents-a2
============================================= */
.a2{ 
    width: 100vw;
    left: 50%;
    position: relative;
    display: flex;
    height: 500px;
    transform: translateX(-50%);
}
.a2bg{
    background: url(/dcms_media/image/a2.jpg)repeat;
    background-size: cover;
    background-position: 50%;
    flex-basis: 50%;
    height: 100%;
    overflow: hidden;
}
.a2box{
    background: #f4f1f1;
    z-index: 100;
    height: 100%;
    flex-basis: 50%;
    padding: 135px 45px;
    text-align: center;
}
.a2title{
    font-size: 35px;
    line-height: 1em;
    margin-bottom: 10px;
}
.a2title-small{
    font-size: 20px;
}
.a2text{
    margin-bottom: 30px;
}
.btn2 {
  padding: 7px 50px;
  border-radius: 25px;
  text-decoration: none;
  color: #FFF;
  background-image: linear-gradient(45deg, #9f9d9d 0%, #333333 100%);
  transition-duration: 0.3s;
}
.btn2:hover {
  background-image: linear-gradient(45deg, #797979 0%, #010101 100%);
}
.a2box a:hover {
    text-decoration: none;
    color: #ffffff;
}
@media screen and (max-width: 780px) {
.a2{ 
    display: block!important;
    margin-bottom: 600px;
}
.a2box {
    height: 430px;
    padding: 60px 45px;
}
}
/* =============================================
contents-a3
============================================= */
.a3bg{
    background-image: url(/dcms_media/image/a3.jpg);
    background-repeat: no-repeat;
    background-size:  cover; 
    background-position: 50%; 
    width: 100%;
    left: 50%;
    position: relative;
    transform: translateX(-50%);
    height: 500px;
    background-position: 50%;
}
.a3inner-box{
    background-color: #fff;
    position: relative;
    z-index: 10;
    width: 60%;
    height: 180px;
    top: -180px;
    left: -2px;
    padding-top: 40px;
    text-align: center;
}
.a3title{
    font-size: 35px;
    line-height: 1em;
    margin-bottom: 10px;
}
.a3title-small{
    font-size: 20px;
}
.a3lead{
    margin-bottom: 30px;
}
.a3text{
    margin-bottom: 30px;
}
.btn3{
    width: 40%;
    margin: 0 auto;
    position: relative;
}
.btn3a{
    display: block;
    border-bottom: 1px solid #cccccc;
    font-size: 16px;
    font-weight: 600;
    text-align: left;
}
.btn3a:hover{
    text-decoration: none;
}
.btn3a:before {
    content: '▶';
    display: block;
    position: absolute;
    top: 2px;
    right: 0;
    font-size: 90%;
}
.btn3a:after{
    border-bottom: 1px solid #cccccc;
    content: '';
    display: block;
    width: 0%;
    padding-top: 1%;
}
.btn3a:hover:after{
    border-bottom: 1px solid #000000;
    content: '';
    display: block;
    width: 100%;
    transition: all 1s ease;
}
.a3slideshow {
    overflow: hidden;
    position: relative;
    min-width: 960px;
    height: 550px;
}
.a3slideshow img {
    display: none;
    position: absolute;
    left: 50%;
    margin-left: -800px;
}
/* JavsScript 無効時 */
.no-js .a1slideshow img:first-child {
    display: inline;
}
@media screen and (max-width: 780px) {
.a3bg{
    height: 100vw;
}
.a3inner-box{
    width: 80%;
}
.a3slideshow img {
    left: 50%;
    margin-left: -800px;
}
}
@media screen and (max-width: 500px) {
.a3inner-box{
    width: 90%;
    padding-right: 18px;
    padding-left: 18px;
    padding-top: 40px;
}
.a3slideshow img {
    left: 25%;
}
}
/* =============================================
contents-a4
============================================= */
.a4 .container{
    max-width:1200px;
    margin:0px auto 150px;
    width: 100%;
}
.a4 .content .heading{
    margin:0px 0px 40px 0px;
    text-align: center;
}
.a4title{
    font-size: 35px;
    line-height: 1em;
    margin-bottom: 10px;
    text-align: center;
}
.a4title-small{
    font-size: 20px;
    text-align: center;
}
.a4text{
    margin-bottom: 30px;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
}
@media (min-width: 780px) {
    .a4 .content .list {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}
@media (max-width: 780px) {
    .a4 .container{
    width: 90%;
    }
}
.a4 .content .list-item {
    margin:50px 0px;
    padding:0px 50px;
    text-align:center;
}
@media (min-width: 992px) {
    .a4 .content .list-item {
        margin:0px;
        width:calc(100% / 3);
    }
}
.a4 .content .list-item .image{
    display:block;
    width:100%;
    max-width:300px;
    margin:0px auto 20px auto;
    border-radius:100%;
}
.a4 .content .list-item .text{
    line-height:1.8rem;
    font-size:14px;
    text-align: left;
}
/* =============================================
contents-a5
============================================= */
.a5bg{
    width: 100vw;
    left: 50%;
    position: relative;
    transform: translateX(-50%);
    height: 200px;
    margin-bottom: 650px;
}
.a5inner-box1{
    position: relative;
    z-index: 10;
    width: 100%;
    top: 30px;
    margin: 0 auto 50px;
    max-width: 1120px;
    display: flex;
    justify-content: space-evenly;
    align-items: end;
}
.a5inner-box1-text{
	background-color: #272727;
    flex-basis: 460px;
    height: 200px;
    text-align: left;
    padding: 16px 20px 20px;
    box-sizing: content-box;
    color: #ffffff;
}
.a5inner-box1-img{
    background-image: url(/dcms_media/image/a5-1.jpg);
    background-repeat: no-repeat;
    background-size:  cover; 
    background-position: 50%;  
    flex-basis: 500px;
    height: 300px;
}
.a5-number{
    font-size: 40px;
    font-weight: 600;
    letter-spacing: -2px;
}
.a5bg-even .a5inner-box1{
    align-items: start;
}
.a5bg-even .a5inner-box1-text{
    margin-right: 0px;
    text-align: right;
}
.a5bg-even .a5inner-box1-img{
    background-image: url(/dcms_media/image/a5-2.jpg);
}
@media screen and (max-width: 780px) {
.a5bg{
    height: 435px;
    width: 100%;
}
.a5inner-box1 {
    margin: 0 auto 30px;
    flex-wrap: wrap;
}
.a5inner-box1-text{
    position: relative;
    z-index: 100;
    max-height: 150px;
    flex-basis: 100%;
}
.a5inner-box1-img{
    position: relative;
    max-height: 300px;
    flex-basis: 100%;
}
.a5bg-even .a5inner-box1-text{
    right: 5%;
    left: 0;
    order: 1;
}
.a5bg-even .a5inner-box1-img{
    right: 0;
    order: 2;
}
}
/* =============================================
contents-a6
============================================= */
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@700&display=swap');

.a6 {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 60vh;
  margin: 0 0 50px;
  background: hsl(0 0% 98%);
  font-family: 'Raleway', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Open Sans', sans-serif;
}
/* C */
/* ========================================================================== */
.c {
  min-width: 700px;
  width: 700px;
  height: 500px;
  border-radius: 12px;
  padding: 20px;
  padding-bottom: 40px;
  box-shadow: 0 8px 48px 2px hsla(10 6% 15% / .4);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: hsl(0 0% 90%);
  box-sizing: border-box;
}
.ci {
  position: absolute;
  top: 0;
  left: 0;
  width: inherit;
  height: inherit;
  transform-origin: left 50%;
  background: inherit;
  z-index: var(--z);
  transition: .3s ease-out;
}

.ci img {
  -moz-user-select: none;
  user-select: none;
}

.ch {
  position: absolute;
  top: 70%;
  left: 4%;
  transform: translateY(-50%);
  font-size: 2rem;
  color: #ffffff;
  text-shadow: 0 2px 10px hsla(var(--h) var(--s) 10% / .3);
}

input {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  z-index: -10;
}

.labela6 {
  width: 10%;
  height: 10px;
  margin-right: 4px;
  border-radius: 20px;
  background: hsla(0 0% 90% / .3);
  cursor: pointer;
  position: relative;
  z-index: 10;
}

.labela6:last-child {
  margin-right: 0;
}
input:checked+.labela6 {
  background: linear-gradient(90deg, rgba(2,0,50,0) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,1) 100%);
}

input:not(:checked)+.labela6+.ci {
  transform: translateX(-100%);
  opacity: 0;
}

input:checked+.labela6+.ci~.ci {
  transform: translateX(100%);
}
input:not(:checked)+.labela6+.ci {
  transition: 0;
}
@media screen and (max-width: 700px) {
.c{
    width: 100%;
    min-width: 100%;
}
}
/* =============================================
contents-a7
============================================= */
.a7{ 
    width: 100vw;
    left: 50%;
    position: relative;
    display: flex;
    height: 500px;
    transform: translateX(-50%);
}
.a7bg{
    background: url(/dcms_media/image/a2.jpg)repeat;
    background-size: cover;
    background-position: 50%;
    flex-basis: 50%;
    height: 100%;
    overflow: hidden;
}
.a7box{
    background: #f4f1f1;
    z-index: 100;
    height: 100%;
    flex-basis: 50%;
    padding: 135px 45px;
    text-align: center;
}
.a7title{
    font-size: 35px;
    line-height: 1em;
    margin-bottom: 10px;
}
.a7title-small{
    font-size: 20px;
}
.a7text{
    margin-bottom: 30px;
}
.btn7 {
  display: inline-block;
  padding: 7px 50px;
  border-radius: 25px;
  text-decoration: none;
  color: #FFF;
  background-image: linear-gradient(45deg, #9f9d9d 0%, #333333 100%);
  transition:1s all linear; 
}
.btn7:hover {
  background-image: linear-gradient(45deg, #797979 0%, #010101 100%);
}
.a7box a:hover {
    text-decoration: none;
    color: #ffffff;
}
@media screen and (max-width: 780px) {
.a7{ 
    display: block!important;
    margin-bottom: 600px;
}
.a7box {
    height: 430px;
    padding: 60px 45px;
}
}
/* =============================================
tab-b1（タブ切り替え）
============================================= */
.b1_tab *, .b1_tab *:before, .b1_tab *:after {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.b1_tab {
	margin: 1em auto;
}
.b1_tab > input[type='radio'] {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	outline: none;
	background: none;
	-webkit-appearance: none;
	        appearance: none;
	display: none;
}
.b1_tab .b1_tabpanel {
	display: none;
}
.b1_tab > input:first-child:checked ~ .b1_tabpanels > .b1_tabpanel:first-child,
.b1_tab > input:nth-child(3):checked ~ .b1_tabpanels > .b1_tabpanel:nth-child(2),
.b1_tab > input:nth-child(5):checked ~ .b1_tabpanels > .b1_tabpanel:nth-child(3),
.b1_tab > input:nth-child(7):checked ~ .b1_tabpanels > .b1_tabpanel:nth-child(4),
.b1_tab > input:nth-child(9):checked ~ .b1_tabpanels > .b1_tabpanel:nth-child(5),
.b1_tab > input:nth-child(11):checked ~ .b1_tabpanels > .b1_tabpanel:nth-child(6) {
	display: block;
}
.b1_tab > label {
	position: relative;
	display: inline-block;
	padding: 15px;
	cursor: pointer;
	border: 1px solid transparent;
	border-bottom: 0;
}
.b1_tab > label:hover,
.b1_tab > input:focus + label {
	color: #d3d3d3;
}
.b1_tab > input:checked + label {
	margin-bottom: -1px;
	border-color: #cccccc;
	border-bottom: 1px solid #ffffff;/*背景色と同じ*/
	border-radius: 6px 6px 0 0;
}
.b1_tab .cp_tabpanel {
	padding: 0.5em 1em;
	border-top: 1px solid #cccccc;
}
@media (max-width: 480px) {
	.b1_tab {
		width: 100%;
		font-size: 0.8em;
	}
	.b1_tab label {
		padding: 0.5em;
	}
}
/* =============================================
tab-b2（タブ切り替え）
============================================= */
.b2_tab *, .b2_tab *:before, .b2_tab *:after {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.b2_tab {
	margin: 1em auto;
	position: relative;
}
.b2_tab input[type='radio'] {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	outline: none;
	background: none;
	-webkit-appearance: none;
	        appearance: none;
	display: none;
}
.b2_tab .b2_tabpanel {
	display: none;
}
.b2_tab > input:first-child:checked ~ .b2_tabpanels > .b2_tabpanel:first-child,
.b2_tab > input:nth-child(3):checked ~ .b2_tabpanels > .b2_tabpanel:nth-child(2),
.b2_tab > input:nth-child(5):checked ~ .b2_tabpanels > .b2_tabpanel:nth-child(3),
.b2_tab > input:nth-child(7):checked ~ .b2_tabpanels > .b2_tabpanel:nth-child(4),
.b2_tab > input:nth-child(9):checked ~ .b2_tabpanels > .b2_tabpanel:nth-child(5),
.b2_tab > input:nth-child(11):checked ~ .b2_tabpanels > .b2_tabpanel:nth-child(6) {
	display: block;
}
.b2_tab .b2_tabpanels {
	position: absolute;
	top:0;
	left: 10em;
	display: block;
	height: 320px;
}
.b2_tab > input + label {
	position: relative;
	z-index: 10;
	top: 5px;
	left: 1px;
	display: block;
	width: 10em;
	margin-bottom: 5px;
	padding: 15px;
	cursor: pointer;
	border: 1px solid #cccccc;
	border-right: 0;
	border-radius: 6px 0 0 6px;
}
.b2_tab > input + label:last-of-type {
	margin-bottom: 100px;
}
.b2_tab > label:hover,
.b2_tab > input:focus + label {
	color: #d3d3d3;
}
.b2_tab > input:checked + label {
	border-color: #cccccc;
	border-right: 1px solid #ffffff;/*背景色と同じ*/
}
.b2_tab .b2_tabpanel {
	padding: 0.5em 1em;
	border-left: 1px solid #cccccc;
	min-height: 320px;
}
@media (max-width: 480px) {
	.b2_tab {
		width: 100%;
	}
	.b2_tab > input + label {
	font-size: 0.7em;
	}
	.b2_tab .b2_tabpanels {
	left: 7em;
	min-width: 7em;
	}
}
/* =============================================
contents-a7（画像のアコーディオン）
============================================= */
.cp_accordionslide01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	visibility: hidden;
	width: 100%;
	height: 60vh;
}
.cp_accordionslide01 .slideitem {
	position: relative;
	visibility: visible;
	width: 20%;
	height: 100%;
	cursor: pointer;
	-webkit-transition: all 0.5s ease-out;
	        transition: all 0.5s ease-out;
}
.cp_accordionslide01 .slideitem:nth-child(1) {
	background: #efefef;
}
.cp_accordionslide01 .slideitem:nth-child(2) {
	background: #dfdfdf;
}
.cp_accordionslide01 .slideitem:nth-child(3) {
	background: #c0c0c0;
}
.cp_accordionslide01 .slideitem:nth-child(4) {
	background: #afafaf;
}
.cp_accordionslide01 .slideitem:nth-child(5) {
	background: #9f9f9f;
}
.cp_accordionslide01:hover .slideitem:hover {
	width: 60%;
}
.cp_accordionslide01 .slideitem h2 {
	font-size: 1.4em;
	padding: 0.5em;
}
.cp_accordionslide01 .slideitem p {
	padding: 0.5em;
}
@media only screen and (max-width:768px) {
	.cp_accordionslide01 .slideitem h2 {
		font-size: 0.8em;
		word-wrap: break-word;
	}
	.cp_accordionslide01 .slideitem p {
		font-size: 0.7em;
		word-wrap: break-word;
	}
	.cp_accordionslide01 .slideitem {
		width: 20%;
	}
	.cp_accordionslide01:hover .slideitem {
		width: 15%;
	}
}
/* =============================================
contents-a7（画像のアコーディオン：テキスト降りてくる）
============================================= */
.cp_accordionslide02 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	visibility: hidden;
	width: 100%;
	height: 60vh;
}
.cp_accordionslide02 p {
	font-weight: normal;
}
.cp_accordionslide02 .slideitem {
	position: relative;
	visibility: visible;
	overflow: hidden;
	width: 20%;
	height: 100%;
	cursor: pointer;
	-webkit-transition: all 0.3s linear 0s;
	transition: all 0.3s linear 0s;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.cp_accordionslide02 .slideitem:nth-child(1) {
	background-image: url('/dcms_media/image/contents-a7-1.jpg');
}
.cp_accordionslide02 .slideitem:nth-child(2) {
	background-image: url('/dcms_media/image/contents-a7-2.jpg');
}
.cp_accordionslide02 .slideitem:nth-child(3) {
	background-image: url('/dcms_media/image/contents-a7-3.jpg');
}
.cp_accordionslide02 .slideitem:nth-child(4) {
	background-image: url('/dcms_media/image/contents-a7-4.jpg');
}
.cp_accordionslide02 .slideitem:nth-child(5) {
	background-image: url('/dcms_media/image/contents-a7-5.jpg');
}
.cp_accordionslide02 .slideitem:after {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: '';
	opacity: 0;
}
.cp_accordionslide02:hover .slideitem:hover {
	width: 60%;
}
.cp_accordionslide02 .slideitem .slidecont {
	position: absolute;
	z-index: 4;
	bottom: 60px;
	left: 30px;
	visibility: hidden;
	max-width: 400px;
	padding: 20px;
	color: #ffffff;
	border-radius: 5px;
	background-color: rgba(0, 0, 0 ,0.8);
}
.cp_accordionslide02 .slideitem .slidecont h2 {
	font-size: 1.4em;
}
.cp_accordionslide02:hover .slideitem:hover .slidecont {
	bottom: 30px;
	visibility: visible;
	-webkit-transition: all 0.2s linear 0.5s;
	transition: all 0.2s linear 0.5s;
	opacity: 1;
}
@media only screen and (max-width:768px) {
	.cp_accordionslide02 {
		height: 80vh;
	}
	.cp_accordionslide02 .slideitem .slidecont h2 {
		font-size: 0.9em;
	}
	.cp_accordionslide02 .slideitem .slidecont p {
		font-size: 0.7em;
	}
	.cp_accordionslide02 .slideitem .slidecont {
		right: 10px;
		left: 10px;
	}
}
/* =============================================
contents-a8（ホバー時にキャプションが出る）
============================================= */
.a8{
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
figure.a8_caption {
	position: relative;
	overflow: hidden;
	width: 100%;
	min-width: 220px;
	max-width: 300px;
	max-height: 220px;
	margin: 10px 1%;
	color: #ffffff;
}
figure.a8_caption * {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
figure.a8_caption img {
	width: 100%;
	height: 100%;
}
figure.a8_caption figcaption {
	position: absolute;
	z-index: 1;
	top: 50%;
	padding: 3em 3em;
	transition: all 0.3s ease-out;
	transition-delay: 0.1s;
	opacity: 0;
}
figure.a8_caption:after {
	position: absolute;
	top: 7%;
	right: 10%;
	bottom: 7%;
	left: 10%;
	display: inline-block;
	content: '';
	transition: all 0.3s ease-out;
	opacity: 0;
	background: #333333;
}
figure.a8_caption:hover:after {
	opacity: 0.9;
}
figure.a8_caption:hover figcaption {
	transform: translateY(-50%);
	opacity: 1;
}
.a8title{
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 5px;
}
.a8text{
	line-height: 1.6;
}
@media only screen and (max-width:600px) {
figure.a8_caption {
	width: 100%;
	min-width: 300px;
	max-width: 100%;
	height: 100%;
	max-height: 345px;
}
}
/* =============================================
contents-a9（真ん中から上下にテキストが出る）
============================================= */
.a9{
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
figure.a9_caption {
	position: relative;
	overflow: hidden;
	width: 100%;
	min-width: 220px;
	max-width: 300px;
	max-height: 220px;
	margin: 10px 1%;
	text-align: center;
	color: #fff;
	background: #333333;
}
figure.a9_caption * {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
figure.a9_caption img {
	width: 100%;
	-webkit-transition: opacity 0.3s;
	        transition: opacity 0.3s;
	opacity: 1;
}
figure.a9_caption figcaption {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 3em 3em;
}
figure.a9_caption figcaption::before {
	position: absolute;
	top: 50%;
	right: 30px;
	bottom: 50%;
	left: 30px;
	content: '';
	-webkit-transition: all 0.4s;
	        transition: all 0.4s;
	-webkit-transition-delay: 0.2s;
	        transition-delay: 0.2s;
	opacity: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.8);
	border-bottom: 1px solid rgba(255, 255, 255, 0.8);
	background-color: #fff;
}
.a9title{
	margin: 0 0 5px;
	-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
	        transition: opacity 0.3s, transform 0.3s;
	opacity: 0;
}
figure.a9_caption p {
    margin: 0 0 5px;
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s,-webkit-transform 0.35s,-moz-transform 0.35s,-o-transform 0.35s,transform 0.35s;
    opacity: 0;
}
figure.a9_caption a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	color: #fff;
}
figure.a9_caption:hover img {
	opacity: 0.35;
}
figure.a9_caption:hover figcaption h2 {
	-webkit-transition-delay: 0.3s;
	        transition-delay: 0.3s;
	-webkit-transform: translate3d(0%, 0%, 0);
	        transform: translate3d(0%, 0%, 0);
	opacity: 1;
}
figure.a9_caption:hover figcaption p {
	-webkit-transition-delay: 0.2s;
	        transition-delay: 0.2s;
	opacity: 0.9;
}
figure.a9_caption:hover figcaption::before {
	top: 30px;
	bottom: 30px;
	-webkit-transition-delay: 0s;
	        transition-delay: 0s;
	opacity: 1;
	background: rgba(27, 37, 56, 0);
}
.a9title{
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 5px;
}
.a9text{
	line-height: 1.6;
}
@media only screen and (max-width:600px) {
figure.a9_caption {
	width: 100%;
	min-width: 300px;
	max-width: 100%;
	height: 100%;
	max-height: 345px;
}
}
/* =============================================
contents-a10（下からテキストを表示(画像も移動）
============================================= */
.a10{
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
figure.a10_caption {
	line-height: 0;
	position: relative;
	overflow: hidden;
	width: 100%;
	min-width: 220px;
	max-width: 300px;
	max-height: 220px;
	margin: 10px 1%;
	color: #ffffff;
}
figure.a10_caption * {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
figure.a10_caption img {
	width: 100%;
	-webkit-transition: all 0.4s;
	        transition: all 0.4s;
	opacity: 1;
}
.a10title {
	line-height: 1.6;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #fff;
}
figure.a10_caption p {
	line-height: 1.6;
	margin: 0;
	padding: 0;
}
figure.a10_caption:hover img {
	-webkit-transform: translateY(-45px);
	        transform: translateY(-45px);
}
figure.a10_caption:hover figcaption {
	-webkit-transition: -webkit-transform 0.3s, opacity 0.1s;
	        transition:         transform 0.3s, opacity 0.1s;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
	opacity: 1;
}
figure.a10_caption figcaption {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	padding: 0.5em;
	-webkit-transition: -webkit-transform 0.35s, opacity 0.1s 0.3s;
	        transition:         transform 0.35s, opacity 0.1s 0.3s;
	-webkit-transform: translateY(100%);
	        transform: translateY(100%);
	opacity: 0;
	color: #ffffff;
	background: #333333;
}
.a10title{
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 5px;
}
.a10text{
	line-height: 1.6;
}
@media only screen and (max-width:600px) {
figure.a10_caption {
	width: 100%;
	min-width: 300px;
	max-width: 100%;
	height: 100%;
	max-height: 345px;
}
}
/* =============================================
contents-a11（ホバー時画像の拡大）
============================================= */
.a11{
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.a11 figure{
	width: 100%;
	min-width: 220px;
	max-width: 300px;
	margin: 10px 1%;
}
.a11_imghover {
	overflow: hidden;
	width: 100%;
	min-width: 220px;
	max-width: 300px;
	max-height: 220px;
	cursor: pointer;
	margin-bottom: 5px;
}
.a11_zoomin img {
	width: 300px;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}
.a11_zoomin img:hover {
	-webkit-transform: scale(1.5,1.5);
	transform: scale(1.5,1.5);
}
.a11title{
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 5px;
}
.a11text{
	line-height: 1.6;
}
@media only screen and (max-width:600px) {
.a11 figure {
    width: 100%;
    min-width: 220px;
    max-width: 100%;
    margin-bottom: 50px;
}
.a11_imghover {
	width: 100%;
	min-width: 300px;
	max-width: 100%;
	max-height: 345px;
}
.a11_zoomin img{
	width: 100%;
}
}
/* =============================================
contents-a12（角丸カード）
============================================= */
.a12{
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    transition: .5s;
}
.a12 a:hover{
    text-decoration: none;
    opacity: .7;
}
.a12card {
  margin: 1rem auto;
  width: 365px;
}
.a12-radius{
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0,0,0,.2);
}

.a12-02 {
  background-color: #fff;
  box-shadow: 0 0 0px rgba(0, 0, 0, .16);
  color: #212121;
  text-decoration: none;
}
.a12-header-02 {
  display: flex;
  flex-wrap: wrap;
}
.a12-title-02 {
    padding: 10px 15px 3px;
    font-size: 20px;
    order: 1;
    font-weight: bold;
    text-decoration: none;
    border-bottom: solid 3px black;
    margin-bottom: 10px;
}
.a12-thumbnail-02 {
  margin: 0;
  order: 0;
}
.a12-image-02 {
  width: 100%;
}
.a12-body-02 {
  padding: 0 1.5rem;
}
.a12-text-02 {
  font-size: .8rem;
  text-align:center;
  text-decoration: none;
}
.a12-text2-02 {
  font-size: 14px;
  margin-top: 0;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width:600px) {
.a12card {
	width: 100%;
	min-width: 300px;
	max-width: 100%;
    margin-bottom: 30px;
}
.a12-thumbnail-02 {
	width: 100%;
}
}
/* =============================================
contents-a13
============================================= */
.a13bg{
    background-image: url(/dcms_media/image/a3.jpg);
    background-repeat: no-repeat;
    background-size:  cover; 
    background-position: 50%; 
    width: 100%;
    left: 50%;
    position: relative;
    transform: translateX(-50%);
    height: 500px;
    background-position: 50%;
}
.a13inner-box{
    background-color: #fff;
    position: relative;
    z-index: 10;
    width: 60%;
    height: 180px;
    top: -180px;
    padding-top: 40px;
    text-align: center;
    margin-right: 0;
    margin-left: auto;
}
.a13title{
    font-size: 35px;
    line-height: 1em;
    margin-bottom: 10px;
}
.a13title-small{
    font-size: 20px;
}
.a13lead{
    margin-bottom: 30px;
}
.a13text{
    margin-bottom: 30px;
}
.btn13{
    width: 40%;
    margin: 0 auto;
    position: relative;
}
.btn13a{
    display: block;
    border-bottom: 1px solid #cccccc;
    font-size: 16px;
    font-weight: 600;
    text-align: left;
}
.btn13a:hover{
    text-decoration: none;
}
.btn13a:before {
    content: '▶';
    display: block;
    position: absolute;
    top: 2px;
    right: 0;
    font-size: 90%;
}
.btn13a:after{
    border-bottom: 1px solid #cccccc;
    content: '';
    display: block;
    width: 0%;
    padding-top: 1%;
}
.btn13a:hover:after{
    border-bottom: 1px solid #000000;
    content: '';
    display: block;
    width: 100%;
    transition: all 1s ease;
}
.a13slideshow {
    overflow: hidden;
    position: relative;
    min-width: 960px;
    height: 550px;
}
.a13slideshow img {
    display: none;
    position: absolute;
    left: 50%;
    margin-left: -800px;
}
/* JavsScript 無効時 */
.no-js .a1slideshow img:first-child {
    display: inline;
}
@media screen and (max-width: 780px) {
.a13bg{
    height: 100vw;
}
.a13inner-box{
    width: 80%;
}
.a13slideshow img {
    left: 50%;
    margin-left: -800px;
}
}
@media screen and (max-width: 500px) {
.a13inner-box{
    width: 90%;
    padding-right: 18px;
    padding-left: 18px;
    padding-top: 40px;
}
.a13slideshow img {
    left: 25%;
}
}
/* =============================================
contents-a14
============================================= */
.a14bg{
    position: relative;
    width: 92%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
}
.a14bg:after{
    background: #eee;
    height: 550px;
    content: '';
    width: 100vw;
    display: block;
    top: -90px;
    left: 20%;
    position: absolute;
}
.a14box{
    display: flex;
    height: 500px;
    margin-top: 100px;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.a14box-text{
    width: 600px;
    height: 370px;
    text-align: left;
    color: #333;
    position: absolute;
    right: 0;
    left: auto;
    top: 60px;
    z-index: 10;
}
.a14-text1{
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -1.1px;
    margin-bottom: 10px;
    background-color: #fff;
    padding: 10px 15px;
    box-shadow: 3px 3px 5px #555;
}
.a14-text2{
    font-size: 16px;
    margin-bottom: 30px;
    background-color: #fff;
    padding: 10px 15px;
    box-shadow: 3px 3px 5px #555;
}
.a14box-img{
    background-image: url(/dcms_media/image/a5-1.jpg);
    background-repeat: no-repeat;
    background-size:  cover; 
    background-position: 50%;  
    width: 600px;
    height: 400px;
    position: absolute;
    z-index: 10;
}
.a14box-img:before{
    width: 600px;
    height: 400px;
    display: block;
    content: '';
    position: absolute;
}
.a14title{
    font-size: 90px;
    font-weight: 900;
    letter-spacing: -5px;
    position: absolute;
    top: -92px;
    left: -23px;
    font-style: italic;
    color: #333;
}
.a14title:after{
    content: '';
    width: 160px;
    border: 0;
    border-top: 2px solid #333;
    display: block;
    transform: rotate(-45deg);
    position: absolute;
    left: 95px;
    top: 111px;
}
.a14box-img{
    background-image: url(/dcms_media/image/a5-2.jpg);
}
a.btn-a14 {
	display: block;
	max-width: 350px;
	padding: 1.5rem 3.0rem;
	background-color: #333333;
	border-radius: 50px;
  box-sizing: border-box;
	text-decoration: none;
	transition: 0.3s;
	margin-right: 0;
    margin-left: auto;
    box-shadow: 3px 3px 5px #555;
}
a.btn-a14 span.bl__text {
	display: block;
	position: relative;
	color: #fff;
	font-size: 16px;
	text-align: center;
	padding-left: 30px;
}
a.btn-a14 span.bl__text:before {
	content: '';
	width: 20px;
	height: 20px;
	background: #ffffff;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}
a.btn-a14 span.bl__text:after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: 3px solid #333333;
	border-right: 3px solid #333333;
  box-sizing: border-box;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 5px;
	bottom: 0;
	margin: auto;
	transition: 0.3s;
}
a.btn-a14:hover {
	background-color: #5f5f5f;
}
a.btn-a14:hover span.bl__text:after {
	border-top: 3px solid #5f5f5f;
	border-right: 3px solid #5f5f5f;
}
@media (max-width: 736px) {
	a.btn-a14 {
		max-width: 280px;
		padding: 1.5rem 2.0rem;
	}
	a.btn-a14 span.bl__text {
		font-size: 14px;
	}
}
@media screen and (max-width: 980px) {
.a14bg{
    top: 100px;
}
.a14box {
    margin: 0 auto 100px;
}
.a14box-text{
    position: absolute;
    width: 60%;
    height: 430px;
}
.a14box-img{
    position: relative;
    width: 50%;
}
.a14box-img:before{
    width: 100%;
}
a.btn-a14 {
  max-width: 70%;
  }
}
@media screen and (max-width: 780px) {
.a14bg{

}
.a14box {
    margin: 0 auto 280px;
}
.a14bg:after{
    height: 730px;
}
.a14box-text{
    width: 90%;
    top: 250px;
}
.a14box-img{
    width: 100%;
}
.a14box-img:before{
    width: 100%;
}
}
/* =============================================
contents-c1（メニュー）
============================================= */
.c1_pricetable1 {
	text-align: center;
	color: #444444;
}
.c1_pricetable1 .block {
	position: relative;
	float: left;
	width: 33%;
	height: 100%;
	transition: all 0.2s ease-in-out;
	-webkit-transform: translate(0px, 0px);
	transform: translate(0px, 0px);
}
.c1_pricetable1 .block ul, li {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.c1_pricetable1 .block{
	margin: 0 0 80px;
}
.c1_pricetable1 .block:hover {
	position: relative;
	z-index: 100;
	transition-delay: 0s;
	-webkit-transform: translate(-2px,-2px);
	transform: translate(-2px,-2px);
	box-shadow: 0px 0 5px rgba(0,0,0,0.5);
}
.c1_pricetable1 .block:hover .header1,
.c1_pricetable1 .block:hover .header2,
.c1_pricetable1 .block:hover .style1,
.c1_pricetable1 .block:hover .style2,
.c1_pricetable1 .block:hover .footer1,
.c1_pricetable1 .block:hover .footer2 {
	padding: 0.5em;
}
.c1_pricetable1 .block .header1 {
	width: 100%;
	padding: 0.5em;
	color: #ffffff;
	border-bottom: 1px solid #ffffff;
	background: #333333;
}
.c1_pricetable1 .block .header2 {
	width: 100%;
	padding: 0.5em;
	border-top: 1px solid #333333;
	background: #9b9b9b;
}
.c1_pricetable1 .block .style1,
.c1_pricetable1 .block .style2,
.c1_pricetable1 .block .footer1,
.c1_pricetable1 .block .footer2 {
	width: 100%;
	padding: 0.5em;
}
.c1_pricetable1 .block .footer1,
.c1_pricetable1 .block .footer2 {
	padding: 0.5em;
}
.c1_pricetable1 .block .style1,
.c1_pricetable1 .block .footer1 {
	background-color: #e0e0e0;
}
.c1_pricetable1 .block .style2,
.c1_pricetable1 .block .footer2 {
	background-color: #c0c0c0;
}
.c1_pricetable1 .block .style1,
.c1_pricetable1 .block .style2 {
	border-bottom: 1px dotted #ffffff;
}
.c1_pricetable1 a.c1_btn {
	position: relative;
	z-index: 1;
	display: block;
	overflow: hidden;
	width: 100px;
	margin-right: auto;
	margin-left: auto;
	padding: 0.3em 1em;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	border: 1px solid #333333;
	border-radius: 4px;
	background: #333333;
	transition: .4s;
}
.c1_pricetable1 .c1_btn:hover {
	color: #333333;
	background: #ffffff;
	border: 1px solid #ffffff;
}
.c1_pricetable1 .c1_btn:hover::after {
	height: 250%;
	opacity: 1;
}
.c1_pricetable1 .c1_btn:active::after {
	height: 350%;
	opacity: 1;
}
/* =============================================
table-c2（メニュー）
============================================= */
.c2_pricetable2 {
	margin: 0 auto;
	padding: 0em;
	border-spacing: 1px 0;
	border-radius: 6px;
	background: #f7f7f7;
}
.c2_pricetable2 td {
	height: 50px;
	padding: 0 20px;
	text-align: center;
	border-bottom: 1px solid #cdcdcd;
}
.c2_pricetable2 tbody td {
	width: 25%;
	text-align: center;
}
.c2_pricetable2 tbody td:first-child {
	font-size: 0.8em;
	width: auto;
	text-align: left;
	white-space: nowrap;
}
.c2_pricetable2 tbody td:first-child::before {
	content: '>';
    margin-right: 5px;
}
.c2_pricetable2 td:nth-child(2),
.c2_pricetable2 td:nth-child(3) {
	border-right: 1px solid #ffffff;
	background: #c0c0c0;
}
.c2_pricetable2 td:nth-child(4) {
	color: #ffffff;
	background: #535353;
}
.c2_pricetable2 thead td {
	font-size: 1.2em;
	font-weight: bold;
	border-top: none;
	border-radius: 6px 6px 0 0;
}
.c2_pricetable2 tfoot td {
	border-bottom: none;
	border-radius: 0 0 6px 6px;
}
.c2_pricetable2 a.c2_btn {
	position: relative;
	z-index: 1;
	display: block;
	overflow: hidden;
	width: 100px;
	margin-right: auto;
	margin-left: auto;
	padding: 0.3em 1em;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	border: 1px solid #333333;
	border-radius: 4px;
	background: #333333;
	transition: .4s;
}
.c2_pricetable2 .c2_btn:after {
	background: #5b5b5b;
}
.c2_pricetable2 .c2_btn:hover {
	color: #333333;
	background: #ffffff;
	border: 1px solid #ffffff;
}
.c2_pricetable2 .c2_btn:hover:after {
	height: 250%;
	opacity: 1;
}
.c2_pricetable2 .c2_btn:active:after {
	height: 350%;
	opacity: 1;
}
/* =============================================
breadcrumb-d1（パンくず）
============================================= */
.d1_breadcrumb *, .d1_breadcrumb *:after, .d1_breadcrumb *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.d1_breadcrumb {
	margin: 1em auto;
	padding: 1em 2em;
	background-color: #333333;
	color: #fff;
	border-radius: 0.5em;
}
.d1_breadcrumb a {
	text-decoration: none;
	color: #535353;
}
.d1_breadcrumb .breadcrumbs {
	padding-left: 0;
	margin-top: 0;
	margin-bottom: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
.d1_breadcrumb li {
	display: inline-block;
	position: relative;
	padding-right: calc(16px + 8px);
	margin-right: 8px;
	color: #7986CB;
}
.d1_breadcrumb li::before {
	content: '›';
	width: 1em;
	height: 1em;
	line-height: 1;
	text-align: center;
	font-size: 1em;
	color: #9f9d9d;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}
.d1_breadcrumb li:last-child {
	margin-right: 0;
	padding-right: 0;
	color: #ffffff;
}
.d1_breadcrumb li:last-child::before {
	content: normal;
}
/* =============================================
breadcrumb-d1（パンくず）
============================================= */
.d2_breadcrumb *, .d2_breadcrumb *:after, .d2_breadcrumb *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	list-style: none;
}
.d2_breadcrumb {
	overflow: hidden;
	margin: 1em auto;
	padding: 0 0 0 1em;
}
.d2_breadcrumb li {
	display: inline-block;
	margin: 0 1em 0.5em 0;
}
.d2_breadcrumb a {
	position: relative;
	padding: 0.7em 1em;
	text-decoration: none;
	color: #ffffff;
	background: #333333;
	display: inline-block;
	height: 40px;
	line-height: 1.2em;
	-webkit-transition:all 0.3s;
	transition: all 0.3s;
}
.d2_breadcrumb a:hover {
	background: #575757;
}
.d2_breadcrumb a::before,
.d2_breadcrumb a::after {
	position: absolute;
	top: 0;
	bottom: 0;
	padding: 1.21em 0.4em;
	content: '';
	transform: skew(-10deg);
	background: #333333;
	-webkit-transition:all 0.3s;
	transition: all 0.3s;
}
.d2_breadcrumb a::before {
	left: -0.5em;
	border-radius: 5px 0 0 5px;
}
.d2_breadcrumb a:hover::before {
	background: #575757;
}
.d2_breadcrumb a::after {
	right: -0.5em;
	border-radius: 0 5px 5px 0;
}
.d2_breadcrumb a:hover::after {
	background: #575757;
}
.d2_breadcrumb li:last-child a {
	font-style: italic;
	padding-left: 0;
	cursor: default;
	pointer-events: none;
	color: #333333;
	background: transparent !important;
}
.d2_breadcrumb li:last-child a:hover {
	background: none;
}
.d2_breadcrumb li:last-child a::before,
.d2_breadcrumb li:last-child a::after {
	content: normal;
}
/* =============================================
breadcrumb-d3（パンくず）
============================================= */
.d3_breadcrumb *, .d3_breadcrumb *:after, .d3_breadcrumb *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.d3_breadcrumb {
	overflow: hidden;
	width: 100%;
	margin: 1em auto;
	padding: 0;
	list-style: none;
}
.d3_breadcrumb li {
	display: inline-block;
	margin: 0 1em 0.5em 0;
}
.d3_breadcrumb a {
	position: relative;
	z-index: 1;
	padding: 0.7em 1em 0.7em 2em;
	text-decoration: none;
	color: #ffffff;
	border-radius: 0.4em 0 0 0.4em;
	background: #333333;
	display: inline-block;
	height: 40px;
	line-height: 1.2em;
	-webkit-transition:all 0.3s;
	transition: all 0.3s;
}
.d3_breadcrumb a:hover {
	background: #575757;
}
.d3_breadcrumb a::after{
	background: #333333;
	content: "";
	height: 2em;
	position: absolute;
	right: -1em;
	top: calc(50% - 1em);
	width: 2em;
	z-index: -1;
	transform: rotate(45deg);
	-webkit-transition:all 0.3s;
	transition: all 0.3s;
}
.d3_breadcrumb a:hover::after {
	background: #575757;
}
.d3_breadcrumb li:last-child a {
	cursor: default;
	pointer-events: none;
	color: black;
	background: transparent !important;
	font-weight: bold;
}
.d3_breadcrumb li:last-child a:hover {
	background: none;
}
.d3_breadcrumb li:last-child a::before,
.d3_breadcrumb li:last-child a::after {
	content: normal;
}
/* =============================================
breadcrumb-d4（パンくず）
============================================= */
.d4_breadcrumb *, .d4_breadcrumb *:after, .d4_breadcrumb *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.d4_breadcrumb {
	overflow: hidden;
	width: 100%;
	margin: 1em auto;
	padding: 0;
	list-style: none;
}
.d4_breadcrumb li {
	display: inline-block;
	padding: 0;
	margin: 0 0 0.5em 0;
}
.d4_breadcrumb a {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0.7em 1em 0.7em 2em;
	text-decoration: none;
	color: #ffffff;
	background-color: #333333;
}
.d4_breadcrumb li:first-child a {
	padding-left: 1em;
	border-radius: 5px 0 0 5px;
}
.d4_breadcrumb a::after,
.d4_breadcrumb a::before {
	position: absolute;
	top: 50%;
	right: -1.5em;
	margin-top: -1.48em;
	content: '';
	border-top: 1.48em solid transparent;
	border-bottom: 1.48em solid transparent;
	border-left: 1.5em solid;
	}
.d4_breadcrumb a::after {
	z-index: 2;
	border-left-color: #333333;
}
.d4_breadcrumb a::before {
	z-index: 1;
	right: -1.8em;
	border-left-color: #ffffff;
}
.d4_breadcrumb li:nth-child(2) a       { background:        #464646; }
.d4_breadcrumb li:nth-child(2) a:after { border-left-color: #464646; }
.d4_breadcrumb li:nth-child(3) a       { background:        #606060; }
.d4_breadcrumb li:nth-child(3) a:after { border-left-color: #606060; }
.d4_breadcrumb li:nth-child(4) a       { background:        #7f7f7f; }
.d4_breadcrumb li:nth-child(4) a:after { border-left-color: #7f7f7f; }
.d4_breadcrumb li:nth-child(5) a       { background:        #F8BBD0; }
.d4_breadcrumb li:nth-child(5) a:after { border-left-color: #F8BBD0; }

.d4_breadcrumb li:last-child a {
	cursor: default;
	pointer-events: none;
	color: black;
	background:        #e0e0e0;
	border-radius: 0 5px 5px 0;
}
.d4_breadcrumb li:last-child a:hover {
	background: none;
}
.d4_breadcrumb li:last-child a::before,
.d4_breadcrumb li:last-child a::after {
	content: normal;
}
/* =============================================
button-e1（ボタン）
============================================= */
a.btn-e1 {
  max-width: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(#7f7f7f, #333333 100%);
  border: 1px solid #333333;
  border-radius: 12px;
  box-shadow: inset 0px 0px 2px 0px rgb(255, 255, 255);
  box-shadow: 0px 4px 4px 0px rgb(175, 175, 175);
  box-sizing: border-box;
  width: 100%;
  height: 50px;
  padding: 0 20px 0 70px;
  color: #fff;
  font-size: 16px;
  text-align: left;
  text-decoration: none;
  position: relative;
  transition-duration: 0.2s;
}
a.btn-e1:hover {
  opacity: .7;
}
a.btn-e1:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 8px;
  border-color: transparent transparent transparent #ffffff;
  position: absolute;
  top: 50%;
  left: 23px;
  margin-top: -7px;
}
a.btn-e1:after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 100%;
  background-color: #333333;
  box-shadow: 0px 0px 2px 0px rgb(255, 255, 255);
  position: absolute;
  top: 0;
  left: 50px;
}
/* =============================================
button-e2（ボタン）
============================================= */
e2 {
  padding: 60px 10px;
}
a.btn-e2 {
	display: block;
	max-width: 350px;
	padding: 1.5rem 3.0rem;
	background-color: #333333;
	border-radius: 8px;
  box-sizing: border-box;
	text-decoration: none;
	transition: 0.3s;
}
a.btn-e2 span.bl__text {
	display: block;
	position: relative;
	color: #fff;
	font-size: 16px;
	text-align: center;
	padding-left: 30px;
}
a.btn-e2 span.bl__text:before {
	content: '';
	width: 20px;
	height: 20px;
	background: #ffffff;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}
a.btn-e2 span.bl__text:after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: 3px solid #333333;
	border-right: 3px solid #333333;
  box-sizing: border-box;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 5px;
	bottom: 0;
	margin: auto;
	transition: 0.3s;
}
a.btn-e2:hover {
	background-color: #5f5f5f;
}
a.btn-e2:hover span.bl__text:after {
	border-top: 3px solid #5f5f5f;
	border-right: 3px solid #5f5f5f;
}
@media (max-width: 736px) {
	a.btn-e2 {
		max-width: 280px;
		padding: 1.5rem 2.0rem;
	}
	a.btn-e2 span.bl__text {
		font-size: 14px;
	}
}
/* =============================================
button-e3（ボタン）
============================================= */
a.btn-e3 {
  max-width: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #333333;
  box-sizing: border-box;
  width: 100%;
  height: 50px;
  padding: 0 6% 0 6%;
  color: #333333;
  font-size: 16px;
  text-align: left;
  text-decoration: none;
  position: relative;
  transition-duration: 0.2s;
}
a.btn-e3:hover {
  background: #333333;
  color: #fff;
}
a.btn-e3:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 8px;
  border-color: transparent transparent transparent #333333;
  position: absolute;
  top: 50%;
  left: 6%;
  margin-top: -7px;
}
a.btn-e3:hover:before {
  border-color: transparent transparent transparent #fff;
}
/* =============================================
button-e4（ボタン）
============================================= */
a.btn-e4 {
  max-width: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  position: relative;
  background: #333333;
  border: 1px solid #333333;
  border-radius: 30px;
  box-sizing: border-box;
  padding: 0 45px 0 25px;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}
a.btn-e4:before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -6px;
}
a.btn-e4:hover {
  background: #fff;
  color: #333333;
}
a.btn-e4:hover:before {
  border-top: 2px solid #333333;
  border-right: 2px solid #333333;
}
/* =============================================
button-e5（ボタン）
============================================= */
.btn-e5 {
  max-width: 300px;
  width: 100%;
  display: inline-block;
  padding: 0.5em 1em;
  text-decoration: none;
  border-radius: 3px;
  font-weight: bold;
  color: #FFF;
  background-image: linear-gradient(45deg, #333333 0%, #7f7f7f 100%);
  transition: .4s;
  text-align: center;
}
.btn-e5:hover {
  background-image: linear-gradient(45deg, #333333 50%, #7f7f7f 100%);
  color: #ffffff;
  text-decoration: none;
}
/* =============================================
button-e6（ボタン）
============================================= */
.btn-e6 {
  max-width: 300px;
  display: inline-block;
  text-decoration: none;
  background: #5f5f5f;
  color: #FFF;
  width: 120px;
  height: 120px;
  line-height: 120px;
  border-radius: 50%;
  text-align: center;
  overflow: hidden;
  transition: .4s;
}
.btn-e6:hover {
  background: #333333;
  color: #ffffff;
  text-decoration: none;
}
/* =============================================
button-e7（ボタン）
============================================= */
.btn-e7 {
  max-width: 300px;
  display: inline-block;
  text-decoration: none;
  background: #5f5f5f;
  color: #FFF;
  width: 120px;
  height: 120px;
  line-height: 120px;
  border-radius: 50%;
  text-align: center;
  font-weight: bold;
  overflow: hidden;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
  border-bottom: solid 3px #333333;
  transition: .4s;
}
.btn-e7:active {
  -webkit-transform: translateY(2px);
  transform: translateY(2px);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.15);
  border-bottom: none;
}
.btn-e7:hover {
  color: #ffffff;
  text-decoration: none;
}
/* =============================================
midashi-f1（見出し）
============================================= */
.f1, .f1-3, .f1-4 {
  padding: 1rem 2rem;
  border-left: 6px double #000;
  margin-bottom: 20px;
}
/* =============================================
midashi-f2（見出し）
============================================= */
.f2, .f2-3, .f2-4 {
  padding: 1rem 2rem;
  border-left: 5px solid #000;
  background: #f4f4f4;
  margin-bottom: 20px;
}
/* =============================================
midashi-f3（見出し）
============================================= */
.f3, .f3-3, .f3-4{
  position: relative;
  padding: 1rem 2rem;
  border-bottom: 6px solid #333333;
  margin-bottom: 20px;
}

.f3:before, .f3-3:before, .f3-4:before {
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 20%;
  height: 6px;
  content: '';
  background: #797979;
}
/* =============================================
midashi-f4（見出し）
============================================= */
.f4, .f4-3, .f4-4 {
  position: relative;
  padding: 1.1rem;
  text-align: center;
  margin-bottom: 20px;
}

.f4:before, .f4-3:before, .f4-4:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #000;
}
/* =============================================
midashi-f5（見出し）
============================================= */
.f5, .f5-3, .f5-4 {
  position: relative;
  padding: 1.5rem;
  text-align: center;
  margin-bottom: 20px;
}

.f5 .en, .f5-3 .en, .f5-4 .en{
  font-size: 1.8rem;
  display: block;
}

.f5:before, .f5-3:before, .f5-4:before{
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #333333;
}
/* =============================================
midashi-f6（見出し）
============================================= */
.f6, .f6-3, .f6-4 {
  position: relative;
  padding: 1rem .5rem;
  margin-bottom: 20px;
}
.f6:before, .f6:after, .f6-3:before, .f6-3:after, .f6-4:before, .f6-4:after{
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  content: '';
  background-image: -webkit-gradient(linear, right top, left top, from(#e8e8e8), to(#333333));
  background-image: -webkit-linear-gradient(right, #e8e8e8 0%, #333333 100%);
  background-image: linear-gradient(to left, #e8e8e8 0%, #333333 100%);
}
.f6:before, .f6-3:before, .f6-4:before {
  top: 0;
}
.f6:after, .f6-3:after, .f6-4:after {
  bottom: 0;
}
/* =============================================
コード
============================================= */
.code-content .code_wrap {
    display: -ms-grid;
    display: grid;
}
.code_wrap {
    position: relative;
    z-index: 0;
    display: block;
    padding: 0;
}
.code-content .code_wrap pre.prism {
    border-radius: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: 5px;
}
.code_wrap pre.line-numbers {
    position: static;
    padding-left: 3.75em;
    counter-reset: linenumber;
}
.code_wrap pre[class*=language-] {
    padding-top: 1.2em;
    padding-bottom: 1.2em;
}
.code_wrap pre.prism {
    font-size: 16px;
}
.code_wrap code, .code_wrap pre {
    white-space: pre;
    text-align: left;
    word-wrap: normal;
    word-break: normal;
    word-spacing: normal;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    border: none;
}
.code_wrap pre, .code_wrap pre code {
    color: #f8f8f2;
    text-shadow: 0 1px #1a1a1a;
    background: #34352e;
}
.code_wrap pre.line-numbers>code {
    position: relative;
    white-space: inherit;
}
.code_wrap pre, .code_wrap pre code {
    color: #f8f8f2;
    text-shadow: 0 1px #1a1a1a;
    background: #34352e;
}
.code_wrap code, .code_wrap span {
    box-sizing: border-box;
    font-size: inherit;
    font-family: inherit;
    line-height: 1.5;
}
.code_wrap code, .code_wrap pre {
    white-space: pre;
    text-align: left;
    word-wrap: normal;
    word-break: normal;
    word-spacing: normal;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    border: none;
}
.code-title{
    font-weight: bold;
    font-size: 20px;
}