@charset "UTF-8";

/*=====================================
内部パーツ .entry内
=====================================*/
.entry {
	width: min(86%,960px);
}
@media (max-width: 834px) {
	.entry  {
		margin: 6% auto 8%;
	}
	.entry .flbox > div {
		padding-bottom: 5%
	}
}
@media (min-width: 835px) {
	.entry  {
		margin: 2% auto 8%;
	}
	.entry .flbox {
		display: flex;
		margin-bottom: min(5.78%, 50px);
	}
	.entry .flbox.spc-a {
		justify-content: space-around
	}
	.entry .row02, .row03, .row04, .row05 {
		flex-direction: row;
		align-items: stretch;
		flex-wrap: wrap
	}
	.entry .flbox.row02 > div,
	.entry .flbox.row02 > li {
		flex-basis: 48%;
	}
	.entry .flbox.row02 > div:nth-child(even),
	.entry .flbox.row02 > li:nth-child(even) {
		margin-left: 4%
	}
	.entry .flbox.row03 > div,
	.entry .flbox.row03 > li {
		flex-basis: 30.667%;
	}
	.entry .flbox.row03 > div:not(:nth-child(3n + 1)),
	.entry .flbox.row03 > li:not(:nth-child(3n + 1)) {
		margin-left: 4%
	}
	.entry .flbox.row04 > div,
	.entry .flbox.row04 > li {
		flex-basis: 23.4%;
	}
	.entry .flbox.row04 > div:not(:nth-child(4n + 1)),
	.entry .flbox.row04 > li:not(:nth-child(4n + 1)) {
		margin-left: 2%
	}
	.entry .flbox.row05 > div,
	.entry .flbox.row05 > li {
		flex-basis: 19%;
	}
	.entry .flbox.row05 > div:not(:nth-child(5n + 1)),
	.entry .flbox.row05 > li:not(:nth-child(5n + 1)) {
		margin-left: 1.25%
	}
}
.entry.full {
    max-width: 100%
}
.entry p {
	margin-bottom: clamp(5px, 1.35%, 13px)
}
.entry img {
    margin-top: clamp(5px, 2.08%, 20px);
    margin-bottom: clamp(5px, 2.08%, 20px);
	max-width: 100%;
}
@media (max-width: 834px) {
	.entry img + h2,
	.entry img + h3,
	.entry img + h4 {
		margin-top: .8rem;
	}
}
@media (min-width: 835px) {
	.entry img + h2,
	.entry img + h3,
	.entry img + h4 {
		margin-top: clamp(5px, 1.3%, 13px);
	}
}
.entry h1 {
    margin-bottom: min(4%, 39px);
    font-size: var(--t2xl);
    font-weight: 700;
    line-height: 1.5
}
.entry h1 + * {
	margin-top: min(4%, 39px)!important;
}
.entry h1 + p {
    margin-top: -30px
}
.entry h2 {
	display: flex;
	align-items: center;
	gap: 1.25rem;
    margin-bottom: min(3.2%, 31px);
	padding-bottom: .8rem;
	border-bottom: 1px solid var(--lgry);
	line-height: 1.5;
    font-weight: 700
}
.entry h2:not(.subTtl) {
	color: var(--clr1);
    font-size: var(--txl)
}
@media (max-width: 834px) {
	.entry * + h2 {
		margin-top: 10%;
	}
}
@media (min-width: 835px) {
	.entry * + h2 {
		margin-top: min(7.9%, 76px);
	}
}

.entry h2::before {
    content: "";
	flex-shrink: 0;
    display: block;
    width: 1.5rem;
    height: .375rem;
	background-color: var(--clr1)
}
.entry h3 {
    margin-bottom: clamp(15px, 2.6%, 25px);
    font-size: var(--tl);
    font-weight: 700;
    line-height: 1.5
}
.entry * + h3 {
    margin-top: clamp(20px, 4%, 39px);
}
.entry .flbox.row02 h3::before,
.entry .flbox.row03 h3::before,
.entry .flbox.row04 h3::before {
    display: none
}
.entry h4 {
    margin-bottom: clamp(8px, 1.67%, 16px);
	color: var(--clr1);
    font-size: var(--tm);
    font-weight: 700;
	line-height: 1.5;
}
.entry h4.point {
	display: flex;
}
.entry h4.point::before {
    content: "";
	flex-shrink: 0;
    display: inline-block;
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    margin-top: .1rem;
    margin-right: .5rem;
	background: url("../imgs/ic-point.svg") no-repeat center/ 100%;
}
.entry * + h4 {
    margin-top: clamp(20px, 3.2%, 31px);
}
.entry h3 + h4 {
    margin-top: clamp(13px, 2.08%, 20px);
}
.entry em {
    padding-left: 3px;
    padding-right: 3px;
    background: -webkit-linear-gradient(var(--trp) 0%, var(--trp) 40%, #fffdc0 40%, #fffdc0 100%);
    background: linear-gradient(var(--trp) 0%, var(--trp) 40%, #fffdc0 40%, #fffdc0 100%);
    font-style: normal;
    font-weight: 700
}
.badge {
    display: inline-block;
    margin: 1% 1px;
	background-color: var(--pgry);
	border-radius: .2em;
    border: 1px solid var(--lgry);
    color: var(--gry);
    font-size: var(--ts);
    font-style: normal;
    line-height: 1.8;
    text-align: center;
    text-decoration: none
}
.badge.clr1 {
	background-color: var(--clr2);
    border: 1px solid var(--clr4);
    color: var(--clr4);
}
.badge:hover {
    color: var(--gry);
}
.badge.red:hover {
    color: var(--clr4);
}
.entry h1 > .badge {
    display: block;
    margin: 0 0 15px;
    width:-moz-fit-content;
    width: fit-content
}
@media all and (-ms-high-contrast:none){
  .entry h1 > .badge {
      max-width: 200px;
  }
}
.fig-r,
.fig-l {
    overflow: hidden;
    flex-shrink: 0
}
.clear {
    clear: both
}
[class^="fig-"] figcaption {
    color: var(--gry);
    font-size: var(--ts)
}
@media (max-width: 834px) {
	.entry img {
		display: block;
		margin-left: auto;
		margin-right: auto
	}
	[class^="fig-"] figcaption {
		text-align: center
	}
	.badge {
		padding: 1px .3rem 0;
	}
}
@media (min-width: 835px) {
	.fig-r {
		float: right;
		margin: 0 0 min(5.78%,50px) min(4.62%, 40px);
	}
	.fig-l {
		float: left;
		margin: 0 min(4.62%, 40px) min(5.78%, 50px) 0;
	}
	[class^="fig-"] {
		width: 34.68%
	}
	[class^="fig-"] img {
		width: 100%
	}
	.box40 {
		width: 42%;
		flex-shrink: 0
	}
	.fig-r figcaption {
		text-align: var(--r)
	}
	.badge {
		padding: 1px .5rem 0;
	}
}
.entry blockquote {
    margin-bottom: min(3.58%, 49px);
    padding: clamp(30px, 3.58%, 49px) min(6%, 39px);
    background: var(--pgry)
}
.entry blockquote *:first-child {
    margin-top: 0!important
}
.entry blockquote.clr1 {
    background: var(--clr2);
    border: 1px solid var(--clr4)
}
.entry blockquote *:not(a):last-child {
    margin-bottom: 0!important;
    padding-bottom: 0!important
}
.entry .flbox blockquote {
    margin-bottom: min(11%, 30px);
    height: calc(100% - min(115%, 30px))
}
.entry ul li,
.entry ol li {
	list-style: none
}
.entry ul:not(.pager):not(.flbox):not(.page-anchor),
.entry ol {
    margin-bottom: min(2.08%, 20px);
}
.entry ol {
	counter-reset: stepnumber;
}
.entry ul:not(.pager):not(.flbox) > li,
.entry ol > li {
    position: relative
}
.entry ul:not(.pager):not(.flbox) > li,
.entry ol:not(.form-step) > li {
    padding-bottom: min(1.5%, 8px)
}
.entry ul.check > li {
	font-size: var(--tm)
}
.entry ul:not(.pager):not(.flbox):not(.page-anchor) > li {
    padding-left: 2.4rem
}
.entry ol:not(.form-step) > li {
    padding-left: 2.75rem
}
.entry ul:not(.pager):not(.flbox):not(.page-anchor) > li::before,
.entry ol > li::before {
    display: inline-block;
    flex-shrink: 0;
    border-radius: 50%
}
.entry ul:not(.pager):not(.flbox):not(.page-anchor) > li::before,
.entry ol:not(.form-step) > li::before {
    position: absolute;
}
.entry ul:not(.pager):not(.flbox):not(.check) > li::before {
    content: "";
    top: .5rem;
    left: 1.2rem;
    width: .625rem;
    height: .625rem;
    background-color: var(--clr1)
}
.entry ul.check > li::before {
    content: "";
    top: .4rem;
    left: 1.2rem;
    width: .5rem;
    height: .875rem;
    background-color: var(--trp);
	border-bottom: 3px solid var(--red);
	border-right: 3px solid var(--red);
    border-radius: 0!important;
	transform: rotate(45deg)
}
.entry ol > li::before {
    counter-increment: stepnumber;
    content: counter(stepnumber);
    width: min(1.625rem, 26px);
    height: min(1.625rem, 26px);
    background-color: var(--wht);
    font-size: clamp(14px, 1.07vw, 16px);
    font-weight: 700;
	line-height: min(1.625rem, 26px);
    text-align: center
}
.entry ol:not(.form-step) > li::before {
    top: 0;
    left: .6rem;
    border: 1px solid var(--lgry);
    color: var(--gry);
}
.entry ul:not(.pager):not(.flbox) > li > ul,
.entry ol > li > ul,
.entry ul:not(.pager):not(.flbox) > li > ol,
.entry ol > li > ol {
    margin-bottom: 0;
    padding-top: 1rem;
}
.entry ul:not(.pager):not(.flbox) > li > ul > li,
.entry ol > li > ul > li,
.entry ul:not(.pager):not(.flbox) > li > ol > li,
.entry ol > li > ol > li {
	padding-left: 1.18rem!important
}
.entry ul:not(.pager):not(.flbox):not(.check) > li > ul li::before,
.entry ul:not(.pager):not(.flbox):not(.check) > li > ol li::before,
.entry ol > li > ul li::before,
.entry ol > li > ol li::before {
    left: 0!important;
}
.entry ul:not(.pager):not(.flbox) > li > ul > li::before,
.entry ol > li > ul > li::before {
    top: .8vw;
    left: .3vw;
    width: 6px;
    height: 6px;
    background-color: var(--gry)
}
.entry ul:not(.pager):not(.flbox) > li > ol > li::before,
.entry ol > li > ol > li::before {
    content: counter(stepnumber) ".";
    top: .3vw!important;
    width: auto;
    height: auto;
    background-color: var(--trp);
    border: 0!important
}
.entry hr {
    overflow: hidden;
    margin: min(8.67%,75px) 0;
    height: 1px;
    background: var(--lgry);
    border: 0
}
.entry table {
	margin-left: auto;
	margin-right: auto;
    margin-bottom: min(7.8%, 75px);
    width: min(96%, 900px);
    border-collapse: collapse;
}
.topline {
    border-top: 1px solid var(--lgry);
}
.entry table th,
.entry table td {
    word-wrap: break-word;
    word-break: break-all
}
.entry table thead th,
.entry table thead td {
    padding-bottom: min(2%, 20px);
    border-bottom: 1px solid var(--lgry);
	color: var(--clr1);
    font-size: var(--tm);
    font-weight: 700;
    text-align: left
}
.entry table thead .clrLine {
    border-bottom: 2px solid var(--clr1);
}
.entry table tbody th,
.entry table tbody td {
    padding: min(2.889%, 25px);
    border-bottom: 1px solid var(--lgry);
    font-size: var(--nm);
    text-align: left
}
.entry table thead ~ tbody tr:first-of-type th,
.entry table thead ~ tbody tr:first-of-type td {
    border-top: 0
}
.entry table tbody th {
    font-weight: 700
}
.entry table .col1 {
    background: var(--clr2)
}
.entry table .col2 {
    background: var(--clr3)
}
.entry table th.col1,
.entry table th.col2 {
    border-right: 1px solid var(--lgry);
}
.entry table .clr {
    color: var(--clr1)
}
.entry table .blk {
    color: var(--blk)
}
.entry table.basic thead th {
    font-size: var(--nm); 
}
.entry table.basic,
.entry table.basic th,
.entry table.basic td {
    padding: min(1.73%, 15px) min(2.889%, 25px);
    border: 1px solid var(--lgry);
}
.date__list {
    margin-bottom: min(8.67%, 75px)
}
.date__list .dateBox {
    display: flex;
    align-items: stretch;
    padding: min(2.889%, 25px);
    border-top: 1px solid var(--lgry);
    color: var(--blk);
    text-decoration: none
}
.date__list .dateBox:last-of-type {
    border-bottom: 1px solid var(--lgry);
}
.date__list .dateBox .date {
    flex-basis: 18%;
    padding-right: min(3.4%, 30px);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: var(--red);
    font-weight: 700
}
.date__list .dateBox .badge {
    display: block;
    margin-left: 0;
    width:-moz-fit-content;
    width: fit-content;
    white-space: nowrap
}
@media all and (-ms-high-contrast:none){
  .date__list .dateBox .badge {
      max-width: 200px;
  }
}
.date__list .dateBox:hover {
    color: var(--red)
}
.entry ul.pager {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap
}
.entry ul.pager > li {
    padding: min(.69%, 6px)
}
.entry ul.pager li a:not(.link_before):not(.link_next),
.entry ul.pager li span {
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    color: var(--gry);
    font-weight: 700;
    line-height: 2.5rem;
    text-align: center;
    text-decoration: none;
    transition: .3s
}
.entry ul.pager li a:not(.link_before):not(.link_next) {
    background: var(--wht);
    border: 1px solid var(--lgry)
}
.entry ul.pager li a:not(.link_before):not(.link_next):hover {
    border: 1px solid var(--clr4);
    color: var(--clr4)
}
.entry ul.pager li .current_page {
    background: var(--pgry);
    border: 1px solid var(--pgry)
}
.entry ul.pager li:not(.link_before):not(.link_next)::before {
    display: none
}
.entry ul.pager li a.link_before,
.entry ul.pager li a.link_next {
    display: block;
    font-size: 0
}
.entry ul.pager li a.link_before::before,
.entry ul.pager li a.link_next::before {
    content: '';
    display: block;
    width: 1rem;
    height: 1rem;
    border-top: 3px solid var(--clr4);
    border-right: 3px solid var(--clr4);
    transition: .3s
}
.entry ul.pager li a.link_before::before {
    margin-right: 15px;
    transform: rotate(-135deg)
}
.entry ul.pager li a.link_next::before {
    margin-left: 15px;
    transform: rotate(45deg)
}
.entry ul.pager li a.link_before:hover::before,
.entry ul.pager li a.link_next:hover::before {
    border-top: 3px solid var(--clr5);
    border-right: 3px solid var(--clr5);
}
.listBox {
    position: relative;
    margin: min(2vw, 30px) 0;
    padding-top: 65px;
    padding-bottom: 20px;
    color: var(--blk);
    font-size: var(--tl);
    font-weight: 700;
    text-align: center;
    text-decoration: none
}
.listBox::after,
.listBox::before {
    content: "";
    position: absolute;
    left: 50%;
    display: inline-block;
    background: var(--red);
    border-radius: 50%;
    transform: translateX(-50%)
}
.listBox::after {
    top: 30px;
    width: 16px;
    height: 16px;
    transition: .3s
}
.listBox:hover::after {
    top: 27px;
    width: 22px;
    height: 22px;
}
.listBox::before {
    top: 22px;
    width: 32px;
    height: 32px;
    background: var(--trp)
}
.listBox:hover::before {
    top: 14px;
    width: 48px;
    height: 48px;
    background: var(--red);
    opacity: 0;
    -webkit-animation: cvbAnm .6s ease 0 1 forwards;
    animation: cvbAnm .6s ease 0 1 forwards;
    transition: .5s
}
.listBox .en {
    margin-bottom: 5px;
    font-size: var(--ts);
}
.listBox img {
    margin-top: 15px;
    width: min(22.8%, 60px)
}
.embedBox {
    margin-bottom: min(8.67%, 75px);
    padding: 0 min(2.889%, 25px)
}
.embedBox iframe {
    display: block;
    margin: 0 auto min(2.889%, 25px);
    width: min(100%, 840px);
}
@media (max-width: 834px) {
	.embedBox iframe {
    	aspect-ratio: 1/1
	}
}
@media (min-width: 835px) {
	.embedBox iframe {
    	aspect-ratio: 16/9
	}
}
.p-link::before {
	content: "";
	display: inline-block;
	margin: auto 4px;
	height: 10px;
  	width: calc(10px / 2);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background-color: var(--clr4)
}
ul.page-anchor {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid var(--lgry);
	border-left: 1px solid var(--lgry);
}
ul.page-anchor li {
	padding: .4rem;
	background-color: var(--wht);
	border-right: 1px solid var(--lgry);
	border-bottom: 1px solid var(--lgry);
}
ul.page-anchor li a {
	display: flex;
	align-items: center;
	color: var(--blk);
	font-weight: 700;
	text-decoration: none
}
ul.page-anchor li a::before {
	content: "";
	display: inline-block;
	height: calc(10px / 2);
  	width: 10px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	margin: auto 8px;
	background-color: var(--clr4)
}
@media (max-width: 834px) {
	ul.page-anchor li {
		flex-basis: 50%
	}
}
@media (min-width: 835px) {
	ul.page-anchor li {
		flex-basis: 25%
	}
}
/* add en 250929 */
.entry iframe.contactform {
    height: 1350px;
}
@media (max-width: 834px) {
    .entry iframe.contactform {
        height: 1730px;
	}
}