/**/
#glossary_main {
  position: relative;
  background: url("../images/glossary/bg.png") center top no-repeat;
  background-size: 200rem auto;
  	/*
  	@media screen and (max-width: 768px) {
  	background:url("../images/glossary/bg_sp.png") center top no-repeat;
  	background-size:100% auto;
  	}
  */ }

#glossary {
  position: relative;
  padding: 8rem 0 8rem; }
  @media screen and (max-width: 768px) {
    #glossary {
      padding: 8vw 0 21.3333333333vw; } }

#glossary .set {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10rem; }
  @media screen and (max-width: 768px) {
    #glossary .set {
      gap: 13.3333333333vw; } }

#glossary .box {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100rem;
  gap: 4rem; }
  @media screen and (max-width: 768px) {
    #glossary .box {
      width: 82.6666666667vw;
      gap: 5.3333333333vw; } }
  #glossary .box h2 {
    position: relative;
    width: 100rem;
    height: 5.4rem;
    font-size: 2.4rem;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: url("../images/glossary/h2_bg.png") center center no-repeat;
    background-size: contain; }
    @media screen and (max-width: 768px) {
      #glossary .box h2 {
        width: 82.6666666667vw;
        height: 15.4666666667vw;
        font-size: 5.0666666667vw;
        background: url("../images/glossary/h2_bg_sp.png") center center no-repeat;
        background-size: contain; } }

#glossary .box > div {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 100rem;
  gap: 0; }
  @media screen and (max-width: 768px) {
    #glossary .box > div {
      width: 82.6666666667vw;
      flex-direction: column;
      justify-content: flex-start;
      gap: 9.3333333333vw; } }
  #glossary .box > div figure {
    position: relative;
    width: 30.8rem;
    margin-left: 4rem; }
    @media screen and (max-width: 768px) {
      #glossary .box > div figure {
        width: 100%;
        margin: 0 !important; } }

#glossary .box > div figure p {
  position: relative;
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 500;
  margin-top: .5rem; }
  @media screen and (max-width: 768px) {
    #glossary .box > div figure p {
      font-size: 3.2vw;
      line-height: 1.6;
      margin-top: 0.6666666667vw; } }

#glossary .box > div figure a {
  position: relative;
  /*text-decoration: underline;*/
  pointer-events: none;
  color: #512D5D !important; }

#glossary .box > div .inner_link {
  position: relative;
  width: 58rem;
  gap: 2rem 0 !important; }
  @media screen and (max-width: 768px) {
    #glossary .box > div .inner_link {
      width: 100%;
      margin: 0 !important; } }

#glossary .box > div .inner_link a {
  position: relative;
  color: #512D5D;
  display: inline-block;
  width: 20rem;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 2rem;
  background: url("../images/glossary/link.png") left center no-repeat;
  background-size: 1.2rem auto;
  padding-left: 2rem;
  box-sizing: inherit;
  text-decoration: underline; }
  @media screen and (max-width: 768px) {
    #glossary .box > div .inner_link a {
      font-size: 5.0666666667vw;
      width: 40vw;
      margin-bottom: 2.6666666667vw;
      background-size: 2.4vw auto;
      padding-left: 4vw; } }

#glossary .box > div .inner_link a:nth-of-type(3n) {
  width: 16rem; }
  @media screen and (max-width: 768px) {
    #glossary .box > div .inner_link a:nth-of-type(3n) {
      width: 40vw; } }

/*
#glossary .set a .arrow_txt{
		position: absolute;
		display: block;
		bottom: 0;
		left: 0;
		width: 100%;
		text-align: center;
		@media screen and (max-width: 768px) {
		position: relative !important;
		}
}
#glossary .set a .arrow_txt p{
		display:inline;
		margin:auto;
		padding-right:1.5rem;
		font-size:1.5rem;
		font-weight:500;
		text-decoration: underline;
		background-image: url("../../../images/arrow_next.webp");
		background-repeat: no-repeat;
		background-size: 0.6666rem;
		background-position: top 0.7rem right;
		transition:all 0.4s ease;
		color:#512D5D;
		@media screen and (max-width: 768px) {
			font-size:vw(30);
			background-size: vw(12.499);
			background-position: top 1.4rem right;
			padding-right:1em;
		}
}
*/
/**/
/*
#modal{
	position: fixed;
	z-index:9900;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	min-height: 100vh;
	min-height: calc(var(--vh, 1vh) * 100);
	overflow: hidden;
	background:rgba(77,77,77,0.9);
	transition: all 300ms cubic-bezier(0.740, 0.255, 0.190, 0.955);
	transition-timing-function: cubic-bezier(0.740, 0.255, 0.190, 0.955);
	opacity: 0;
	pointer-events: none;
}
#modal_bg{
	position:absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
}
#modal.open{
	opacity: 1;
	pointer-events: auto !important;
}
#modal .modal_overflow{
	position: relative;
	width:100%;
	height: 100%;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	pointer-events: none;
}
#modal .modal_flex{
	position: relative;
	display: flex;
	justify-content:center;
	align-items: center;
	width:100%;
	min-height: 100%;
	padding: 8rem 0;
	@media screen and (max-width: 768px) {
	padding: vw(65) 0;
	}
}
#modal .modal_inner{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-end;
	margin: 0 auto;
	width: 94rem;
	gap:1rem;
	@media screen and (max-width: 768px) {
	width: vw(620);
	gap:vw(30);
	}
}
#modal .modal_inner button{
	position: relative;
	cursor:pointer;
	transition: .3s;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	border: none;
	background: none;
	padding: 0;
	margin: 0;
	width: 4rem;
	height: 4rem;
	pointer-events: none;
	@media screen and (max-width: 768px) {
	width: vw(60);
	height: vw(60);
	}
}
#modal .modal_set{
	position: relative;
	background: #fff;
	display: flex;
	flex-direction: row;
	gap: 4rem;
	padding: 6rem;
	pointer-events: none;
	@media screen and (max-width: 768px) {
	flex-direction: column;
	padding:0;
	}
	figure{
	position: relative;
		width: 48rem;
		@media screen and (max-width: 768px) {
		width: 100%;
		}
	}
	> div{
	position: relative;
	width: 30rem;
	@media screen and (max-width: 768px) {
	width: 100%;
	padding: vw(15) vw(40) vw(60);
	}
	}
	h2{
		position:relative;
		text-align: center;
		font-weight:700;
		font-size:1.8rem;
		line-height: 1.45;
		padding: 0 0 3rem 0;
		@media screen and (max-width: 768px) {
		font-size:vw(30);
		padding: 0 0 vw(40);
		}
	}
	.modal_txt{
		position:relative;
		text-align: justify;
		font-weight:500;
		font-size:1.6rem;
		line-height: 1.75;
		@media screen and (max-width: 768px) {
		font-size:vw(26);
		}
	}
}
#modal .modal_set{
	display: none;
}
#modal .modal_set.current{
	display: flex !important;
}
#modal.open .modal_set,
#modal.open .modal_inner button{
	pointer-events: auto !important;
}
*/
/**/
#local_nav {
  position: relative;
  width: 100rem;
  margin: auto;
  padding: 5rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem; }
  @media screen and (max-width: 768px) {
    #local_nav {
      width: 82.6666666667vw;
      padding: 9.3333333333vw 0;
      gap: 1.3333333333vw; } }

#local_nav div {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: .5rem; }
  @media screen and (max-width: 768px) {
    #local_nav div {
      width: 82.6666666667vw;
      padding: 0 0;
      flex-wrap: wrap;
      justify-content: flex-start;
      gap: 1.3333333333vw; } }
  #local_nav div a {
    position: relative;
    width: 15rem;
    height: 4.0rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    transition: all 0.4s ease;
    color: #512D5D;
    text-decoration: underline; }
    @media screen and (max-width: 768px) {
      #local_nav div a {
        width: 26.6666666667vw;
        height: 8.6666666667vw;
        font-size: 3.2vw; } }
  #local_nav div a::after {
    position: absolute;
    top: 50%;
    right: 0.5rem;
    display: inline-block;
    content: '';
    width: 1.2rem;
    height: 1.2rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.67 16.8'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;stroke:%23512d5d;stroke-miterlimit:10;stroke-width:1.24px;%7D%3C/style%3E%3C/defs%3E%3Cpolyline class='cls-1' points='9.23 .46 .9 8.03 9.23 16.37'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    transform: rotate(-90deg) translateX(0.6rem); }
    @media screen and (max-width: 768px) {
      #local_nav div a::after {
        right: 1rem;
        width: 2rem;
        height: 2rem; } }

/**/
#glossary_cont {
  position: relative;
  background: url("../images/glossary/bg_cont.png") center top no-repeat;
  background-size: 200rem auto;
  	/*
  	@media screen and (max-width: 768px) {
  	background:url("../images/glossary/bg_sp.png") center top no-repeat;
  	background-size:100% auto;
  	}
  */ }

#glossary {
  position: relative;
  padding: 8rem 0 8rem; }
  @media screen and (max-width: 768px) {
    #glossary {
      padding: 8vw 0 21.3333333333vw; } }

.glossary_box {
  width: 100rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 6rem 8rem;
  background: url("../images/glossary/bg_box.png") repeat-y;
  background-size: 100%; }

@media screen and (max-width: 768px) {
  .glossary_box {
    width: 62rem;
    padding: 3rem 3rem 7rem;
    flex-direction: column; } }
.glossary_box.figure_none {
  justify-content: center !important; }

.glossary_box .btnArea {
  width: 100%;
  padding-top: 4.4rem; }

.glossary_box .btnArea p.btn_back {
  display: flex;
  justify-content: center; }

.glossary_box .btnArea p.btn_back a {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  color: #512d5d;
  padding-left: 2.2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.67 16.8'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;stroke:%23512d5d;stroke-miterlimit:10;stroke-width:1.24px;%7D%3C/style%3E%3C/defs%3E%3Cpolyline class='cls-1' points='9.23 .46 .9 8.03 9.23 16.37'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0.8332rem;
  text-decoration: underline; }

@media screen and (max-width: 768px) {
  .glossary_box .btnArea p.btn_back a {
    font-size: 2.7em;
    padding-left: 3.4rem;
    background-size: 1.2499rem;
    background-position: left top 0.4rem; } }
.glossary_box figure {
  width: 40rem;
  display: flex;
  flex-direction: column;
  row-gap: 1.8rem; }

@media screen and (max-width: 768px) {
  .glossary_box figure {
    width: 100%;
    margin-bottom: 4.4rem;
    row-gap: 2.2rem; } }
.glossary_box .txts {
  width: 40rem;
  color: #512d5d; }

@media screen and (max-width: 768px) {
  .glossary_box .txts {
    width: 100%; } }
.glossary_box .txts h2 {
  	/*
    background: url("../images/glossary/bg_txts_h2.png") no-repeat;
    background-size: 100%;
    background-position: bottom center;
  	*/
  font-size: 2.4rem;
  line-height: 3.2rem;
  font-weight: 700;
  /*padding-bottom: 2.5rem;*/
  margin-bottom: 3rem; }

@media screen and (max-width: 768px) {
  .glossary_box .txts h2 {
    font-size: 3.4rem;
    line-height: 5.2rem; } }
.glossary_box .txts p.lead {
  font-size: 1.6rem;
  line-height: 2.5rem;
  font-weight: 500;
  margin-bottom: 3rem; }

@media screen and (max-width: 768px) {
  .glossary_box .txts p.lead {
    font-size: 2.6rem;
    line-height: 4.6rem;
    text-align: justify; } }
.glossary_box .txts h3 {
  font-size: 1.2rem;
  color: #fff;
  width: 9.6834rem;
  height: 2.8234rem;
  background: url(../images/glossary/bg_h3_syutten.png) no-repeat;
  background-size: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.2rem; }

@media screen and (max-width: 768px) {
  .glossary_box .txts h3 {
    font-size: 2.4rem;
    width: 19.3668rem;
    height: 5.6468rem;
    margin-bottom: 2rem; } }
.glossary_box .txts ul.syutten li {
  margin-bottom: 0.9rem; }

@media screen and (max-width: 768px) {
  .glossary_box .txts ul.syutten li {
    margin-bottom: 2rem; } }
.glossary_box .txts ul.syutten li a {
  font-size: 1.2rem;
  color: #512d5d; }

@media screen and (max-width: 768px) {
  .glossary_box .txts ul.syutten li a {
    font-size: 2.4rem; } }
.glossary_box .syutten,
.glossary_box h4 {
  position: relative;
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 500;
  margin-top: .5rem; }
  @media screen and (max-width: 768px) {
    .glossary_box .syutten,
    .glossary_box h4 {
      font-size: 3.2vw;
      line-height: 1.6;
      margin-top: 0.6666666667vw; } }

.glossary_box h4 {
  margin-top: 4rem; }
  @media screen and (max-width: 768px) {
    .glossary_box h4 {
      margin-top: 8vw; } }

.glossary_box .syutten a {
  position: relative;
  /*text-decoration: underline;*/
  pointer-events: none;
  color: #512D5D !important; }

#kanren {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0 1.5rem; }
  @media screen and (max-width: 768px) {
    #kanren {
      gap: 0 2.6666666667vw; } }

#kanren a {
  position: relative;
  font-size: 1.6rem;
  line-height: 2.5rem;
  font-weight: 500;
  color: #512D5D !important;
  padding-right: 1.2rem;
  text-decoration: underline; }
  @media screen and (max-width: 768px) {
    #kanren a {
      font-size: 3.4666666667vw;
      line-height: 6.1333333333vw;
      text-align: justify;
      padding-right: 2.4rem; } }

#kanren a::after {
  position: absolute;
  top: 0.8rem;
  right: 0;
  display: inline-block;
  content: '';
  width: 1.0rem;
  height: 1.0rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.67 16.8'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;stroke:%23512d5d;stroke-miterlimit:10;stroke-width:1.24px;%7D%3C/style%3E%3C/defs%3E%3Cpolyline class='cls-1' points='9.23 .46 .9 8.03 9.23 16.37'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  transform: rotate(180deg); }
  @media screen and (max-width: 768px) {
    #kanren a::after {
      top: 1.4rem;
      width: 2rem;
      height: 2rem; } }
