@charset "utf-8";
/*
Theme Name: 村上保険サービス
Theme URI: https://www.hokensoudan-ehime.jp/
Author: 村上保険サービス
Description: 村上保険サービス様公式サイト用カスタムテーマ。
Version: 1.0
Text Domain: hokensoudan_ehimejp
*/
/*___________ 基本設定 ___________ */
@import url('https://fonts.googleapis.com/css2?family=Cascadia+Mono:ital,wght@0,200..700&family=Noto+Sans+JP:wght@100..900&display=swap'); 
body {
	margin: 0;
	padding: 0;
	text-align:left;
	font-family: 'Noto Sans JP', sans-serif;
	color: #333;
	line-height: 1.6;
	font-size: 87.5%;
}
strong {
	font-weight: 700;
}
h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,p,div {
	padding: 0;
	margin: 0;
	font-weight: normal;
	font-size: 1em;
}
ul { list-style-type: none;}
ol { padding-left: 2em;}
p {
	margin-bottom: 1.2em;
}
textarea {
	font-size: 1em;
}
img {
	border:0;
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
/*	border: 1px solid #3FA9F5;*/
	margin-bottom: 30px;
}
th,td {
	border-bottom: 2px solid #02C9E8;
	padding: 15px 10px;
	vertical-align: top;
}
th {
	white-space: nowrap;
	/*text-align: left;*/
	text-align: justify;
	text-align-last: justify;
	color: #4c170a;
}

table.fd_table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
/*	border: 1px solid #3FA9F5;*/
	margin-bottom: 30px;
}
.fd_table th,
.fd_table td {
	border: 1px solid #02C9E8;
	padding: 15px 8px;
	vertical-align: top;
	font-size: 95%;
}
.fd_table th {
	white-space: nowrap;
	/*text-align: left;*/
	text-align: center;
	text-align-last: center;
	color: #4c170a;
	background: #E8F5F9;
}

.pc_elem {
	display: none;
}
.nav {
	background: #F2FAEE;
	padding: 20px 5%;
	margin: 50px 0 20px;
}
.principle {
	font-size: 85%;
}

/* ____ リンクテキスト ____ */
a {
	color: #333;
	text-decoration: underline;
	transition: all  0.3s ease;
}
.swiper a {
	transition: none;
}
a:visited {
/*	color: #888;*/
	text-decoration: underline;
}
a:hover,
a:active,
a:focus {
	text-decoration: none;
}
a:hover {
	opacity: 0.75;
}

/*___________ ページの先頭へ ___________ */
.tothetopfixed {
	position: fixed;
	bottom: 25px;
	right: 8px;
}
.tothetopfixed a {
	width: 45px;
	height: 45px;
	text-align: center;
	display: block;
}
.tothetopfixed img {
	width: 45px;
}

/*___________ レイアウト設計 ___________ */
h2 {
	font-size: 150%;
	padding-bottom: 15px;
	font-weight: 700;
	text-align: center;
}
h2.hddr {
	color: #de9049;
}
h3 {
	font-size: 130%;
	font-weight: 600;
	text-align: center;
	margin-bottom: 15px;
	color: #4C170A;
}
h3.hddr {
}
h3 span {
	color: #02C9E8;
	display: block;
	font-size: 80%;
	font-weight: 400;
}
h4 {
	font-weight: 700;
	font-size: 114.28571%;
	margin-bottom: 15px;
}
html {
  /*scroll-padding-top: 80px;*/
}
.contents_wrap {
	padding: 30px 0 0;
}
.contents {
	padding: 30px 5% 0;
	text-align: left;
}
.contents_in {
	padding: 0 0 30px;
}
.map_wrap {
	height: 0;
	position: relative;
	padding-bottom: 65%;
/*	margin: 30px 15px 50px;*/
}
.map_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*
ページコンテンツ共通
_______________________*/
.link_btn,
.link_btn2 {
	display: flex;
	justify-content: flex-end;
	padding-bottom: 30px;
	font-weight: 500;
}
.link_btn.dbl,
.top_cont .link_btn.dbl {
	padding-bottom: 10px;
}
.link_btn a {
	display: flex;
	justify-content: center;
    align-items: flex-end;
	padding: 5px 20px;
	background: #fff;
	border-radius: 20px;
	text-decoration: none;
	color: #4c170a;
	position: relative;
	border: 1px solid #4c170a;
}
.link_btn2 a {
	display: flex;
	justify-content: center;
    align-items: flex-end;
	padding: 5px 20px;
	background: #E59E95;
	border-radius: 20px;
	text-decoration: none;
	color: #fff;
	position: relative;
}
.link_btn a::after,
.link_btn2 a::after {
    transform: translateY(-48%);
    width: 1.6em;
    height: 1em;
	margin-left: .6em;
    background-color: #4c170a;
	clip-path: polygon(65% 60%, 100% 100%, 0% 100%, 0% 95%, 90% 95%, 60% 60%);
    content: '';
}

.cont_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-bottom: 30px;
}
.cont_list h3 {
	margin-bottom: 5px;
}


/*
ヘッダー・ナビゲーション
_______________________*/
#head {
	padding: 0 5%;
	height: 50px;
	background: #02C9E8;
}
#head h1 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 175px;
	height: 50px;
	z-index: 999;
}

#pc_gnav {
	display: none;
}
#sp_gnav {
	z-index: 590;
}
#mn_defa {
	position: fixed;
	display: flex;
	top: 0;
	right: 0;
	z-index: 500;
	background: #02C9E8;
}
/*#mn_defa li:first-of-type {
	background: #6FBA2C;
	text-align: center;
	padding: 13px 10px;
}*/
#mn_defa a {
	display: block;
	text-decoration: none;
	color: #fff;
	font-weight: 700;
}
#mn_defa img {
	width: 50px;
}
#mn_cont {
	display: none;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 400;
	background: #02C9E8;
	overflow: auto;
}
#mn_cont ul {
	width: 100%;
	height: 100%;
	padding: 90px 5% 50px;
	z-index: 402;
	box-sizing: border-box;
}
#mn_cont .mn_list {
	font-size: 128%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#mn_cont .mn_list li {
	width: calc(50% - 8px);
	padding-bottom: 12px;
}
#mn_cont ul a {
	font-weight: 700;
	display: block;
	background: url("img-layout/mn_btn_bg.png") no-repeat center/ cover;
	width: 100%;
	padding: 15px 10px;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none;
}
#mn_cont .mn_sub_wrap {
	background: url("img-layout/orn.png") no-repeat center top/ contain,
	url("img-layout/orn.png") no-repeat center bottom/ contain;
	padding: 20px 0;
	margin: 20px 0 30px;
}
#mn_cont .mn_sub {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
#mn_cont .mn_sub li {
	width: 50%;
	text-align: center;
	padding: 7px 0;
}
#mn_cont .mn_sub a {
	text-decoration: none;
	color: #fff;
}
#mn_cont .mn_inq {
	text-align: center;
}
#mn_cont .mn_inq a {
	display: block;
	background: #FFF8F8;
	padding: 8px;
	border-radius: 8px;
	font-size: 120%;
	font-weight: 600;
	text-decoration: none;
	max-width: 200px;
	margin: 15px auto;
}
#mn_cont .mn_inq li:last-of-type a {
	background: #FFF8F8 url("img-layout/pt_flag.png") no-repeat 25px center/ 20px 28px;
	padding: 8px 0px 8px 16px;
}

/*
フッター
_______________________*/
#footer {
	background: #D9F8FC;
	padding: 30px 5%;
}
.ft_inquiry {
	display: flex;
	justify-content: space-between;
	padding: 15px 0 30px;
	border-bottom: 1px solid #fff;
}
.ft_inquiry a {
	width: 48%;
}
.ft_telnum h2 {
	color: #4C170A;
}
.ft_telnum {
	text-align: center;
}
.ft_telnum_in div {
	text-align: left;
	padding-left: 2em;
}
.ft_telnum_in div:last-of-type {
	text-align: right;

}
.ft_telnum a {
	font-size: 250%;
	line-height: .8;
	display: flex;
	justify-content: center;
	padding: 0 0 5px;
	letter-spacing: .1em;
}
.ft_telnum a::before {
    width: 24px;
    height: 31px;
	margin-right: .1em;
    background: url("img-layout/telnum_ic.png") no-repeat center/ 24px 31px;
    content: '';
}
.ft_telnum_in {
	display: inline-block;
}
.footer_info,
.footer_sitemap {
	background: #D9F8FC;
	padding: 20px 5% 10px;
	text-align: center;
}
.footer_info h2 {
	padding-bottom: 15px;
	width: 190px;
	margin: 0 auto;
}
.footer_info a {
	text-decoration: none;	
}

#footer a {
	text-decoration: none;
}
.footer_sitemap {
/*	display: flex;
	justify-content: space-around;*/
}
#copyright {
	text-align: center;
	color: #FFFFFF;
	padding: 8px 15px;
	font-size: 86.66666%;
	background: #02C9E8;
}
/*
ヘッダ（hero）
_______________________*/
.hero {
	height: 168px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-shadow: 0 0 8px rgba(0, 0, 0, 0.9);
	letter-spacing: .4em;
}
.hero h2 {
	color: #fff;
	font-weight: 500; 
}
#about.hero {
	background: url("img-layout/aboutus_header_img.png") no-repeat center top/ cover;
}
#service.hero {
	background: url("img-layout/service_header_img.png") no-repeat center top/ cover;
}
#company.hero {
	background: url("img-layout/companyprofile_header_img.png") no-repeat center top/ cover;
}
#inquiry.hero {
	background: url("img-layout/inq_header_img.png") no-repeat center top/ cover;
}
#info.hero {
	background: url("img-layout/info_header_img.png") no-repeat center top/ cover;
}
/*
トップページ
_______________________*/
.swiper_wrap_wrap {
	position: relative;
}
.swiper_wrap {
/*	margin: 0 2%;
	border-radius: 5%;*/
	overflow: hidden;
}
.swiper {
	height: auto;
	position: relative;
	z-index: 1;
}
.swiper img {
/*	clip-path: polygon(0 0, 100% 0, 100% 80%, 0% 100%);*/
}
.swiper-slide img {
	width: 100%;
	max-width: none;
}
.swiper-slide-active{
    opacity: 1;
}
.swiper-pagination{
/*	text-align: right;*/
	padding: 0 5%;
	box-sizing: border-box;
}
.swiper_orn {
	position:absolute;
	color: #fff;
	text-align: right;
	top: 1.8em;
	left: 1.2em;
	font-size: 128%;
	z-index: 9;
	letter-spacing: .4em;
	text-shadow: 0 0 4px rgba(0, 0, 0, 0.9);
}
.slide_logo {
	position: absolute;
	bottom: 1.2em;
	right: 1.2em;
	width: 21%;
	z-index: 8;
}
.top_intro {
	padding: 15px 0 50px;
}
h2.top_hddr {
	line-height: 1em;
	font-size: 210%;
	font-weight: 500;
	color: #02C9E8;
	text-align: left;
}
.topnews {
/*	padding-bottom: 30px;*/
}
.topnews .date {
	margin: 0 1em 0 0;
	color: #02C9E8;
}
.topnews li {
/*	border-bottom: 2px solid #6d6d6d;*/
	padding-bottom: 5px;
	margin-bottom: 10px;
}
.topnews a {
	text-decoration: none;
	
}
.topnews p {
	margin: 0;
}
.top_cont {
	background-image: url("img-layout/top_cont_bg.png"),
	 linear-gradient(180deg, rgba(242, 250, 238, 0) 15px, rgba(242, 250, 238, 1) 15px);
	background-repeat: no-repeat, no-repeat;
	background-position: center top, center bottom;
	background-size: contain, contain;
	padding: 30px 5%;
	margin-top: 0px;
}
.top_cont_rev {
	background-image: url("img-layout/cont_bg_rev.png"),
	 linear-gradient(180deg, rgba(255, 255, 255, 0) 15px, rgba(255, 255, 255, 1) 15px);
	background-repeat: no-repeat, no-repeat;
	background-position: center top, center bottom;
	background-size: contain, contain;
	padding: 30px 5%;
	margin-top: -0px;
}
.top_cont h2 {
	color: #de9049;
}
.top_strg {
	padding: 130px 0 10px;
}
.top_strg:nth-of-type(1) {
	background: url("img-layout/top_service_img_01.png") no-repeat center top/ 114px 114px;
}
.top_strg:nth-of-type(2) {
	background: url("img-layout/top_service_img_02.png") no-repeat center top/ 114px 114px;
}
.top_strg:nth-of-type(3) {
	background: url("img-layout/top_service_img_03.png") no-repeat center top/ 114px 114px;
}
.top_reason_hd h2 {
	background: url("img-layout/top_reasons_img_01.png") no-repeat center/ cover;
	text-align: left;
	padding: 20px 5%;
	min-height: 150px;
	display: flex;
	align-items: center;
	color: #4C170A;
}
.top_reason_wrap {
	padding: 0 0 30px;
}
.top_reason {
	padding: 50px 0 10px;
}
.top_reason h3,
.top_reason .pic {
	text-align: center;
	padding: 0 0 8px;
}
.top_reason:nth-of-type(1) {
	background: url("img-layout/num_1.png") no-repeat center top/ 50px;
}
.top_reason:nth-of-type(2) {
	background: url("img-layout/num_2.png") no-repeat center top/ 50px;
}
.top_reason:nth-of-type(3) {
	background: url("img-layout/num_3.png") no-repeat center top/ 50px;
}
.top_serv h3 {
	padding: 10px 0 0;
	margin: 0 0 10px;
}
.link_flow {
	text-align: center;
	padding: 10px 0 50px;
}
.link_flow a {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #57BC1E;
	border-radius: 10px;
	padding: 15px;
	color: #fff;
	text-decoration: none;
	font-size: 120%;
}
.link_flow.rec a {
	background: #02C9E8;
}
.link_flow a::before {
	display: flex;
    width: 41px;
    height: 37px;
	margin-right: 1em;
    background: url("img-layout/bg_btn_flow.png") no-repeat center/ 41px 37px;
    content: '';
	z-index: 10;
	position: relative;
}
.link_flow a::after {
    transform: translateY(-30%);
    width: 1.6em;
    height: 1.2em;
	margin-left: 1em;
    background-color: #fff;
	
	clip-path: polygon(66% 62%, 100% 100%, 0% 100%, 0% 92%, 85% 92%, 62% 68%);
    content: '';
}
.top_recruit {
	margin: 0 0 50px;
}

/*
村上保険について
___________*/
.about_intro {
	padding: 30px 0;
}
.about_intro_ttl,
.about_intro_txt {
	padding: 0 5%;
}
.about_intro_ttl h2 {
	color: #DE9049;
	text-align: left;
}
.about_trst {
	padding-bottom: 30px;
}
.about_trst .pic {
	margin-bottom: -200px;
	padding: 0 5% 30px;
}
.about_trst .cont {
	padding: 200px 5% 30px;
	background: #DEF8FC;
}

.sub_body {
	background: #F2FAEE;
	padding: 15px 5%;
}
.more_wrap {
	padding: 0 0 30px;
}
.more_blk {
	background: #F3D194;
	border-radius: 10px;
	padding: 10px 5% 1px;
	margin: 0 0 15px;
}
.about_reason_wrap {
	padding: 0 0 30px;
}

/*
保険サービス
___________*/
.flow_con_wrap a {
	text-decoration: none;
}
.flow_con {
	border: 2px solid #57BC1E;
	border-radius: 10px;
	background: #fff;
	padding: 10px 15px;
	margin: 0 0 15px;
}
.flow_con h3 {
	text-align: left;
	padding: 3px 0 3px 33px;
}
h3.n1 { background: url("img-layout/n01.png") no-repeat left center/ 27px 27px; }
h3.n2 { background: url("img-layout/n02.png") no-repeat left center/ 27px 27px; }
h3.n3 { background: url("img-layout/n03.png") no-repeat left center/ 27px 27px; }
h3.n4 { background: url("img-layout/n04.png") no-repeat left center/ 27px 27px; }
h3.n5 { background: url("img-layout/n05.png") no-repeat left center/ 27px 27px; }
.fl_hr {
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 40px solid transparent;
	border-left: 40px solid transparent;
	border-top: 20px solid #57BC1E;
	border-bottom: 0;
	margin: 0 auto 15px;
}

/*
会社概要
___________*/
.company_intro {
	padding: 30px 5%;
	background: url("img-layout/aboutus_img_01_bg.png") no-repeat -80px 180px/ 717px 238px;
}
.company_intro .pic {
	max-width: 180px;
	margin: 0 auto 30px;
}
.company_intro_ttl h2 {
	color: #DE9049;
	text-align: left;
}
.presi_name {
	text-align: right;
	font-size: 110%;
}
.presi_name span {
	font-size: 138%;
}
.com_philo {
	background-image: url("img-layout/top_cont_bg.png"),
	 linear-gradient(180deg, rgba(242, 250, 238, 0) 15px, rgba(242, 250, 238, 1) 15px);
	background-repeat: no-repeat, no-repeat;
	background-position: center top, center bottom;
	background-size: contain, contain;
	padding: 40px 5% 30px;
	margin-top: 30px;
	position: relative;
}
.com_philo .pic {
	width: 108px;
	margin: -50px auto 15px;
}
.com_table {
	margin-bottom: 50px;
}
.access_info h3 {
	text-align: left;
	background: #02C9E8;
	color: #fff;
	display: inline-block;
	padding: 0 10px;
}

/*
リクルート
___________*/
.recruit_intro {
	padding: 30px 5%;
}
.recruit_intro .pic {
	max-width: 313px;
	margin: 0 auto 30px;
}
.recruit_intro_ttl h2 {
	color: #DE9049;
	text-align: left;
}
.fl_box {
	display: flex;
	justify-content: space-between;
	padding-bottom: 50px;
}
.fl_box li {
	max-width: 32%;
}
.rec_sp {
	background: #DEF8FC;
	padding: 50px 5% 30px;
	margin: 110px 0 30px;
}
.rec_sp h3 {
	color: #DE9049;
}
.rec_sp .pic {
	margin: -130px auto 15px;
	padding: 5px 0 0;
	width: 190px;
	text-align: center;
}
.rec_name,
.art_date {
	text-align: right;
}
.rec_reg h4 {
	background: #E8F5F9;
	padding: 10px 15px;
	color: #4C170A;
	margin: 0 0 15px;
}
.rec_reg p {
	padding: 0 15px 15px;
}
.rec_reg tr {
	display: flex;
	flex-direction: column;
}
.rec_reg th {
	text-align: left;
	text-align-last: left;
	background: #E8F5F9;
	border: none;
}
.rec_reg td {
	border: none;
	padding-bottom: 30px;
}
/*
お問い合わせ
___________*/


/*
個人情報保護方針
___________*/
.info_cont {
	padding: 30px 0;
}
.info_cont h2 {
	padding-top: 50px;
}
.info_cont h3 {
	text-align: left;
	border-bottom: 1px solid #02C9E8;
	padding: 20px 0 10px;
}
.table-wrap {
	width: 100%;
	overflow: auto;
}

@media screen and (min-width:1000px) {
	body {
		font-size: 100%;
	}
	table{
	}
	th,td {
		padding: 20px 10px;
	}
	h2 {
		font-size: 200%;
		padding-bottom: 30px;
	}
	h3 {
		font-size: 160%;
	}
	h4 {
		font-size: 130%;
	}
	.pc_elem {
		display: block;
	}
	.sp_elem {
		display: none!important;
	}
	#sp_gnav {
		display: none;
	}
	#head {
		width: 100%;
		height: auto;
		padding: 25px 30px;
		box-sizing: border-box;
	}
	#head h1 {
		padding: 0;
		width: 30%;
		height: auto;
		z-index: 499;
		position: relative;
	}
	#head h1 img {
		width: auto;
	}
	.head_in {
		max-width: 1300px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
	#pc_gnav {
		display: block;
		width: auto;
		width: 67%;
	}
	#pc_gnav ul {
		display: flex;
		justify-content: space-between;
	}
	#pc_gnav li {
		padding: 0 0 0 8px;
		box-sizing: border-box;
	}
	#pc_gnav ul a {
		color: #fff;
		text-decoration: none;
		padding-top: 10px;
		display: inline-block;
		font-weight: 500;
	}
	#pc_gnav li:last-of-type a {
		background: #DE9049;
		padding: 5px 20px;
		border-radius: 15px;
	}

	/*
	フッター
	_______________________*/
	#footer {
		background: url("img-layout/footer_bg.png") no-repeat center bottom/ cover;
		padding: 30px 5% 100px;
	}
	.footer_con_wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		/*background: #D9F8FC;*/
		background: rgba(217, 248, 252, .9);
		max-width: 1000px;
		box-sizing: border-box;
		padding: 30px 30px 0;
		margin: 0 auto;
		border-radius: 50px 50px 0 0;
	}
	.flow_con_wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		max-width: 1000px;
		box-sizing: border-box;
		padding: 30px 30px 0;
		margin: 0 auto;
		border-radius: 50px 50px 0 0;
	}
	.flow_con_wrap a {
		text-decoration: none;
	}
	.footer_contact {
		width: 44%;
	}
	.ft_inquiry {
		width: 54%;
		border: none;
		justify-content: space-between;
	}
	.ft_inquiry a {
		width: 48%;
	}
	.ft_telnum h2 {
		padding-bottom: 30px;
	}
	.ft_telnum_in div {
		padding-left: 2.5em;
	}
	.ft_telnum a {
		font-size: 280%;
	}
	.ft_telnum a::before {
		width: 30px;
		height: 39px;
		background: url("img-layout/telnum_ic.png") no-repeat center/ 30px 39px;
	}
	.footer_info_wrap {
		display: flex;
		background: rgba(217, 248, 252, .9);
		border-radius: 0 0 50px 50px;
		padding: 0 30px 30px;
		max-width: 1000px;
		margin: 0 auto;
		box-sizing: border-box;
	}
	.footer_info,
	.footer_sitemap {
		border-top: 2px solid #fff;
		box-sizing: border-box;
			padding: 20px 5% 10px;
		text-align: left;
		background: none;
	}
	.footer_info {
		width: 40%;
	}
	.footer_info h2 {
		text-align: left;
		width: 280px;
		margin: 0;
	}
	.footer_sitemap {
		width: 60%;
		display: flex;
		justify-content: space-around;
		padding-top: 30px;
	}
	
	/*___________ レイアウト設計 ___________ */
	.contents {
		padding: 30px 30px 50px;
		width: 100%;
		max-width: 1000px;
		margin: 0 auto;
		box-sizing: border-box;
	}
	.contents_in {
		padding: 0 50px 60px;
	}
	.cont_intro {
		font-size: 130%;
		text-align: center;
		letter-spacing: .15em;
	}
	/*
	ページコンテンツ共通
	_______________________*/
	.link_btn,
	.link_btn2 {
		max-width: 1000px;
		margin: 0 auto;
	}
	.link_btn a,
	.link_btn2 a {
		padding: 10px 35px;
		border-radius: 30px;
/*	    border: 2px solid #4c170a;*/
	}
	.map_wrap {
		padding-bottom: 550px;
	}
	/*
	ヘッダ（hero）
	_______________________*/
	.hero {
		height: 280px;
	}
	#about.hero {
		background: url("img-layout/aboutus_header_img.png") no-repeat center center/ cover;
	}
	#service.hero {
		background: url("img-layout/service_header_img.png") no-repeat center center/ cover;
	}
	#company.hero {
		background: url("img-layout/companyprofile_header_img.png") no-repeat center center/ cover;
	}
	#inquiry.hero {
		background: url("img-layout/inq_header_img.png") no-repeat center center/ cover;
	}
	/*
	top
	_______________________*/
	.swiper_wrap_wrap {
		padding: 0px;
		width: 100%;
		max-height: 700px;
		overflow: hidden;
	}
	.swiper_wrap {
		margin: 0;
	}
	.swiper_sp .swiper-slide img {
		display: block;
		width: 100%;
		height: auto;
		max-height: 700px;
		object-fit: cover;
		object-position: center center;
	}
	h2.top_hddr {
		position: relative;
		height: auto;
	}
		.swiper-pagination{
		/*	text-align: right;*/
			padding: 0 5%;
			box-sizing: border-box;
		}
	.swiper_orn {
		top: 2em;
		left: calc(50% - 500px);
		font-size: 290%;
		font-weight: 500;
		text-shadow: 0 0 8px rgba(0, 0, 0, 0.9);
	}
	.slide_logo {
		top: auto;
		bottom: 30px;
		right: 60px;
		width: 180px;
		z-index: 8;
	}
	.topnews {
		display: flex;
		justify-content: space-around;
	}
	.topnews .top_hddr {
		width: 12%;
	}
	.topnews ul {
		width: 66%;
	}
	.topnews .topnews_ttl {
		width: 22%;
		align-self: flex-end;
	}
	.topnews_ttl .link_btn {
		padding: 0;
	}
	.top_intro {
		padding: 50px 0 0px;
	}
	.top_cont {
		background-image: url("img-layout/top_cont_bg.png"),
		 linear-gradient(180deg, rgba(242, 250, 238, 0) 50px, rgba(242, 250, 238, 1) 50px);
		padding: 60px 30px 0;
		margin-top: -95px;
		z-index: 9;
		position: relative;
	}
	.top_cont_rev {
		padding-top: 80px;
	}
	.top_cont h2 {
		font-size: 220%;
	}
	.top_cont h3 {
		padding: 40px 0 20px;
	}
	.top_strg_wrap {
		display: flex;
		justify-content: space-between;
	}
	.top_strg {
		padding: 170px 0 10px;
		width: 31%;
	}
	.top_strg h3 {
		padding: 0;
		height: 80px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.top_strg h3 img {
		transform: scale(1.3);
	}
	.top_strg:nth-of-type(1) {
		background: url("img-layout/top_service_img_01.png") no-repeat center top/ 150px 150px;
	}
	.top_strg:nth-of-type(2) {
		background: url("img-layout/top_service_img_02.png") no-repeat center top/ 150px 150px;
	}
	.top_strg:nth-of-type(3) {
		background: url("img-layout/top_service_img_03.png") no-repeat center top/ 150px 150px;
	}
	.top_reason_hd {
		background: url("img-layout/top_reasons_img_01.png") no-repeat center top/ cover;
		max-width: 1300px;
		margin: 0 auto;
	}
	.top_reason_hd h2 {
		background: none;
		width: 1000px;
		margin: 0 auto;
		padding: 0 0 130px;
		min-height: 350px;
	}
	.top_reason_wrap {
		margin-top: -130px;
		width: 1000px;
		display: flex;
		justify-content: space-between;
	}
	.top_reason {
		width: 31%;
		padding: 100px 0 10px;
		border-radius: 8px;
	}
	.top_reason .pic {
		height: 200px;
	}
	.top_reason .pic img {
		width: auto;
	}
	.top_reason:nth-of-type(1) {
		background: #fff url("img-layout/num_1.png") no-repeat center 30px/ 70px;
	}
	.top_reason:nth-of-type(2) {
		background: #fff url("img-layout/num_2.png") no-repeat center 30px/ 70px;
	}
	.top_reason:nth-of-type(3) {
		background: #fff url("img-layout/num_3.png") no-repeat center 30px/ 70px;
	}
	.top_one {
		padding: 0 0 50px;
	}
	.top_one .link_btn {
		margin-top: -80px;
	}
	.top_serv_wrap {
		display: flex;
		justify-content: space-between;
	}
	.top_serv {
		width: 48%;
	}
	.top_serv p {
		padding: 0 15px;
	}
	.top_serv .link_btn {
		justify-content: center;
	}
	.link_flow {
		width: 650px;
		margin: 0 auto;
	}
	.link_flow a {
		padding: 25px 15px;
		font-weight: 600;
	}
	.link_flow a::before {
		width: 55px;
		height: 50px;
		margin-right: 1.5em;
		background: url("img-layout/bg_btn_flow.png") no-repeat center/ 55px 50px;
	}
	.top_recruit {
		margin: 0 0 100px;
		text-align: center;
		max-width: 100%;
	}
	/*
	村上保険について
	___________*/
	.about_intro,
	.company_intro {
		background: url("img-layout/aboutus_img_01_bg.png") no-repeat center bottom;
		padding: 30px 0;
	}
	.about_intro_ttl,
	.about_intro_txt {
		width: 1000px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0;
	}
	.about_intro_ttl,
	.company_intro_ttl {
		letter-spacing: .15em;
	}
	.about_intro_ttl p,
	.company_intro_ttl p {
		font-size: 130%;
		padding-top: 20px;
	}
	.about_intro_txt {	
		align-items: flex-start;
	}
	.about_intro_txt p {	
		width: 600px;
	}
	.about_trst {
		position: relative;
		width: 100%;
			padding-bottom: 30px;
	}
	.about_trst .pic {
		position: absolute;
		top: 0px;
		left: 48%;
		width: 50%;
		overflow: hidden;
		margin: 0;
		padding: 0;
	}
	.about_trst:nth-of-type(even) .pic {
		left: calc(50% - 675px);
	}
	.about_trst .pic img {
		width: 675px;
		max-width: none;
	}
	.about_trst .cont_wrap {
		width: 1000px;
		margin: 0 auto;
		padding: 50px 0;
	}
	.about_trst .cont {
		width: 630px;
		padding: 50px 200px 30px 50px;
		box-sizing: border-box;
	}
	.about_trst:nth-of-type(even) .cont {
		width: 630px;
		margin-left: 370px;
		padding: 50px 50px 30px 200px;
		box-sizing: border-box;
	}
	.about_trst h4 {
		padding: 0 0 20px;
	}
	.about_trst h4 img {
		width: auto;
	}
	.sub_body {
		padding: 50px 0;
	}
	.about_reason_wrap {
		width: 1000px;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.about_reason_wrap .top_reason {
		padding-bottom: 0;
	}
	.about_reason_wrap .top_reason p {
		background: #F2FAEE;
		margin: 0;
		padding: 15px;
	}
	.about_commu {
		background-image: url("img-layout/aboutus_img_09.png"),
		url("img-layout/aboutus_img_10.png");
		background-repeat: no-repeat, no-repeat;
		background-position: calc(50% + 190px) 170px, calc(50% - 380px) 450px;
	}
	.about_commu .cont {
		width: 480px;
		padding: 40px 0 0;
		min-height: 600px;
		font-size: 130%;
	}
	.more_wrap {
		display: flex;
		justify-content: space-between;
	}
	.more_blk {
		width: 48%;
		box-sizing: border-box;
		font-size: 120%;
	}
	/*
	保険サービス
	___________*/
	.flow_con_wrap {
		padding-top: 0;
	}
	.flow_con {
		width: 1000px;
		margin: 0 auto 30px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		border-radius: 15px;
		padding: 25px 15px;
		box-sizing: border-box;
	}
	.flow_con h3 {
		width: 34%;
		box-sizing: border-box;
		margin: 0;
			padding: 3px 0 3px 45px;
	}
	.flow_con p {
		width: 65%;
		margin: 0;
	}
	h3.n1 { background: url("img-layout/n01.png") no-repeat left center/ 40px; }
	h3.n2 { background: url("img-layout/n02.png") no-repeat left center/ 40px; }
	h3.n3 { background: url("img-layout/n03.png") no-repeat left center/ 40px; }
	h3.n4 { background: url("img-layout/n04.png") no-repeat left center/ 40px; }
	h3.n5 { background: url("img-layout/n05.png") no-repeat left center/ 40px; }
	/*
	会社概要
	___________*/
	.company_intro_in {
		width: 1000px;
		margin: 0 auto;
	}
	.company_intro_ttl {
		padding: 50px 0 0;
		min-height: 255px;
	}
	.company_intro .pic {
		max-width: none;
		float: right;
		margin: -250px 0 10px 30px;
	}
	.company_intro .cont {
		width: 1000px;
		
	}
	.presi_name {
		font-size: 120%;
		letter-spacing: .15em;
	}
	.com_philo {
		background-image: url("img-layout/top_cont_bg.png"),
		 linear-gradient(180deg, rgba(242, 250, 238, 0) 50px, rgba(242, 250, 238, 1) 50px);
		padding: 80px 30px 60px;
		margin: 0 0 30px;
		z-index: 9;
		position: relative;
		background-size: cover, cover;
	}
	.com_philo_con {
		display: flex;
		width: 1000px;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto;
	}
	.com_philo .pic {
		width: 216px;
		margin: 0px;
	}
	.com_philo p {
		width: 720px;
		margin: 0;
	}
	.com_philo h3 {
		text-align: left;
		margin: 20px 0 0;
		font-size: 180%;
	}
	.com_pic {
		text-align: center;
	}
	.com_table {
		width: 800px;
		margin: 0 auto 60px;
		font-size: 110%;
	}
	.com_table th {
		width: 20%;
		padding-left: 50px;
		box-sizing: border-box;
	}
	.com_table td {
		width: 80%;
		padding-left: 100px;
		box-sizing: border-box;
	}
	.access_info {
		display: flex;
	}
	.access_info .cont {
		padding-right: 80px;
	}
	.access_info h3 {
		font-size: 130%;
	}
	/*
	リクルート
	___________*/
	.recruit_intro_wrap {
		background: url("img-layout/recruit_img_01_p2.png") no-repeat calc(50% + 313px) bottom;
	}
	.recruit_intro {
		width: 1000px;
		margin: 0 auto;
		padding: 0;
	}
	.recruit_intro .pic {
		float: right;
		max-width: 470px;
			margin: 0px 0 0 20px;
	}
	.recruit_intro p {
		width: 540px;
	}
	.fl_box {
		padding: 30px 0 50px;
	}
	.fl_box li {
		max-width: 31%;
	}
	.rec_sp {
		padding: 50px 5% 30px;
		margin: 30px 0 60px;
	}
	.rec_sp_in {
		display: flex;
		justify-content: space-between;
		width: 1000px;
		margin: 0 auto;
	}
	.rec_sp:nth-of-type(odd) .rec_sp_in {
		flex-direction: row-reverse;
	}
	.rec_sp h3 {
		text-align: left;
		font-size: 180%;
	}
	.rec_sp .pic {
		margin: 0;
			padding: 5px 0 0;
		width: 368px;
			text-align: center;
	}
	.rec_sp .cont {
		width: 600px;
	}
	.rec_reg {
		padding-bottom: 30px;
	}
	.rec_reg tr {
		display: inherit;
	}
	.rec_reg th {
		text-align: justify;
		text-align-last: justify;
		padding: 20px;
		border: 2px solid #02C9E8;
	}
	.rec_reg td {
		border: 2px solid #02C9E8;
		padding: 20px;
	}
	#privacy_ad {
		text-align: center;
	}
}

@media screen and (min-width:1115px) {

}