/* 会社概要 */
.page_main{
	height: 600px;
}
.page_main_bg{
	width: 100%;
	height: auto;
	aspect-ratio: 1920 / 995;
	background-size: cover;
	background-position: center;
	position: relative;
}
.page_main_short{
	aspect-ratio: 1920 / 695;
}
.com_main{
	background-image: url(../images/company/com_main.jpg);
}

.page01{
	padding: 80px 20px;
}
.com01{
	padding: 100px 20px 150px;
}
.page_h1{
	font-size: 24px;
}
.page_h2{
	font-size: 28px;
	padding: 0 20px 5px;
	border-bottom: solid 2px #226084;
}
.com_table{
	border-top: solid 2px #00466f;
	border-bottom: solid 2px #00466f;
	padding: 0 30px;
}
.com_tr{
	border-bottom: solid 1px #bdc3cb;
	padding: 20px 30px;
	gap: 10px;
}
.com_tr:last-child{
	border-bottom: none;
}
.com_th{
	width: 180px;
	display: flex;
	align-items: center;
}
.com_td{
	flex: 1;
}

.com_h2{
	font-size: 40px;
	letter-spacing: 0.1em;
}
.com_access_inner{
	padding: 0 30px;
}
.com_gmap{
	padding-bottom: 50%;
}
.access_wrap{
	padding: 0 60px 50px;
	border-bottom: solid 2px #00466f;
	align-items: center;
}
.access_box{
	width: 45%;
}
.access_name{
	font-size: 24px;
	letter-spacing: 0.05em;
}
a.com_btn{
	padding: 30px 80px;
}

@media only screen and (max-width:1024px) {
	.page_main{
		height: 400px;
	}
	.com_main{
		background-position: 87%;
	}

	.com01{
		padding: 80px 20px;
	}
	.page_h1{
		margin-top: 10px;
	}
	.page_h2{
		font-size: 22px;
	}
	.com_table{
		padding: 0 10px;
	}
	.com_th{
		width: 120px;
	}
	.com_h2{
		font-size: 28px;
	}
	.com_gmap{
		padding-bottom: 50%;
	}
	.access_wrap{
		flex-wrap: wrap;
		gap: 20px;
		padding: 0 20px 40px;
	}
	.access_box{
		width: 100%;
	}
	.access_box01{
		order: 2;
	}
	.access_box02{
		order: 1;
		text-align: center;
	}
	a.com_btn{
		padding: 20px 30px;
	}
	.access_name{
		font-size: 20px;
	}
}

@media only screen and (max-width:786px) {
	.page_main_bg{
		aspect-ratio: 1/1;
	}
	.page_main_short{
		aspect-ratio: 5 / 3;
	}
}

@media only screen and (max-width:480px) {
	.com_main{
		height: auto;
	}
	.com_table {

	}
	.com_tr{
		flex-wrap: wrap;
		padding: 10px 0;
		gap:0;
		border-bottom: none;
	}
	.com_th{
		width: 100%;
		background: #eee;
		padding: 5px;
	}
	.com_td{
		flex: none;
		width: 100%;
		padding: 5px;
	}
	.com_access_inner{
		padding: 0;
	}
	.com_gmap{
		padding-bottom: 70%;
	}
}

/* 取り組み */
.ini_main{
	background-image: url(../images/initiatives/ini_main.jpg);
}

.ini01{
	padding: 100px 0;
}
.ini01_inner{
	padding: 0 20px;
}
.ini_h2{
	font-size: 40px;
	letter-spacing: 0.05em;
}
.ini01_img_wrap{
	gap: 0 20px;
	justify-content: center;
}

.ini_wrap{
	gap: 40px;
}
.ini_img_box{
	width: 55%;
}
.ini_txt_box{
	width: calc(45% - 40px);
}
.ini_info_wrap{
	padding: 50px 150px;
	gap: 40px;
}


/* .mis01{
	padding: 150px 0 0;
} */
/* .mis01_copy{
	font-size: 32px;
} */
/* .mis01_img02{
	padding-top: 100px;
}
.mis01_img03{
	padding-top: 200px;
} */
/* .mis01_box{
	width: 50%;
}
.mis01_box_txt{
	padding-left: 20px;
} */
/* .mis_full_wrap{
	position: relative;
	padding-top: 150px;
	padding-left: calc(50% - 150px);
}
.mis_full_box01{
	position: absolute;
	width: calc(50% + 20px);
	height: 540px;
	position: absolute;
	top: 0;
	left: 0;
}
.mis_full_box02{
	padding: 150px 10vw 150px 300px;
} */
.mis_h2{
	font-size: 24px;
}

/* .mis02{
	padding: 150px 20px 0;
} */
.mis02_wrap{
	gap: 20px 40px;
}
.mis02_box{
	width: calc(50% - 20px);
	display: flex;
	align-items: center;
}
.mis02_txt{
	max-width: 480px;
	width: 100%;
}
/* .img_right{
	margin: 0 0 0 auto;
} */
.mis_name{
	font-size: 32px;
	letter-spacing: 0.1em;
	margin-top: 10px;
}

/* .mis03{
	padding: 150px 20px;
} */

@media only screen and (max-width:1024px) {
	.ini_info_wrap{
		padding: 30px;
	}

	.ini_wrap{
		flex-wrap: wrap;
	}
	.ini_img_box,.ini_txt_box{
		width: 100%;
	}

	.mis_inner{
		padding: 0 20px;
	}
	/* .mis01_copy{
		font-size: 20px;
	}
	.mis01_img02{
		padding-top: 50px;
	}
	.mis01_img03{
		padding-top: 100px;
	} */
	/* .mis01_box{
		width: 100%;
	}
	.mis01_box_txt{
		padding: 30px 0 0;
	}
	.mis_full_wrap{
		padding: 0;
		margin-top: 50px;
	}
	.mis_full_box01{
		position: static;
		width: 100%;
		height: auto;
	}
	.mis_full_box02{
		padding: 50px 20px;
	} */

	/* .mis02{
		padding: 50px 20px 0;
	} */
	.mis02_wrap{
		flex-wrap: wrap;
	}
	.mis02_wrap+.mis02_wrap{
		margin-top: 80px;
	}
	.mis02_box{
		width: 100%;
		max-width: 630px;
		margin: auto;
	}
	.mis02_box img{
		margin: auto;
	}
	.mis02_txt{
		max-width: 100%;
	}
	.mis_h2{
		font-size: 22px;
	}

	/* .mis03{
		padding: 80px 20px;
	} */
}

@media only screen and (max-width:768px) {
	.ini01{
		padding: 50px 0;
	}
	.ini_h2{
		margin-top: 50px;
		font-size: 22px;
	}
	.ini_h2_02{
		margin-top: 50px;
	}
	.ini01_img_wrap{
		flex-wrap: wrap;
	}
	.mis_name{
		font-size: 20px;
	}
	.ini_wrap02{
		margin-top: 80px;
	}
	/* .mis01_img02,.mis01_img03{
		padding-top: 0;
	} */
}
@media only screen and (max-width:480px) {
    .ini_info_wrap {
		flex-wrap: wrap;
	}
}



/* 販売店リスト */
.page_ttl{
	padding: 150px 20px 0;
}
.shop_index{
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px 20px;
}
a.shop_index_item{
	border: solid 1px #226084;
	padding: 5px;
	color: #226084;
	width: 150px;
}

.shop02{
	padding: 100px 20px 0;
}
.shop_inner{
	padding: 0 20px;
}
.shop_h3{
	width: 130px;
	font-size: 15px;
	padding: 5px;
	background: #00466f;
	color: #fff;
}
.shop_box{
	margin-top: 30px;
}
.shop_name{
	font-size: 24px;
}
.shop_th{
	width: 80px;
}
.shop_td{
	flex: 1;
}
.shop_item_ul li{
	padding: 5px 30px;
	border-radius: 50px;
	border: solid 1px #226084;
	color: #226084;
}

@media only screen and (min-width:1025px) {
	a.shop_index_item,
	.shop_item_ul li{
		transition: 0.3s ease-in-out;
	}
	a.shop_index_item:hover,
	.shop_item_ul li:hover{
		background: #226084;
		color: #fff;
	}
}

@media only screen and (max-width:1024px) {
	.page_ttl{
		padding: 50px 20px 0;
	}
	.shop_index{
		gap: 10px;
	}

	.shop02{
		padding: 80px 20px 0;
	}
	.shop_inner{
		padding: 0 10px;
	}
}
@media only screen and (max-width:1024px) {
	a.shop_index_item{
		width: 120px;
	}
}

/* 受託製造 */
.oem_main{
	background-image: url(../images/oem/oem_main.jpg);
}
.w520{
	max-width: 520px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.oem02{
	padding: 0 50px;
}
.oem02_container{
	background: #F4FCFF;
	padding: 100px 20px;
	border-radius: 20px;
}
.oem02_wrap {
	justify-content: center;
	gap: 40px;
}
.oem02_box{
	width: 300px;
}
.oem02_img{
	overflow: hidden;
	border-radius: 15px;
}
.oem02_note{
	background: #fff;
	padding: 30px 40px;
}

.oem03{
	padding: 100px 20px 0;
}

.oem04{
	background: linear-gradient(to bottom, #fff 0%,#d3f3ff 100%);
	padding: 80px 50px 50px;
}
.oem04_container{
	background: #fff;
	padding: 60px 20px;
	border-radius: 30px;
}
.oem_tel{
	font-size: 42px;
	line-height: 1.2;
	display: inline-block;
}


@media only screen and (max-width:1024px) {
	.oem02{
		padding: 0 20px;
	}
	.oem02_container{
		padding: 50px 20px;
	}
	.oem02_wrap {
		flex-wrap: wrap;
	}

	.oem03{
		padding: 80px 20px 50px;
	}

	.oem04{
		padding: 50px 20px;
	}
	.oem04_container{
		padding: 30px 20px;
	}
}

@media only screen and (max-width:480px) {
	.oem02_note{
		padding: 20px;
	}
}


/* 商品一覧 */



.prof_wrap {
	gap: 20px;
}
.prof_txt{
	flex: 1;
}
.prod_logo_wrap{
	position: relative;
	width: 100%;
	max-width: 768px;
	margin-left: auto;
	margin-right: auto;
}
.prod_logo{
	position: absolute;
	top: 0;
	right: 0;
}
@media only screen and (max-width:768px) {
	.prod_logo{
		position: static;
		margin-top: 20px;
	}
}

/* 工場紹介 */
.fac_main{
	background-image: url(../images/factory/fac_main.jpg);
}
.fac01{
	padding: 130px 0 80px;
}
.fac_inner{
	padding: 0 20px;
}
.fac_index{
	padding: 0 20px 30px;
	border-bottom: solid 1px #226084;
}
a.archive_cate_item.active{
	background: #226084;
	color: #fff;
}
.fac_slide01{
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 80px;
}
.fac_slide01 .slick-dots {
	left: 0;
}
.fac_access{
	padding: 80px 20px 60px;
}
.fac_txt02{
	justify-content: center;
}
.fac_txt02_box{
	align-items: start;
}
.fac_access_wrap{
	padding-bottom: 0;
	border-bottom: none;
}
.fac_end{
	padding-bottom: 150px;
}
.fac_slide02.slick-dotted.slick-slider{
	margin: 50px 0 0 ;
}
.fac_slide02_item{
	position: relative;
	padding: 0 10px;
}
.fac_slide02_cap{
	background: rgba(0,0,0,0.5);
	color: #fff;
	padding: 5px 15px;
	display: block;
	position: absolute;
	left: 10px;
	bottom: 0;
}
.fac_slide01 .slick-dots li button:before,
.fac_slide02 .slick-dots li button:before{
	font-size: 10px;
}
.fac_slide01 .slick-next:before,
.fac_slide01 .slick-prev:before,
.fac_slide02 .slick-next:before,
.fac_slide02 .slick-prev:before{
	font-size: 30px;
	color: #ccc;
}
.fac_slide01 .slick-next,
.fac_slide02 .slick-next{
	top: unset;
	bottom: -50px;
	width: 30px;
	height: 30px;
	right: 30px;
}
.fac_slide01 .slick-prev,
.fac_slide02 .slick-prev{
	top: unset;
	left: unset;
	bottom: -50px;
	width: 30px;
	height: 30px;
	right: 70px;
}
.slider-counter{
	margin-top: 5px;
	padding-left: 20px;
}

@media only screen and (max-width:1024px) {
	.fac01{
		padding: 80px 0 50px;
	}
	.fac_index{
		padding: 0 0 20px;
	}
	.fac_txt01{
		margin-top: 10px;
	}
	.fac_txt02{
		flex-wrap: wrap;
	}
	.fac_end{
		padding-bottom: 80px;
	}
}

@media only screen and (max-width:768px) {
	.fac_slide01{
		margin-top: 50px;
	}
	.fac_slide01_item{
		padding: 0 10px;
	}
}

@media only screen and (max-width:480px) {
	.fac_slide02 .slick-dots{
		bottom: -50px;
	}
}

/* MEDICAL ONE PRO */
.half_box{
	width: 50%;
}

@media only screen and (max-width:768px) {
	.txt_box{
		order: 2;
	}
	.img_box{
		order: 1;
	}
}

@media only screen and (max-width:480px) {
	.half_wrap {
		flex-wrap: wrap;
		gap: 20px;
	}
	.half_box{
		width: 100%;
	}
}

/* MEDICAL ONE */
/* .blue_border_box {
	border: solid 1px #001E6D;
	padding: 5px 15px;
	border-radius: 10px;
	display: inline-block;
}
.white_box{
	background: #fff;
	padding: 50px 40px;
	border-radius: 20px;
}
.med_meyasu{
	gap: 40px;
}

.mok_spoon{
	width: 100px;
}*/

@media only screen and (max-width:1024px) {
	/* .med_meyasu{
		flex-wrap: wrap;
		gap: 20px;
	}
	.med_meyasu_ttl{
		flex: 1;
		min-width: 100px;
		border-radius: 20px;
		height: 50px;
	} */
}

@media only screen and (max-width:768px) {
	/* .white_box{
		padding: 40px 20px;
	} */
}

/* お問い合わせ */
.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control,
.smf-form .smf-select-control__control{
	width: 100%;
	font-size: 18px;
	line-height: 1.5;
}
.smf-form .tel_box {
	justify-content: start;
	align-items: center!important;
	gap: 2px;
}
.smf-form .smf-item__label{
	font-family: "游明朝","Noto Serif JP", serif;
}
.smf-form .smf-item__description{
	color: #E4627C;
}
.smf-placeholder{
	font-size: 18px;
}
.snow-monkey-form .smf-action .smf-button-control__control{
	padding: 10px 100px;
    border: solid 1px #274c78;
    border-radius: 100px;
    color: #274c78;
    letter-spacing: 0.05em;
	font-size: 24px;
	background: none;
	font-family: "游明朝","Noto Serif JP", serif;
	font-weight: bold;
}
.snow-monkey-forms-turnstile>div{
	justify-content: center;
}

@media only screen and (min-width:1025px) {
	.snow-monkey-form .smf-action .smf-button-control__control{
		transition: 0.3s ease-in-out;
	}
	.snow-monkey-form .smf-action .smf-button-control__control:hover{
		color: #fff;
		background: #274c78;
	}
}

@media only screen and (max-width:768px) {
	.snow-monkey-form .smf-action .smf-button-control__control{
		padding: 10px 40px;
	}
}

/* プライバシーポリシー */
.pp_h2{
	border-bottom: solid 2px #226084;
	padding-bottom: 5px;
}
.pp_ul{
	padding-left: 20px;
}
.pp_li{
	position: relative;
	padding: 5px 0 5px 1.8em;
}
.pp_li::before{
	content: "●";
	position: absolute;
	left: 0;
	top: 5px;
}
.pp_table{
	padding: 0 20px;
}
.pp_tr{
	border-bottom: solid 1px #bdc3cb;
	padding: 20px;
	gap: 10px;
}
.pp_th{
	width: 180px;
}
.pp_td{
	flex: 1;
}

@media only screen and (max-width:768px) {
	.pp_table{
		padding: 0;
	}
	.pp_th{
		width: 30%;
	}
}

/* サイトマップ */
.sm_h2{
	border-bottom: solid 2px #226084;
	padding: 0 50px 5px;
}
.sm_h3{
	padding-left: 50px;
}
.sm_wrap{
	justify-content: start;
	gap: 20px;
	flex-wrap: wrap;
	padding: 0 50px;
}

@media only screen and (max-width:480px) {
	.sm_h2{
		font-size: 20px;
		padding: 0 10px 5px;
	}
	.sm_h3{
		padding-left: 10px;
	}
	.sm_wrap{
		padding: 0 10px;
	}
}
