@charset "utf-8";
/* CSS Document */

body.about .bread ul li:nth-child(2){
	pointer-events: none;
}
body.guide .bread ul li:nth-child(2){
	pointer-events: none;
}

article{
	padding: 100px 0;
}
article section{
	margin: 90px 0;
}
article section:first-child{
	margin-top: 0;
}
article section:last-child{
	margin-bottom: 0;
}
.insert{
	width: 1050px;
	margin: 0 auto;
}
.a-center{
	align-items: center;
}
.flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.title{
	text-align: center;
	margin: 0 0 30px 0;
	color: #006AB8;
}
.title h2{
	font-size: 3.8rem;
}
.title .din{
	font-size: 1.7rem;
	font-weight: 500;
}
.title .icon{
	margin: 2px 0 10px 0;
}
.title .icon img{
	height: 22px;
	width: auto;
}

.bt{
	width: auto;
	text-align: center;
	margin: 40px auto 0;
}
.bt-wide{width: 350px;}
.bt span{
	position: relative;
	background-color: #006AB8;
	border: 1px solid #006AB8;
	color: #fff;
	display: block;
	padding: 10px 50px;
	border-radius: 100px;
	transition: all .3s ease-in-out;
}
.bt span i{
	position: absolute;
	right: 10px;
}
.bt span:hover{
	background-color: #fff;
	color: #006AB8;
}

.mv--container{
	background-color: #F2F9FE;
}
.mv--insert{
	text-align: center;
	padding: 60px 0 80px;
}
.mv--insert p{
	font-size: 1.8rem;
	font-weight: 700;
	color: #E17E00;
	margin: 0 0 12px 0;
}
.mv--insert h1{
	font-size: 4.0rem;
	color: var(--p-color);
}
.title--container .insert .l-ttl{
	width: 720px;
}
.l-ttl .title-lead{
	font-size: 4.2rem;
	font-weight: 800;
	line-height: 130%;
	margin: 0 0 20px 0;
}
.l-ttl .label{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap:7px 5px;
}
.l-ttl .label span{
	display: inline-block;
	line-height: 1;
	color: #fff;
	background-color: var(--p-color);
	font-size: 1.3rem;
	padding: 8px 15px 10px;
	border-radius: 100px;
}
.title--container .insert .r-ttl{
	width: 300px;
}
.title--container .insert .r-ttl p{
	position: relative;
	margin: 0 0 15px 0;
	padding: 0 0 0 20px;
	font-size: 1.6rem;
	font-weight: 500;
}
.title--container .insert .r-ttl p::before{
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	background-color: var(--p-color);
	border-radius: 100px;
	top: 9px;
	left: 0;
}
.title--container .insert .r-ttl ol{
	border-left: 1px solid #ddd;
	padding: 5px 0 5px 30px;
}

.title--container .insert .r-ttl ol li span{
	color: var(--p-color);
	font-size: 1.6rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap:0 10px;
}
.title--container .insert .r-ttl ol li span br{display: none;}
.title--container .insert .r-ttl ol li span i{
	color: #999;
}
.title--container .insert .r-ttl ul{
	border-left: 1px solid #ddd;
	padding: 5px 0 5px 30px;
	margin: 20px 0 0 0;
}
.title--container .insert .r-ttl ul li span{
	color: var(--p-color);
	font-size: 1.6rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap:0 10px;
}
.title--container .insert .r-ttl ul li span i{
	color: #999;
}

.t-policyTitle{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	color: #006AB8;
	position: relative;
	margin: 0 0 30px 0;
}
.t-policyTitle::after{
	content: '';
	width: 100%;
	height: 1px;
	background-color: #ddd;
	position: absolute;
	left: 0;
	right: 0;
	z-index: -1;
}
.t-policyTitle h2{
	font-size: 4.2rem;
	display: inline-block;
	background-color: #fff;
	padding: 0 15px 0 0;
}
.t-policyTitle p{
	margin: 0;
	font-size: 2.0rem;
	display: inline-block;
	background-color: #fff;
	padding: 0 15px;
}

.layout-t-policy h3{
	font-size: 3.2rem;
	margin: 0 0 30px 0;
}
.layout-t-policy .txt{
	padding: 0 0 0 100px;
	border-left: 1px solid #ddd;
}

.picsCept{
	display: flex;
	justify-content: space-between;
	padding: 0 90px 90px 0;
	position: relative;
}
.picsCept::after{
	content: '';
	background-color: var(--p-color);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 50%;
	z-index: -1;
}
.picsCept .pic{
	width: calc(100% / 3);
	height: 380px;
}
.picsCept .pic img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}




.l-table{
	margin: 30px 0;
}
.l-table:first-child{
	margin-top: 0;
}
.l-table table tr {
    border: 1px solid #ddd;
}
.l-table table tr th {
    padding: 5px 15px;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #ddd;
    background-color: var(--p-color);
    color: #fff;
}
.l-table table tr th span{
	display: block;
	font-size: 1.3rem;
	line-height: 1;
}
.l-table table tr td {
    padding: 10px 15px;
    vertical-align: middle;
    text-align: center;
    border: 1px solid #ddd;
}
.l-table-left table tr td{
	text-align: left;
}
.l-table-left table tr th{
	min-width: 100px;
}
.l-table.left td{
	text-align: left;
}
.l-table a:link{text-decoration: underline;}
h3.dot{
	font-size: 2.3rem!important;
	color: #006AB8;
	margin: 0 0 15px 0!important;
	padding: 0 0 0 20px;
	position: relative;
}
h3.dot::before{
	content: '';
	width: 10px;
	height: 10px;
	background-color: #E17E00;
	border-radius: 100px;
	position: absolute;
	left: 0;
	top: 10px;
}
h3.dot span{
	display: block;
	font-size: 1.7rem;
}

.l-point{
	border-bottom: 1px solid #ddd;
	padding: 0 0 60px 0;
	margin: 0 0 60px 0;
}
.l-point:last-child{
	border: none;
	padding: 0;
	margin: 0;
}

.l-point-rPic{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.l-point-rPic .pic{
	width: 250px;
}
.l-point-rPic .pic img{
	width: 100%;
	height: auto;
}
.l-point-rPic .pic-v{
	text-align: right;
}
.l-point-rPic .pic-v img{
	width: 80%!important;
}
.l-point-rPic .tx{
	width: calc(100% - 270px);
}
.l-point-rPic .tx-w{
	width: 100%;
}
.l-point-rPic .tx p{
	font-size: 1.6rem;
	line-height: 200%;
}

.l-point .box{
	background-color: #f1f1f1;
	margin: 30px 0 0 0;
	padding: 30px;
}
.l-point .box .md{
	font-size: 1.8rem;
	font-weight: 700;
	color: #006AB8;
	margin: 0 0 10px 0;
}
.l-point .box ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.l-point .box ul li{
	width: 45%;
	list-style-type: disc;
	margin: 0 0 0 20px
}
.notice {
	margin: 20px 0 0 0;
}
.notice ul li{
	font-size: 1.35rem;
	color: #777;
	position: relative;
	padding: 0 0 0 20px;
	line-height: 170%;
	margin: 7px 0;
}
.notice ul li::before{
	content: '※';
	position: absolute;
	left: 0;
	top: 0;
}

.list ul li{
	list-style-type: disc;
	margin: 7px 0 7px 20px;
	line-height: 165%;
}
.list ul li a{text-decoration: underline;}

.list-num ul li{
	list-style-type: decimal;
}

.list.list-col2 ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:5px 0;
}
.list.list-col2 ul li{
	width: calc(48% - 20px);
}
.list.list-col3 ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:5px 0;
}
.list.list-col3 ul li{
	width: calc(32% - 20px);
}

.step-list{
	margin: 0 0 30px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
.step-list::after{
	content: '';
	width: 100%;
	height: 5px;
	background-color: var(--p-color);
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index:-1;
}
.step-list .step{
	width: 30%;
	height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background-color: var(--p-color);
	border-radius: 5px;
	color: #fff;
	font-size: 1.7rem;
	font-weight: 700;
}

.pic-col3{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.pic-col3::after{
	content: '';
	display: block;
	width: 32%;
}
.pic-col3 .pic,
.pic-col3 .item{
	width: 32%;
}
.pic-col3 .item .pic{
	width: 100%;
	height: 160px;
}
.pic-col3 .pic img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}
.mess .md{
	font-size: 1.8rem;
	line-height: 160%;
	color: var(--p-color);
}
 .mess .from{
	text-align: right;
}


.faq-list dl{margin: 0 0 15px 0;}
.faq-list dt {
   background-color: #F4F8FE;
   padding: 35px 45px 35px 70px;
   cursor: pointer;
   position: relative;
}
.faq-list dt span{
 font-family: din-2014,sans-serif;
 font-weight: 700;
 font-size: 35px;
 color: #27B2CC;
 position: absolute;
 left: 25px;
}
.faq-list dt:before {
 display: block;
 content: "＋";
 position: absolute;
 top: 35%;
 right: 15px;
 font-weight: bold;
}
.faq-list dt.active:before {
 content: "ー";
}
.faq-list dd {
 background-color: #F4F8FE;
 padding: 0 25px 0 70px;
 display: none;
 position: relative;
}

.answer{
 border-top: 1px solid #ddd;
 padding: 35px 0;
 line-height: 180%;
 position: relative;
}
.faq-list dd .answer span{
 font-family: din-2014,sans-serif;
 font-weight: 700;
 font-size: 35px;
 color: #FE0000;
 position: absolute;
 left: -45px;
}

.news-list dl{
	border-top: 1px solid #eee;
	position: relative;
	padding: 28px 0;
	display: flex;
	justify-content: space-between;
}
.news-list dt{
	color: #999;
	margin: 0 0 7px 0;
	width: 200px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.news-list dd{
	width: calc(100% - 220px);
}
.news-list span,
.title-news span{
	display: inline-block;
	font-size: 1.3rem;
	width: 100px;
	text-align: center;
	padding: 5px 0 ;
	border-radius: 100px;
	background-color: #f1f1f1;
	line-height: 1;
}

.wp-pagenavi span.current{width: auto!important;}

span.news{
	background-color: #E9EA9C!important;
	color: #719E20!important;
}
span.updata{
	background-color: #B2D5F1!important;
	color: #006AB8!important;
}
span.recruit{
	background-color: #F8E5EF!important;
	color: #C93F86!important;
}
span.medical-personnel{
	background-color: #f8efe4!important;
	color: #c57616!important;
}
span.other{
	background-color: #f2f2f2!important;
	color: #006AB8!important;
}

.treat-info{
	margin: 40px 0 0 0;
}
.treat-info h3{
	background-color: #F2F9FE;
	padding: 7px 15px;
	margin: 0 0 18px 0!important;
	font-size: 1.8rem!important;
	font-weight: 700;
    color: #006AB8;
}
.treat-info .movie iframe{
	width: 100%;
	height: 400px;
}

.box-info{
	background-color: #f1f1f1;
	padding: 25px;
	margin: 25px 0 0 0;
}
.box-info .md{
	font-size: 1.7rem;
	font-weight: bold;
	margin: 0 0 10px 0;
}
.box-info .img img{
	width: 100%;
}

.box-info h2{
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0 0 15px 0;
}
.box-info .item{
	margin: 15px 0 0 0;
}

.label-reserve span{
	display: inline-block;
	background-color: var(--p-color);
	color: #fff;
	padding: 5px 10px;
}

.image img{
	width: 100%;
	height: auto;
}
.image.plane img{
	width: auto!important;
	height: auto;
}
.image.center{
	text-align: center;
}
.image.image-plane .pic img{
	width: auto!important;
	height: auto;
}

.pic-col2{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:30px 0;
}
.pic-col2 .pic{
	width: 49%;
}
.pic-col2 .pic img{
	width: 100%;
	height: auto;
}
.pic-col2 .item{
	width: 49%;
}
.pic-col2 .item .pic{
	width: 100%;
	height: 225px;
}
.pic-col2 .item .pic img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.layout-section .section{
	margin: 30px 0;
}
.layout-section .section:first-child{
	margin-top: 0;
}
.layout-section .section:last-child{
	margin-bottom: 0;
}

.section-movie h3{
	background-color: #F2F9FE;
    padding: 7px 15px;
    margin: 0 0 18px 0!important;
    font-size: 1.8rem!important;
    font-weight: 700;
    color: #006AB8;
}
.section-movie iframe {
    width: 100%;
    height: 400px;
}
.section-movie .caption{
	font-size: 1.3rem;
	margin: 7px 0 0 0;
	color: #777;
}

.layout-section > h3.bg:first-child{
	margin-top: 0!important;
}
h3.bg{
	background-color: #F2F9FE;
    padding: 7px 15px;
    /*margin: 0 0 18px 0!important;*/
    margin: 30px 0!important;
    font-size: 1.8rem!important;
    font-weight: 700;
    color: #006AB8;
}

.section-table table tr {
    border: 1px solid #ddd;
}
.section-table table tr th {
    padding: 5px 19px;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #ddd;
    background-color: var(--p-color);
    color: #fff;
}
.section-table table tr th span{
	display: block;
	font-size: 1.3rem;
	line-height: 1;
}
.section-table table tr td {
    padding: 5px 19px;
    vertical-align: middle;
    text-align: center;
    border: 1px solid #ddd;
}

.section-label{
	margin: 0 0 10px 0;
}
.section-label + .section{
	margin-top: 10px;
}
.section-label span {
    display: inline-block;
    background-color: var(--p-color);
    color: #fff;
    padding: 5px 10px;
}

.section-box {
    background-color: #f1f1f1;
    margin: 30px 0 0 0;
    padding: 30px;
}
.section-box .md{
	font-size: 1.8rem;
	font-weight: 700;
	color: #006AB8;
	margin: 0 0 10px 0;
}

.section-box-list-txt ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.section-box-list-txt ul li{
	width: 45%;
	list-style-type: disc;
	margin: 0 0 0 20px
}

.section + h3.dot{
	border-top: 1px solid #ddd;
	padding-top: 50px;
	margin-top: 50px!important;
}
.section + h3.dot::before{
	top: 60px;
}

.section.l-point-rPic .pic img{
	width: 100%!important;
}

.insert--contents{
	display: flex;
	justify-content: space-between;
}
.insert--contents .sidebar{
	position: -webkit-sticky;
}

.contents-box{
	width: calc(100% - 320px);
}

.contents{
	margin: 0 0 80px 0;
}
.contents:last-child{
	margin: 0;
}
.contents h3{
	margin: 0 0 30px 0;
}

.contents .image img{
	width: 100%;
	height: auto;
}
.contents .image-w50{
	text-align: center;
}
.contents .image-w50 img{
	width: 50%;
	height: auto;
}
h2.line {
    font-size: 3.0rem;
    color: #006AB8;
    padding: 50px 0 0 0;
    margin: 0 0 30px 0;
    border-top: 3px solid #ddd;
    position: relative;
}
h2.line::before {
    content: '';
    display: block;
    width: 300px;
    height: 3px;
    background-color: #006AB8;
    position: absolute;
    left: 0;
    top: -3px;
}
.sidebar {
    width: 280px;
    position: sticky;
    top: 70px;
    display: block;
    height: 100%;
}
.sidebar .box {
    background-color: #fff;
    padding: 40px 20px 20px;
    box-shadow: 0px 4px 20px rgb(0 0 0 / 20%);
    border-radius: 3px;
}
.sidebar .md {
    margin: 0 0 12px 0;
    color: var(--p-color);
}
.sidebar .md .din {
    font-size: 2.4rem;
}
.sidebar .md p {
    margin: 0;
    font-size: 1.4rem;
}
.sidebar ul li {
    margin: 0 0 7px 0;
}
.sidebar ul li a {
    display: block;
    padding: 10px 15px;
    background-color: #f1f1f1;
    border-radius: 3px;
}
.sidebar ol li {
    margin: 0 0 7px 0;
}
.sidebar ol li a {
}
.sidebar ol li span{
	position: relative;
    display: block;
    padding: 10px 15px 10px 25px;
    background-color: #eceffa;
    border: 1px solid #fafbff;
    border-radius: 3px;
    transition: all .3s ease-in-out;
}
.sidebar ol li span i{
	position: absolute;
	top: 50%;
	left: 7px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.sidebar ol li span:hover{
	border: 1px solid #638ed3;
}

.insert--news{
	display: flex;
	justify-content: space-between;
}
.news-list,
.news-entry {
    width: calc(100% - 330px);
}

.title-news{
	margin: 0 0 30px 0;
	padding: 0 0 30px 0;
	border-bottom: 1px solid #ddd;
}
.title-news .data{
	color: #999;
	margin: 0 0 20px 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap:0 7px;
}
.title-news h2{
	font-size: 2.5rem;
	line-height: 150%;
}

.bt-back{
	width: 300px;
	margin: 50px auto 0;
	text-align: center;
}
.bt-back span{
	display: block;
	padding: 12px 0;
	position: relative;
	background-color: #184191;
	border: 1px solid #184191;
	color: #fff;
	border-radius: 3px;
	transition: all .3s ease-in-out;
}
.bt-back span i{
	position: absolute;
	left: 10px;
}
.bt-back span:hover{
	background-color: #fff;
	color: #184191;
}

.insert--regulation .reg{
	margin: 0 0 30px 0;
}
.insert--regulation .reg:last-child{
	margin: 0 0 0px 0;
}
.insert--regulation .reg h2{
	font-size: 2.4rem;
	margin: 0 0 20px 0;
	text-align: center;
}
.insert--regulation .reg .hd{
	position: relative;
	padding: 0 0 0 25px;
	margin: 0 0 12px 0;
	font-size: 1.7rem;
	font-weight: 700;
}
.insert--regulation .reg .hd span{
	position: absolute;
	left: 0;
}
.insert--regulation .reg p{
	margin: 0 0 12px 0;
}
.insert--regulation .reg ul{
	margin: 0 0 20px 0;
    text-indent: 0px;
    padding-left: 20px;
}
.insert--regulation .reg ul li{
	margin: 0 0 0 0;
    padding: 0;
    text-indent: 0px;
    padding-left: 10px;
}
.insert--regulation .reg dl{
	display: flex;
	justify-content: flex-start;
}
.insert--regulation .reg dl:first-child{
	margin: 10px 0 0 0;
}
.insert--regulation .reg dl dt{
	width: 200px;
}

.center{
	text-align: center;
}

.column-list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:50px 0;
}
.column-list::after{
	content: '';
	display: block;
	width: 30%;
}
.column-list .item{
	width: 30%;
	position: relative;
}
.column-list .item .pic{
	position: relative;
	height: 220px;
}
.column-list .item .pic img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.column-list .item .pic .data{
	position: absolute;
    left: 0;
    bottom: 0;
    background-color: #fff;
    padding: 15px 20px 0 0;
    width: 80%;
    color: #777;
}
.column-list .item p {
    color: var(--p-color);
    font-weight: 500;
    margin: 10px 0 0 0;
}

.insert--column .column-entry{
	width: 100%;
}
.column-entry .catch{
	width: 100%;
	height: 450px;
	margin: 0 auto 40px;
}
.column-entry .catch img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.access-map-list .item {
    margin: 0 0 40px 0;
}
.access-map-list .item h3 {
    font-size: 1.7rem;
    font-weight: normal;
    background-color: #F2F9FE;
    padding: 8px 20px;
    margin: 0 0 20px 0;
}

.access-map-list .item .image{
	border: 1px solid #ddd;
	padding: 25px;
}

.guide-map-list .item .image{
	border: 1px solid #ddd;
	padding: 20px;
}

.guide-map-list .item h3.dot{
	margin-bottom: 15px!important;
}
.guide-map-list .item{
	margin: 0 0 40px 0;
}
.guide-map-list .item:last-child{
	margin: 0;
}

.c-measure{
	background-color: #f1f1f1;
	padding: 30px;
	margin: 30px 0 0 0;
}
.c-measure h2{
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0 0 15px 0;
}
.c-measure .item{
	margin: 15px 0 0 0;
}

.caption{
	color: #999;
	font-size: 1.3rem;
	line-height: 150%;
	margin: 10px 0 0 0;
}

.txt-link a:link{text-decoration: underline;}

.col3{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:40px 0;
}
.col3::after{
	content: '';
	display: block;
	width: 32%;
}
.col3 .item{
	width: 32%;
}
.pic-txt-file .item .pic img{
	width: 100%;
	height: auto;
}
.pic-txt-file .item p{
	font-size: 1.4rem;
	margin: 10px 0 0 0;
	color: #777;
}

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; }
.embed-container iframe,
.embed-container object,
.embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.box-info-notice{
	padding: 40px;
	background-color:#f1f1f1;
}
.box-info-notice h2{
	text-align: center;
	font-size: 1.8rem;
	margin: 0 0 10px 0;
}

.information-list ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:5px 0;
}
.information-list ul li{
	width: 49.5%;
}
.information-list ul li.cs-center-im,
.information-list ul li.cardiovascular-surgery{
	display: none;
}

.information-list ul li span{
	position: relative;
	display: block;
	padding: 14px 20px;
	border-radius: 4px;
	background-color: #fafbff;
	border: 1px solid #638ed3;
	transition: all .2s ease-in-out;
}
.information-list ul li span i{
	position: absolute;
	right: 12px;
	transition: all .2s ease-in-out;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.information-list ul li span:hover{
	background-color: #fff;
}
.information-list ul li span:hover i{
	right: 5px;
}


.layout-lTtl-rTx .information-list ul li a{
	padding: 20px 20px;
}

.hospitalbook{
	position: relative;
	border: 1px solid #ddd;
	padding: 50px;
}
.hospitalbook .swiper-slide img{
	width: 100%;
	height: auto;
}

.title-book{
	text-align: center;
	margin: 0 0 20px 0;
}
.title-book .din{
	font-size: 2.8rem;
	    color: #006AB8;
}
.title-book p{
	margin: 5px 0 0 0;
	font-size: 1.4rem;
}

.youtube .item irame{
	
}
.youtube .item { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; }
.youtube .item iframe,
.youtube .itemr object,
.youtube .item embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.art-section{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	border-bottom: 1px solid #eee;
	padding: 0 0 30px 0;
	margin: 0 0 30px 0;
}
.art-section:last-child{
	border: none;
	padding: 0 0 0px 0;
	margin: 0 0 0px 0;
}
.art-section .pic img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}
.art-section .pic{
	width: 220px;
}
.art-section .txt{
	width: calc(100% - 250px);
}
.art-section .txt.w100{
	width: 100%;
}
.art-section .txt .name{
	font-size: 2.2rem;
	font-weight: 700;
}
.art-section .txt .name span{
	display: block;
	font-size: 1.4rem;
	font-weight: normal;
	color: #777;
	margin: 5px 0 0 0;
}

.p-slide{
	position: relative;
	overflow: hidden;
}
.p-slide .pic{
	text-align: center;
}
.p-slide .pic img{
	margin: 0 auto;
}
.p-slide .slider-for{
	margin: 0 0 30px 0;
}
.p-slide .slider-nav .pic{
	width: 120px;
	height: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.p-slide .slider-nav .pic img{
	max-width: 90%;
	max-height: 90%;
	/* 画像に width / height 属性を付けたため、この2つが無いと
	   属性の値がそのまま使われて縦横比が崩れる（作品が横に伸びる）。
	   auto を入れることで max-width / max-height だけが効き、比率が保たれる。 */
	width: auto;
	height: auto;
}

.tab-column{
	display: flex;
	gap:0 10px;
	margin: 0 0 60px 0;
}
.tab-column .btn{
	width: 100%;
	text-align: center;
}
.tab-column .btn span{
	display: block;
	background-color: #f1f1f1;
	border: 1px solid var(--p-color);
	padding: 12px 0;
	transition: all .3s ease-in-out;
}
.tab-column .btn span:hover{
	background-color: var(--p-color);
	color: #fff;
}
.tab-column .btn.active span{
	background-color: var(--p-color);
	color: #fff;
}

.b-title{
	font-size: 1.9rem;
	font-weight: 800;
    color: #006AB8;
    margin:40px 0 30px 0;
    border: 1px solid #ddd;
    border-top: 4px solid #006AB8;
    padding: 18px 20px;
    line-height: 1;
}
.b-title:first-child{
	margin-top: 0;
}

.link-list.block{
	margin: 25px 0 40px 0!important;
}
.link-list p{
	font-weight: 600;
	color: var(--p-color);
	margin: 0 0 12px 0!important;
}
.link-list ul li{
	margin: 7px 0;
}
.link-list ul li span{
	position: relative;
	display: block;
	padding: 8px 20px;
	border-radius: 4px;
	background-color: #fafbff;
	border: 1px solid #638ed3;
	transition: all .2s ease-in-out;
}
.link-list ul li span i{
	position: absolute;
	right: 18px;
	transition: all .2s ease-in-out;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.link-list ul li span:hover{
	background-color: #fff;
}
.link-list ul li span:hover i{
	right: 10px;
}
.link-list-panel ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:8px 0;
}
.link-list-panel ul li{
	width: 49.5%;
	margin: 0;
}
.link-list-panel ul li span{
	height: 80px;
	display: flex;
	align-items: center;
	font-size: 1.65rem;
}


section.layout .block {
    margin: 30px 0;
}
section.contents .block {
    margin: 30px 0;
}
section.layout .block:first-child{
	margin-top: 0;
}

.layout-l-point{
	border-top: 1px solid #ddd;
	padding:50px 0;
	margin: 0px 0!important;
}
.layout-l-point h3.dot{
	margin-bottom: 30px!important;
}

.layout-md-box{
	
}
.layout-md-box{
	background-color: #f1f1f1;
	margin: 30px 0 0 0;
	padding: 30px;
}
.layout-md-box .md{
	font-size: 1.8rem;
	font-weight: 700;
	color: #006AB8;
	margin: 0 0 10px 0;
}
.layout-md-box ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.layout-md-box ul li{
	width: 45%;
	list-style-type: disc;
	margin: 0 0 0 20px
}

h4{
	margin: 20px 0;
}
.layout-free table{
	table-layout: fixed;
}
.layout-free table tr {
    border: 1px solid #ddd;
}
.layout-free table tr th {
    padding: 5px 15px;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #ddd;
    background-color: var(--p-color);
    color: #fff;
}
.layout-free table tr th span{
	display: block;
	font-size: 1.3rem;
	line-height: 1;
}
.layout-free table tr td {
    padding: 10px 15px;
    vertical-align: middle;
    text-align: center;
    border: 1px solid #ddd;
}
.layout-free table a:link{text-decoration: underline;}


.time-step dl{
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #eee;
	padding: 10px 0;
}
.time-step dl:first-child{
	padding-top: 0;
}
.time-step dl:last-child{
	border-bottom: none;
	padding-bottom: 0;
}
.time-step dl dt{
	width: 120px;
	font-weight: 700;
	color: #006AB8;
}
.time-step dl dd{
	width: calc(100% - 120px);
}
.time-step dl dd span{
	color: #777;
	display: block;
}


.greeting-set{
	display: flex;
	justify-content:flex-start;
	flex-direction: row-reverse;
	margin: 0px 0 0 0;
	gap:0 30px;
}
.greeting-set .pic img{
	width: 100%;
	height: auto;
	border: 1px solid #ddd;
}
.greeting-set .pic{
	width: 120px;
}
.greeting-set .tx{
	text-align: right;
	margin: 20px 0 0 0;
}


.msk .layout-t-policy .txt {
    padding: 0 0 0 15px;
    border-left: 5px solid var(--p-color);
}
.msk .layout-t-policy .txt .list ul li{
	list-style: none;
	margin: 0;
}
.msk .layout-t-policy .txt .list ul li a{
	font-size: 1.8rem;
	font-weight: 700;
	padding: 5px 0;
	color: var(--p-color);
}

.freetext{
	margin: 30px 0 0 0;
}
.freetext img{
	max-width: 100%;
	height: auto;
}
.freetext a:link{text-decoration: underline; color: var(--p-color);}
.freetext a:hover{text-decoration: underline; color: var(--p-color);}
.freetext a:visited{text-decoration: underline; color: var(--p-color);}
.freetext a:active{text-decoration: underline; color: var(--p-color);}

.flow-section {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0px 0;
  overflow: hidden;
  padding: 0 0 30px 0;
}
.flow-section:last-child{
	padding-bottom: 0;
}



.flow-step {
  width: 100px;
  text-align: center;
  position: relative;
}
.flow-step::after{
	content: '';
	display: inline-block;
	width: 5px;
	z-index: -1;
	background-color: #006AB8;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -60px;
	bottom: -60px;
}
.flow-section:last-child .flow-step::after{
	display: none;
}

.step-badge {
  background-color: #006AB8;
  color: #fff;
  padding: 10px;
  border-radius: 5px;
  font-weight: bold;
}

.flow-cards {
  width: calc(100% - 120px);
  background-color: #F2F9FE;
  padding: 15px;
  border-radius: 5px;
}

.flow-card {
  background-color: #fff;
  padding: 20px;
  border-radius: 5px;
  width: 49%;
  border: 1px solid var(--p-color);
}

.card-title {
  line-height: 135%;
  font-size: 1.8rem;
  color: #006AB8;
  margin: 0 0 10px 0!important;
}
.card-desc{
	margin: 0;
}
.--w100{
	width: 100%!important;
}

.flow-cards--grid {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 0;
}

.flow-cards--grid .flow-card {
  width: 49%;
}

.copy-lead{
	font-size: 2.3rem;
	font-weight: 800;
	margin: 0 0 50px 0;
	line-height: 170%;
}

.ttp{
	background-color: #f1f1f1;
	padding: 20px;
	border: 1px solid #ddd;
	margin: 30px 0 0 0;
}
.ttp strong{color: #E17E00;}

.ttp-line{
	border-top: 1px solid #ddd;
	padding: 20px 0 0 0;
	margin: 40px 0 0 0;
}
.ttp-line .hd{
	text-align: center;
	color: #006AB8;
	font-weight: 700;
	margin: 0 0 15px 0;
	font-size: 1.7rem;
}

.ttp-line dl{
	display: flex;
	justify-content: space-between;
	margin: 0 0 10px 0;
}
.ttp-line dl:last-child{margin: 0;}
.ttp-line dl dt{
	width: 80px;
	color: #006AB8;
}
.ttp-line dl dd{
	width: calc(100% - 80px);
	
}
.ttp-line dl a{
	color: #E17E00;
	text-decoration: underline;
	font-weight: 700;
}
.ttp-line dl dd ul li{
	position: relative;
	padding: 4px 0 8px 25px;
	margin: 0 0 8px 0;
	border-bottom: 1px solid #eee;
}
.ttp-line dl dd ul li:first-child{
	padding-top: 0;
}
.ttp-line dl dd ul li:last-child{
	border: none;
	padding-bottom: 0;
}
.ttp-line dl dd ul li span{
	position: absolute;
	left: 0;
}

.l-pic-txt{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.l-pic-txt .pic{
	width: 38%;
}
.l-pic-txt .pic img{
	width: 100%;
	height: auto;
}
.l-pic-txt .txt{
	width: 58%;
}

.reserve-box {
    background-color: #f1f1f1;
    padding: 30px 50px;
    border-radius: 4px;
    text-align: center;
}
.reserve-box.p-box {
    background-color: #fff8e5;
}
.reserve-box h3 {
    text-align: center;
    font-size: 2.0rem;
    color: #e17e00;
    margin: 0 0 0 0;
    display: block;
    width: 35%;
}
.reserve-box.p-box h3 {
    font-size: 1.7rem;
}
.reserve-box .box {
    width: 65%;
    text-align: left;
}
.reserve-box .box .p-main {
    display: block;
    color: #e17e00;
    font-size: 3.0rem;
    margin: 0 0 5px 0;
}
.reserve-box .box .p-main span {
	font-size: 0.8em;
}
.bold {
	font-weight: bold;
}

.l-table .table-ph {
	display: block;
	width: 120px;
	height: 120px;
	overflow: hidden;
	img {
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
}

.h-topics--insert{
	display: flex;
	justify-content: space-between;
}
.h-topics--insert .item{
	background-color: #F2F9FE;
	padding: 30px 30px 30px;
	width: 100%;
	border-radius: 4px;
}
.h-topics--insert .item h2{
	text-align: center;
	font-size: 1.7rem;
	font-weight: 500;
	background-color: #006AB8;
	color: #fff;
	line-height: 1;
	padding: 8px 0 10px;
	margin: 0 0 20px 0;
}
.h-topics--insert .item hr{
    border-top: 1px solid #ddd;
    border-bottom: 1px solid rgba(255, 255, 255, 0);
    margin: 20px auto 20px;
}

.h-topics--insert .btn{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	width: 100%;
	margin: 10px auto 0;
	text-align: center;
	gap: 10px;
}
.h-topics--insert .btn.double a {
	width: 40%;
	min-width: 230px;
}
.h-topics--insert .btn span{
	display: block;
	padding: 10px 0;
	
	background-color: var(--p-color);
	color: #fff;
	border: 1px solid var(--p-color);
	border-radius: 100px;
	box-shadow:0px 4px 20px rgb(0 0 0 / 0%);
	transition: all .3s ease-in-out;
}
.h-topics--insert .center{
	text-align: center;
}
.h-topics--insert .btn span:hover{
	background-color: #fff;
	color: var(--p-color);
	border: 1px solid #eee;
}