@charset "utf-8";

/* Font Size(10px Base) */

/* ===================================================================

	Base

=================================================================== */

/* Main Visual
------------------------------------------------------------------- */

.visual_area {
	margin: 0;
	background-position: 0 25%;
	background-size: cover;
	width: 100%;
	height: 152px;
	background-image: url(../images/index/visual_01.jpg);
}

.home .visual_area {
	background-position: 50% 50%;
	height: 390px;
}

/* index
------------------------------------------------------------------- */

.home h2 {
	color: #001e43;
	font-size: 2.2rem;
	text-align: center;
}

.about_list {
	background-color: #f0eff1;
}

.about_list ul {
	overflow: hidden;
}

.about_list li {
	width: 239px;
	height: 200px;
	margin-right: 1px;
	float: left;
	position: relative;
}

.about_list li p {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 239px;
	height: 70px;
	text-indent: -9999px;
	overflow: hidden;
}

.about_list .about_list01 p {
	background: url(../images/index/ttl_about.png) no-repeat 0 0;
}

.about_list .about_list02 p {
	background: url(../images/index/ttl_history.png) no-repeat 0 0;
}

.about_list .about_list03 p {
	background: url(../images/index/ttl_attitude.png) no-repeat 0 0;
}

.about_list .about_list04 p {
	background: url(../images/index/ttl_company.png) no-repeat 0 0;
}

.about_list li a img {
	-webkit-transition: opacity .5s ease-out;
	-moz-transition: opacity .5s ease-out;
	-ms-transition: opacity .5s ease-out;
	transition: opacity .5s ease-out;
}

.about_list li a:hover img {
	opacity: .7;
	-webkit-opacity: .7;
	-moz-opacity: .7;
	filter: alpha(opacity=70);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=70)"; /* IE 8 */
}

.index_about {
	background-position: 20% 50%;
	background-size: cover;
	background-image: url(../images/index/bg_history.jpg);
}
.index_about .catch {
	padding-left: 20px;
}
.index_about .anniversary {
    padding:20px 0 0 20px;
}

.insurance_list {
	background: url(../images/index/bg_insurance.png) repeat 0 0;
}

.insurance_list .sub_ttl {
	text-align: center;
	color: #666;
	font-size: 1.2rem;
}

.insurance_list ul {
	width: 768px;
	margin: 15px auto;
	border-top: 1px solid #eee;
}

.insurance_list ul li {
	width: 256px;
	height: 165px;
	float: left;
	overflow: hidden;
	text-align: center;
	background-color: #FFF;
	border-right: 1px solid #eee;
	border-bottom: 1px solid #eee;
}

.insurance_list ul li:nth-child(3n+1) {
	border-left: 1px solid #eee;
}

.insurance_list .ins_list01 img,
.insurance_list .ins_list02 img,
.insurance_list .ins_list03 img,
.insurance_list .ins_list04 img,
.insurance_list .ins_list05 img {
	width: 60px;
}

.insurance_list .online_name  {
	line-height: 1.4;
	padding: 6px 0 0 0;
}

.insurance_list li span {
	display: block;
	color: #999;
	font-size: 1.1rem;
	padding: 5px 0 0 0;
}

.insurance_list a {
	text-decoration: none;
	display: block;
	height: 165px;
	padding-top: 38px;
}

.ins_list01 a {
    padding-top: 10px !important;
}

.ins_list02 a,
.ins_list04 a {
    padding-top: 25px !important;
}

.ins_list01 .qrcode {
    overflow: hidden;
    margin-top: 7px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.ins_list01 .qrcode > p {
    text-align: center;
    font-size: 1.1rem;
    background: #ededed;
    width: 120px;
    padding: 5px;
    line-height: 1.2;
    border-radius: 4px;
    margin: 0;
    flex: 0 0 auto;
}

.ins_list01 .qrcode img {
    display: block;
    width: 50px;
    margin: 0;
    flex: 0 0 auto;
}

.insurance_list li span .notes {
	display: inline;
	color: #FF9611;
	font-size: 1.1rem;
}

.insurance_list .guideline {
	font-size: 1.2rem;
	color: #aaa;
	width: 768px;
	margin: 0 auto;
}

.news_list_area {
	background-color: #f0eff1;
}

.news_list_area h2 {
	margin-bottom: 15px;
}

.news_list li {
	border-bottom: solid 1px #ddd;
	position: relative;
}

.home .news_list li {
	border-bottom: solid 1px #fff;
}
.home .news_list .news_list_more{
    text-align: center;
}
.home .news_list_more a{
    display: block;
	padding: 10px;
	background: #0d3567 url(../images/common/icon_arrow_subnav.png) no-repeat 94% center;
	background-size: 4px 7px;
	color: #fff;
	letter-spacing: 0.1em;
	-webkit-transition: 0.5s linear;
	-moz-transition: 0.5s linear;
	transition: 0.5s linear;
    margin: 20px auto 0;
    width: 100%;
    max-width: 260px;
}
.home .news_list_more a:hover {
	text-decoration: none;
	background-color: #001e43;
}

.news_list li > .news_list_line {
	padding: 20px 10px;
	font-size: 1.4rem;
	display: block;
}

.news_list li > a {
	color: #03152b;;
}

.news_list li > a:hover {
	text-decoration: none;
	color: inherit;
	background: #eef4fa;
}

.news_list_line > .date {
	padding-right: 40px;

}


/* About
------------------------------------------------------------------- */

.about .about_company .read_catch {
	background: url(../images/about/about_visual_01.jpg) no-repeat 0 0;
	height: 514px;
	color: #fff;
	text-align: center;
	padding: 0 45px;
	margin-bottom: 20px;
}

.about .about_company h3 {
	padding-top: 370px;
	font-size: 3.8rem;
	margin-bottom: 5px;
}

.about .about_company .sub {
	font-size: 1.8rem;
	text-align: center;
	padding-bottom: 25px;
	margin-bottom: 25px;
}

.about .about_company .comment {
	margin: 0 0 30px 0;
	text-align :left;
	padding: 0;
	font-size: 1.5rem;
	line-height: 1.8;
}

.about .introduce h3 {
	padding: 0 0 12px 23px;
	margin-bottom: 15px;
	border-bottom: 1px solid #d4dbe4;
	background: url(../images/about/icon_diamond.png) no-repeat left 7px;
	background-size: 17px 12px;
}

.about .introduce ul {
	margin-bottom: 20px;
}

.about .introduce ul:last-child {
	margin-bottom: 0;
}

.about .introduce li {
	width: 310px;
	margin-right: 15px;
	float: left;
	color: #0e50a2;
}

.about .introduce li img {
	width: 100%;
	height: auto;
}

.about .introduce li:last-child {
	margin-right: 0;
}

.about .introduce li img {
	margin-bottom: 5px;
}

/* History
------------------------------------------------------------------- */

.history .timeline {
	padding-bottom: 30px;
}

.history .syowa,
.history .heisei,
.history .reiwa {
	background: url(../images/about/ttl_01.png) no-repeat left center;
	text-indent: -9999px;
	overflow: hidden;
	height: 48px;
}

.history .syowa {
	border-top: 1px dotted #ccd3df;
}

.history .heisei {
	background: url(../images/about/ttl_02.png) no-repeat left center;
}

.history .reiwa {
	background: url(../images/about/ttl_03.png) no-repeat left center;
}

.history table {
	width: 100%;
	position: relative;
}

.history .timeline th {
	background-color: #dae0e9;
	border-bottom: 1px solid #fff;
	width: 171px;
	text-align: center;
	padding: 12px 0;
}

.history .timeline td {
	border-bottom: 1px dotted #ccd3df;
	padding: 12px 325px 12px 20px;
}

.history .timeline .month {
	background-color: #edf0f3;
	border-bottom: 1px solid #fff;
	width: 49px;
	text-align: center;
	padding: 20px 0;
}

.history .timeline tr:last-child th,
.history .timeline tr:last-child td.month {
	border-bottom: 1px solid #dae0e9;
}

.history td span {
	display: block;
	background-color: #fff;
	text-align: center;
	font-size: 1.2rem;
}

.history td .photo_01 {
	width: 229px;
	height: 129px;
	position: absolute;
	top: -31px;
	right: 6px;
}

.history td .photo_01 span {
	text-align:right;
}

.history td .photo_02 {
	width: 164px;
	height: 190px;
	position: absolute;
	top: 121px;
	right: 115px;
}

.history td .photo_03 {
	width: 306px;
	height: 198px;
	position: absolute;
	top: 346px;
	right: 0;
}

.history td .photo_04 {
	width: 190px;
	height: 118px;
	position: absolute;
	top: 556px;
	right: 92px;
}

.history td .photo_05 {
	width: 253px;
	height: 154px;
	position: absolute;
	top: 500px;
	right: 19px;
}

.history td .photo_06 {
	width: 144px;
	position: absolute;
	top: -326px;
	right: 96px;
}

.history td .photo_07 {
	width: 230px;
	position: absolute;
    top: -90px;
	right: 11px;
}

.history td .photo_07 span {
	text-align:right;
}

.history td .photo_01 img,
.history td .photo_02 img,
.history td .photo_03 img,
.history td .photo_04 img,
.history td .photo_05 img,
.history td .photo_06 img,
.history td .photo_07 img {
	max-width: 100%;
}

/* Attitude
------------------------------------------------------------------- */

.attitude .point_detail {
	padding: 0 0 25px;
	margin-bottom: 30px;
	border-bottom: 1px solid #d4dbe4;
}

.attitude .point_detail .ttl {
	font-size: 3rem;
	color: #000;
	margin-bottom: 15px;
}

.attitude .point_detail .ttl span {
	display: inline-block;
}

.attitude .point_detail .comment {
	width: 460px;
	float: left;
	padding-top: 15px;
	background: url(../images/about/bg_attitude.png) no-repeat 0 0;
}

.attitude .point_detail .comment p {
	line-height: 1.8;
}

.attitude .point_detail .comment .ttl {
	line-height: 1.4;
}


.attitude .point_detail .photo {
	width: 500px;
	float: right;
}

.attitude .lf .comment {
	width: 480px;
	float: right;
	margin-bottom: 20px;
}

.attitude .lf .photo {
	width: 460px;
	float: left;
	padding-top: 20px;
}

.attitude .point_03 {
	padding-bottom: 0;
	border-bottom: none;
	margin-bottom: 0;
}

.attitude .point_03 .comment {
	width: 500px;
	float: left;
}

.attitude .point_03 .photo {
	width: 460px;
	float: right;
}

/* anniversary
------------------------------------------------------------------- */

.anniversary .contents h1 img{
    width: 100%;
}
.anniversary .sub-nav{
    background: url(../images/anniversary/bg-80th.jpg) repeat top center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 28vw;
    max-height: 180px;
    background-size: 50%;

}
.anniversary .sub-nav .sub-nav--item img.sp-none{
   width: 402px;
}
.anniversary .sub-nav .sub-nav--item img.pc-none{
    width: 280px;
 }

/* Service
------------------------------------------------------------------- */

.service .service_list .ttl {
	margin-bottom: 30px;
}

.service .service_list h1 {
	color: #001e43;
	font-size: 3rem;
	width: 260px;
	float: left;
}

.service .service_list .sub {
	width: 700px;
	float: right;
}

.service .service_list h1:after {
	content: '　／';
}

.service .service_list .insurance{
	display: flex;
	flex-wrap: wrap;
}
.service .service_list .detail {
	width: 312px;
	margin: 0 12px 40px 0;
	text-align: center;
}

.service .service_list .detail:nth-of-type(3),
.service .service_list .detail:last-of-type {
	margin-right: 0;
}

.service .service_list .detail dt {
	margin-bottom: 15px;
	font-size: 1.6rem;
	color: #001e43;
	font-weight: bold;
}

.service .service_list .detail dt img {
	margin-bottom: 15px;
}

.service .service_list .detail dd {
	text-align: left;
	padding: 0 5px;
}

.service .individual {
	background: url(../images/service/bg_service.png) no-repeat bottom center;
	background-size: 49px 12px;
	padding-bottom: 12px;
	margin-bottom: 45px;
}

/* Company
------------------------------------------------------------------- */

.company .greeting_detail p {
	width: 960px;
	padding-right: 20px;
	float: left;
}

.company .greeting_detail .lead {
	color: #1c4373;
	font-size: 2.6rem;
	margin-bottom: 20px;
}

.company .greeting_detail .lead span {
	display: inline-block;
}

.company .greeting_detail .comment {
	line-height: 1.8;
	margin-bottom: 20px;
}

.company .greeting_detail .name {
	text-align: right;
	color: #03152b;
}

.company .greeting_detail .name span {
	font-size: 2rem;
}

.company .greeting_detail img {
	width: 230px;
	float: right;
	text-align: right;
}

.company .outline table {
	width: 100%;
	border-top: 1px solid #c1cad6;
	border-bottom: 1px solid #c1cad6;
}

.company .outline th {
	background-color: #d9e1eb;
	color: #03152b;
	width: 170px;
	text-align: center;
	vertical-align: middle;
	padding: 20px 15px;
	border-bottom: 1px solid #fff;
}

.company .outline td {
	color: #03152b;
	padding: 20px 10px 20px 20px;
	border-bottom: 1px solid #c1cad6;
}

.company .outline td h3 {
	font-weight: bold;
}

.company .outline td.subttl {
	padding: 10px;
	background-color: #edf0f3;
	width: 140px;
	text-align: center;
	border-bottom-color: #fff
}

.company .outline td.subcont {
	border-bottom-style: dotted;
}

.company .outline td.last {
	border-bottom: 1px solid #c1cad6;
}

.company .outline td ul {
	margin-bottom: 15px;
}

.company .outline td li {
	width: 380px;
	float: left;
	text-indent: 0;
	padding: 3px 18px;
	background: url(../images/common/icon_diamond.png) no-repeat left 1.1rem;
	background-size: 12px 8px;
}

.company #map_canvas {
	width: 100%;
	height: 400px;
	margin-bottom: 5px;
}

.company .link {
	font-size: 1.1rem;
	text-align: right;
}

.company .route {
	background: url(../images/about/icon_diamond.png) no-repeat left 0.5rem;
	background-size: 17px 12px;
	margin-top: 5px;
	padding-left: 22px;
}

/* Voice
------------------------------------------------------------------- */

.voice .voice_detail {
	padding-bottom: 35px;
	margin-bottom: 35px;
	border-bottom: 1px solid #d4dbe4;
}

.voice img {
	width: 320px;
	float: right;
}

.voice .lf img {
	float: left;
}

.voice .ttl,
.voice .comment,
.voice .name {
	width: 610px;
	float: left;
	margin-right: 30px;
}

.voice .lf .ttl,
.voice .lf .comment,
.voice .lf .name {
	margin-right: 0;
	margin-left: 30px;
	float: right;
}

.voice .ttl {
	font-size: 2.4rem;
	color: #024393;
	margin-bottom: 25px;
}

.voice .ttl span {
	display: block;
}

.voice .name {
	margin-top: 20px;
	text-align: right;
	font-weight: bold;
}

.voice_detail:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

/* Faq
------------------------------------------------------------------- */

.faq .btn_ctrl {
	margin: 5px 0 25px;
	padding-bottom: 25px;
	border-bottom: 1px solid #e8e7e8;
}

.faq .btn_ctrl ul {
	width: 520px;
	margin: 0 auto;
}

.faq .btn_ctrl li {
	width :230px;
	float: left;
	margin: 0 15px;
	padding: 10px 10px 10px 35px;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
	cursor: pointer;
	line-height: 1.2;
	-webkit-transition: 0.5s linear;
	-moz-transition: 0.5s linear;
	transition: 0.5s linear;
}

.faq .btn_ctrl li.open {
	background: #0d3567 url(../images/faq/icon_open.png) no-repeat 10px center;
	background-size: 27px 28px;
}

.faq .btn_ctrl li.open:hover {
	background-color: #062853;
}

.faq .btn_ctrl li.close {
	background: #6f7a88 url(../images/faq/icon_close.png) no-repeat 10px center;
	background-size: 27px 28px;
}

.faq .btn_ctrl li.close:hover {
	background-color: #636f7e;
}

.faq .faq_list dl {
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px dotted #bbc3cd;
}

.faq .faq_list dl:last-child {
	margin-bottom: 30px;
}

.faq .faq_list dt {
	font-size: 1.5rem;
	color: #00458c;
	padding: 10px 0 10px 55px;
	background: url(../images/faq/icon_question.png) no-repeat left 0.8rem;
	background-size: 44px 30px;
	cursor: pointer;
}

.faq .faq_list dd {
    background-color: #dfeaf8;
    padding: 15px 20px;
    margin-left: 55px;
    overflow: hidden;
    transition: max-height 0.5s ease-out, padding 0.5s ease-out;
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0
}
.faq_list dd.open {
    max-height: 1000px; /* 適切な最大値に調整 */
    padding-top: 15px;
    padding-bottom: 15px;
}
/* Contact
------------------------------------------------------------------- */

.form_table dt {
	width: 210px;
	padding: 20px 15px;
	float: left;
}

.form_table dt span {
	background-color: #d3463f;
	color: #fff;
	font-size: 1rem;
	padding: 3px;
	margin-left: 20px;
}

.form_table dd {
	padding: 20px 15px 20px 230px;
	border-bottom: 1px solid #d4dbe4;
}

.form_table dd dt {
	width: 100px;
	padding: 0 0 20px 0;
}

.form_table dd dd {
	border-bottom: none;
	padding: 0 15px 20px 100px;
}

.form_table dd dd:last-child {
	padding-bottom: 0;
}

.form_table input[type=text],
.form_table textarea,
.form_table select,
.form_table option {
	line-height: 1;
	border: solid 1px #d2d2d2;
	box-sizing: border-box;
	outline: none;
}

.form_table input[type=text] {
	width: 200px;
	margin-right: 20px;
	padding: 5px;
}

.form_table #zip {
	width: 130px;
}

.form_table #address1,
.form_table #address2,
.form_table #email,
.form_table #email_conf {
	width: 300px;
}

.form_table .mail_confirm {
	margin: 5px 0;
}

.form_table #email_conf {
	margin-bottom: 5px;
}

.form_table input[type=text]:focus,
.form_table textarea:focus,
.form_table select:focus,
.form_table option:focus {
	background: #FFF8E1;
}

.form_table input[type=checkbox] {
	margin-right: 10px;
}

.commentarea1 {
	padding: 15px 10px;
	width: 400px;
	height: 200px;
}

.form_table dd span {
	color: #969396;
}

.submit{
	margin: 30px 0 0 0;
	text-align: center;
}

.submit input[type=submit].send,
.submit input[type=submit].back {
	border: none;
	margin-top: 10px;
	padding: 10px 0;
	width: 250px;
	outline: none;
	cursor: pointer;
	-webkit-transition: 0.5s linear;
	-moz-transition: 0.5s linear;
	transition: 0.5s linear;
}

.submit input[type=submit].send {
	color: #fff;
	background-color: #0d3567;
}

.submit input[type=submit].send:hover {
	background-color: #001e43;
}

.submit input[type=submit].back {
	color: #666;
	background-color: #ddd;
}

.submit input[type=submit].back:hover {
	background-color: #aaa;
}

.done_txt {
	padding: 80px 40px;
	font-size: 1.8rem;
	text-align: center;
	border: solid 3px #eee;
}


/* News
------------------------------------------------------------------- */

/* Page Count */

.page_counter {
	margin: -10px 0 0 0;
	padding: 0;
	text-align: right;
}

/* Pager */

.entry_list_pager {
	margin: 20px 0 0 0;
	padding: 0;
	width: 100%;
}

.entry_list_pager ul {
	text-align: center;
}

	.entry_list_pager ul li {
		display: inline-block;
	}

	.entry_list_pager ul li span,
	.entry_list_pager ul li a {
		padding: 10px 5px;
		text-align: center;
		text-decoration: none;
		color: #444;
		border: solid 1px #cfcfcf;
		background: #fff;
		box-sizing: border-box;
		display: inline-block;
		width: auto;
		min-width: 45px;
	}

	.entry_list_pager ul li span {
		font-weight: bold;
		color: #fff;
		border: solid 1px #001E43;
		background: #001E43;
	}

	.entry_list_pager ul li a:hover {
		background: #eef4fa;
	}

/* Topics Article
---------------------------------------------------------------------*/

.news_article {
	overflow: hidden;
	position: relative;
}

.news_article > .date {
	margin: 0 0 -10px 0;
	text-align: right;
}

/* Editor CSS */

.article_body strong {font-weight: bold;}

.article_body p,
.article_body ol,
.article_body ul,
.article_body blockquote {
	margin: 1.5em 0 0 0;
	font-size: 1.6rem;
}

.article_body ol li {
	margin:0 0 0 1.7em;
	list-style-type:decimal;
}

.article_body ul li {
	margin: 0 0 0 1.7em;
	list-style-type:disc;
}

.article_body blockquote {
	padding:25px;
	color:#666;
	border-radius:3px;
	border: solid 1px #f8f0cf;
	background:#FFFCF0;
}

.article_body blockquote p:last-of-type,
.article_body blockquote ol:last-of-type,
.article_body blockquote ul:last-of-type {
	margin: 0;
}

.article_body img {
	max-width: 100%;
}


/* Article bottom */

.news_list_back {
	margin: 50px 0 0 0;
	text-align: center;
}

.btn_list_back {
	margin: 0 auto;
	box-sizing: border-box;
	display: table;
}

.btn_list_back:hover {
	text-decoration: none;
}

.btn_list_back > span {
	padding: 15px 30px;
	border: 1px solid #001e43;
	background: #fff url(../images/common/icon_arrow_right.png) no-repeat 8px center;
	background-size: 6px 12px;
	width: 250px;
	height: 40px;
	display: table-cell;
}

.btn_list_back > span:hover {
	background: #eef4fa url(../images/common/icon_arrow_right.png) no-repeat 8px center;
	background-size: 6px 12px;
}

/* Policy
------------------------------------------------------------------- */

.policy .lead {
	margin-bottom: 20px;
}

.policy section {
	padding-bottom: 25px;
	margin-bottom: 25px;
	border-bottom: 1px solid #d4dbe4;
}

.policy section:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

.policy section h3 {
	color: #0e50a2;
	font-size: 1.8rem;
	margin-bottom: 10px;
}

.policy .lineup li {
	padding: 5px 0;
	padding-left: 2em;
	text-indent: -2em;
}

.policy section section {
	margin-top: 20px;
}

.policy h4 {
	font-weight: bold;
	color: #03152b;
	margin-bottom: 5px;
}

.policy .lineup {
	padding: 30px 0 5px 0;
}

.policy .lineup ul,
.policy .pickup {
	background-color: #eff2f4;
	padding: 10px 20px;
}

.policy .policy_block dl,
.policy .policy_block_style2 li{
	margin:10px 0;
}

.policy .policy_block dl ul,
.policy .policy_block ol{
	margin-left:20px;
}

.policy .policy_block_style2{
	margin-left: 1.8em;
	text-indent: -1.8em;
}

.policy .policy_block dl ul li{
	list-style-type: disc;
}

.policy .date{
	margin-top:10px;
	text-align: right;
}

.policy .policy_block:first-of-type{
	margin:20px 0;
}

.policy .policy_block{
	margin-top:20px;
}

.policy  .policy_block ol li{
	list-style-type: decimal;
}

.policy .lineup li {
	color: #00458c;
	width: 460px;
	float: left;
	text-indent: 0;
	padding: 5px 18px;
	background: url(../images/common/icon_diamond.png) no-repeat left 1.1rem;
	background-size: 12px 8px;
}

.policy .pickup dt {
	width: 80px;
	float: left;
	padding: 5px 0;
}

.policy .pickup dt:after {
	content: '　:';
}

.policy .pickup dd {
	padding: 5px 0 5px 80px;
}

.policy .pickup dd span {
	display: inline-block;
}

.policy .pickup dd a {
	text-decoration: underline;
}

/* Compliance
------------------------------------------------------------------- */

.compliance section .lead {
	color: #1c4373;
	font-size: 1.8rem;
	margin-bottom: 30px;
}

.compliance section h3 {
	font-size: 1.8rem;
	color: #0e50a2;
}

.compliance section li {
	margin: 8px 0;
	padding-left: 2em;
	text-indent: -2em;
}

/* Sitemap
------------------------------------------------------------------- */

.sitemap .fl {
	width: 440px;
	margin: 0 20px;
	float: left;
}

.sitemap .fr {
	width: 440px;
	margin: 0 20px;
	float: right;
}

.sitemap .sitemap_list li {
	padding: 20px 0 20px 20px;
	border-bottom: 1px solid #d4dbe4;
	font-size: 1.6rem;
	background: url(../images/common/icon_diamond.png) no-repeat left 2.9rem;
	background-size: 12px 8px;
}

.sitemap .sitemap_list li li {
	border-bottom: 1px dotted #d4dbe4;
}

.sitemap .sitemap_list li li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.sitemap a {
	-webkit-transition: 0.5s linear;
	-moz-transition: 0.5s linear;
	transition: 0.5s linear;
}

.sitemap a:hover {
	text-decoration: none;
}

/* ===================================================================

	SP

=================================================================== */

@media only screen and (max-width: 767px) {

/* Main Visual
------------------------------------------------------------------- */

.visual_area {
	margin: 0;
	background-position: 25% 100%;
	background-size: cover;
	width: 100%;
	height: 120px;
	background-image: url(../images/index/visual_sp_01.jpg);
	border-bottom: 5px solid #001e43;

}

.home .visual_area {
	background-position: 25% 0;
	/* height: 197px; */
    height:287px;
}
.home .head_body h1 .header_anniversary {
	padding-top: 1rem;
}
.home .head_body h1 .header_anniversary a img {
    max-width: 200px;
}

/* index
------------------------------------------------------------------- */

.home h2 {
	font-size: 2.4rem;
}

.about_list {
	background-color: #fff;
}

.about_list .contents_inner {
	padding: 0;
}

.about_list ul {
	border-bottom: 3px solid #001e43;
	border-left: 1px solid #001e43;
	border-right: 1px solid #001e43;
}

.about_list li {
	width: 100%;
	height: 90px;
	float: none;
	border-bottom: 1px solid #001e43;
}

.about_list li a {
	display: block;
	background: url(../images/common/icon_arrow_right.png) no-repeat right center;
	background-size: 8px 15px;
	margin-right: 10px;
}

.about_list li img {
	width: 122px;
	height: 89px;
	vertical-align: middle;
}

.about_list li p {
	position: static;
	background: none;
	color: #001e43;
	text-indent: 0;
	width: auto;
	height: auto;
	display: inline-block;
	vertical-align: middle;
	padding-left: 10px;
}

.about_list .about_list01 p {
	background: none;
}

.about_list .about_list02 p {
	background: none;
}

.about_list .about_list03 p {
	background: none;
}

.about_list .about_list04 p {
	background: none;
}

.index_about {
	background-image: none;
	background-color: #f5f7fa;
	text-align: center;
}

.index_about .contents_inner {
	padding: 0;
}

.index_about img {
	max-width: 100%;
}

.index_about .comment {
	padding: 40px 10%;
}

.index_about .catch {
	font-size: 1.8rem;
	line-height: 1.8;
}
.index_about .anniversary {
    padding:0 0 40px;
}


.index_about .company_name {
	margin-top: 20px;
	text-align: right;
}

.index_about span {
	display: inline-block;
}

.insurance_list {
}

.insurance_list .sub_ttl {
	font-size: 1.4rem;
}

.insurance_list ul {
	width: 95%;
	border: 1px solid #eee;
}

.insurance_list ul li {
	width: 100%;
	height: auto;
	float: none;
	text-align: left;
	display: block;
	text-indent: 0;
	background-color: #FFF;
	border-bottom: 1px solid #eee;
}

.insurance_list ul li:last-child {
	border-bottom: none;
}

.insurance_list .ins_list01 img,
.insurance_list .ins_list02 img,
.insurance_list .ins_list03 img,
.insurance_list .ins_list04 img,
.insurance_list .ins_list05 img {
	margin-right: 20px;
}

.insurance_list .online_name  {
	display: table-cell;
	vertical-align: middle;
}

.insurance_list li span {
	display: block;
	color: #999;
	font-size: 1.4rem;
}

.insurance_list a {
	text-decoration: none;
	display: block;
	padding: 15px;
	height: auto;
	display: table !important;
}

.ins_list01 a,
.ins_list02 a,
.ins_list04 a {
    padding-top: 10px !important;
}

.insurance_list .guideline {
	padding: 0 15px;
	width: 100%;
}

.news_list {
	background-color: #fff;
}

.news_list h2 {
}

.news_list li {
	border-bottom: 1px solid #e7e7e7;
	padding: 0;
	position: relative;
	font-size: 1.6rem;
}

.news_list .date {
	display: block;
}

.news_list .news_list_line {
	padding: 15px 20px !important;
	display: block;
	border-bottom: solid 1px #ccc;
	background-size: 8px 15px;
	padding-right: 40px;
}

.news_list a.news_list_line {
	display: block;
	border-bottom: solid 1px #ccc;
	background: url(../images/common/icon_arrow_right.png) no-repeat right 10px top 50%;
	background-size: 8px 15px;
	padding-right: 40px;
}

.news_list a:hover {
	background: url(../images/common/icon_arrow_right.png) no-repeat right 10px top 50%;
}

.news_list .more {
	display: none;
}

.news_list .more a img {
	width: 70px;
	height: 24px;
}

/* About
------------------------------------------------------------------- */

.about .about_company .read_catch {
	background: none;
	height: auto;
	padding: 0;
}

.about .about_company img {
	max-width: 100%;
	height: auto;
}

.about .about_company h3 {
	display: none;
}

.about .about_company .sub {
	display: none;
}

.about .about_company .comment {
	padding: 0 15px;
	color: #001e43;
	line-height: 1.4;
	font-size: 1.8rem;
	margin: 20px 0 20px;
}

.about .introduce li {
	text-align: center;
	width: auto;
	height: auto;
	margin: 0 0 20px 0;
	float: none;
	font-size: 1.6rem;
}

.about .introduce img {
	max-width: 465px;
	height: auto;
	display: block;
	margin: 0 auto;
}

/* History
------------------------------------------------------------------- */

.history .timeline {
	padding-bottom: 0;
}

.history .syowa,
.history .heisei,
.history .reiwa {
	background: none;
	text-indent: 0;
	text-align: center;
	height: auto;
	background-color: #1c4373;
	color: #fff;
	padding: 10px;
	font-size: 1.6rem;
}

.history .syowa {
	border-top: none;
}

.history table {
	max-width: 100%;
	position: relative;
}

.history .timeline th {
	display: block;
	width: 100%;
	padding: 5px 0;
	border-bottom: none;
	font-size: 1.6rem;

}

.history .timeline td {
	display: block;
	padding: 5px 0 20px;
	width: 100%;
	border-bottom: none;

}

.history .timeline .month {
	width: 100%;
	padding: 0;
	border-bottom: none;
	line-height: 2.2;
	font-size: 1.6rem;
}

.history .timeline tr:last-child th,
.history .timeline tr:last-child td.month {
	border-bottom: 1px solid #dae0e9;
}

.history td .photo_01,
.history td .photo_02,
.history td .photo_05,
.history td .photo_06,
.history td .photo_07 {
	position: static;
	width: 280px;
	height: auto;
	text-align: center;
	margin: 10px auto 0;
}

.history td .photo_03,
.history td .photo_04 {
	display: none;
}

.history td .photo_01 span,
.history td .photo_02 span,
.history td .photo_05 span,
.history td .photo_07 span {
	text-align: center;
}

/* Attitude
------------------------------------------------------------------- */

.attitude .point_detail .ttl {
	text-align: center;
}

.attitude .point_detail .comment {
	width: 100%;
	float: none;
	background: url(../images/about/bg_attitude.png) no-repeat center top;
	margin-bottom: 20px;
}

.attitude .point_detail .photo {
	width: 100%;
	float: none;
	text-align: center;
}

.attitude .point_detail .photo img {
	max-width: 100%;
}

.attitude .lf .comment {
	width: 100%;
	float: none;
}

.attitude .lf .photo {
	width: 100%;
	float: none;
	padding-top: 0;
	text-align: center;
}

.attitude .point_03 .comment {
	width: 100%;
	float: none;
}

.attitude .point_03 .photo {
	width: 100%;
	float: none;
	text-align: center;
}

/* Service
------------------------------------------------------------------- */

.service .service_list .ttl {
	margin-bottom: 20px;
}

.service .service_list h1 {
	width: 100%;
	float: none;
	text-align: center;
	margin-bottom: 10px;
}

.service .service_list .sub {
	width: 100%;
	float: none;
}

.service .service_list h1:after {
	content: '';
}

.service .insurance {
	margin-right: 0;
}

.service .service_list .detail {
	width: 100%;
	float: none;
	margin: 0 0 30px 0;
	padding-bottom: 30px;
	border-bottom :1px solid #d4dbe4;
}

.service .service_list .detail:last-child {
	border-bottom: none;
	padding-bottom: 10px;
}

.service .service_list .detail dt {
	margin-bottom: 15px;
	font-size: 1.6rem;
	color: #001e43;
	font-weight: bold;
}

.service .service_list .detail dt img {
	margin: 0 auto 15px;
	display: block;
}


/* Company
------------------------------------------------------------------- */

.company .greeting_detail p {
	width: 100%;
	padding-right: 0;
	float: none;
}

.company .greeting_detail .lead {
	text-align: center;
}

.company .greeting_detail .name {
	text-align: right;
	color: #03152b;
}

.company .greeting_detail .name span {
	font-size: 2rem;
}

.company .greeting_detail img {
	max-width: 100%;
	float: none;
	text-align: right;
	display: block;
	margin: 0 auto 20px;
}

.company .outline table {
	border: none;
}

.company .outline th,
.company .outline td,
.company .outline td.subttl,
.company .outline td.subcont {
	display: block;
	width: 100%;
	border: none;
	padding: 10px 20px;
	text-align: left;
}

.company .outline td.subcont span {
	display: inline-block;
}

.company .outline td li {
	width: 100%;
	float: none;
	background-position: left 1rem;
}

/* Voice
------------------------------------------------------------------- */

.voice img {
	float: none;
	display: block;
	margin: 0 auto 20px;
	max-width: 100%;
}

.voice .lf img {
	float: none;
}

.voice .ttl,
.voice .comment,
.voice .name {
	width: 100%;
	float: none;
	margin-right: 0;
}

.voice .lf .ttl,
.voice .lf .comment,
.voice .lf .name {
	margin-right: 0;
	margin-left: 0;
	float: none;
}

.voice .ttl {
	margin-bottom: 15px;
	text-align: center;
	font-size: 2rem;
}

.voice .ttl span {
	display: inline-block;
}

/* Faq
------------------------------------------------------------------- */

.faq .btn_ctrl {
	padding-bottom: 0;
}

.faq .btn_ctrl ul {
	width: 100%;
	margin: 0 auto;
}

.faq .btn_ctrl li {
	width :280px;
	margin: 0 auto 20px;
	float: none;
}

.faq .faq_list dt {
	font-size: 1.6rem;
}

/* Contact
------------------------------------------------------------------- */

.form_table {
	border-bottom: 1px solid #d4dbe4;
}

.form_table dt {
	width: 100%;
	padding: 10px 15px;
	float: none;
	background-color: #d4dbe4;
	font-weight: bold;
}

.form_table dt span {
	margin-left: 10px;
}

.form_table dd {
	padding: 15px 0 30px;
	border-bottom: none;
}

.form_table dd dt {
	width: 100px;
	padding: 0 0 10px 0;
	background-color: #fff;
}

.form_table dd dd {
	border-bottom: none;
	padding: 0 0 20px 0;
}

.form_table input[type=text],
.form_table textarea,
.form_table select,
.form_table option {
	width: 100%;
	padding: 10px;
}

.form_table input[type=text] {
	width: 100%;
	margin: 0 0 5px 0;
}

.form_table select {
	height: 40px;
}

.form_table #zip,
.form_table #address1,
.form_table #address2,
.form_table #email,
.form_table #email_conf,
.commentarea1 {
	width: 100%;
}

.done_txt {
	padding: 40px 20px;
	font-size: 1.6rem;
}

/* Policy
------------------------------------------------------------------- */

.policy .lineup li {
	width: 100%;
	float: none;
}

.policy dt {
	width: 100%;
	float: none;
	padding: 0;
	font-weight: bold;
}

.policy dt:after {
	content: '';
}

.policy dd {
	padding: 5px 0 10px 0;
	border-bottom: 1px solid #fff;
	margin-bottom: 10px;
}

.policy dd:last-child {
	border-bottom: none;
	padding-bottom: 0;
	border-bottom: 0;
}

/* Sitemap
------------------------------------------------------------------- */

.sitemap .fl,
.sitemap .fr {
	width: 100%;
	margin: 0;
	float: none;
}


/* End max-width 768px */
}

.inq_conte {
	margin-top: 40px;
	text-align: center;
}
.contact-link-btn {
	display: block;
	width: 260px;
    padding: 15px 20px;
    background: #0d3567  no-repeat;
    background-size: 4px 7px;
    color: #fff!important;
    letter-spacing: 0.1em;
    -webkit-transition: 0.5s linear;
    -moz-transition: 0.5s linear;
    transition: 0.5s linear;
	position: relative;
	margin: 40px auto 0 auto;
	&::after {
		position: absolute;
		content: "";
		width: 4px;
		height: 7px;
		background-image: url(../images/common/icon_arrow_subnav.png);
		background-size: cover;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
	}
}
.contact-link-btn:hover {
	opacity: .8;
}