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

/* --------------------------------------------------------------
新トップページ
-------------------------------------------------------------- */
h2 {
	background: none;
	font-size: 36px;
	color: #000;
	text-align: center;
	padding: 0 0 10px;
	margin: 0 0 30px;
	position: relative;
	line-height:1.4;
}
/*
h2::after {
	content: '';
	border-bottom: 2px solid #486cb5;
	position: absolute;
	right: 50%;
	bottom: -2px;
	transform: translateX(50%);
	width: 232px;
}
*/
h2 span {
	display:block;
	font-size:16px;
	color: #272460;
	font-weight:normal;
}

h3 {
	border: none;
	font-size: 20px;
	line-height: 1.8;
	padding: 0;
	margin: 0;
}

img {
	height: auto;
}

#mainVisual2 {
	background: url("../images/top/bgMain2.jpg") no-repeat center center / cover;
	position: relative;
}

#mainVisual2::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(255,255,255,0.8);
}

#mainVisualArea2 {
/*	width: 1024px;*/
	width: 1400px;
	max-width:100%;
	margin: 0 auto;
	padding: 0 12px 98px;
	position: relative;
}

#mainVisualArea2 p.mainPct {
	margin-bottom: 0;
	text-align:right;
}
/*
#mainVisualArea2 ul {
	position: absolute;
	top: 35px;
	left: 15px;
}

#mainVisualArea2 ul li {
	background: url("../images/top/iconCheckMain.png") no-repeat 0 2px / 35px 34px;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.5;
	padding-left: 45px;
	min-height: 34px;
	position: static;
	overflow: visible;
}

#mainVisualArea2 ul li::before {
	content: none;
}
*/
#mainVisualArea2 h1 {
	border-left: none;
	background-color: rgba(108,187,100,0.9);
/*	font-size: 32px;*/
	font-size: 30px;
	color: #fff;
	line-height: 1.5;
	text-align: center;
/*	padding: 10px 5px;*/
	padding: 0 5px;
	margin-bottom: 0;
/*	width: calc(100% - 24px);*/
	position: absolute;
	bottom: 150px;
	display:inline-block;
	letter-spacing:0;
}

.contBox {
	width: 1024px;
	margin: 0 auto;
	padding: 50px 12px;
}
.contBox14 {
	width: 1400px;
	max-width:100%;
	margin: 0 auto;
	padding: 50px 12px;
}

.bg {
	background: #ebf2f2;
}

p.txtalC_L {
	text-align: center;
}

ul.noSt li {
	padding-left: 0;
	position: static;
	overflow: visible;
}

ul.noSt li::before {
	content: none;
}

.topContact .contBox {
	text-align: center;
}

.topContact p {
	margin-bottom: 10px;
}

.topContact p.lead {
	font-size: 22px;
	margin-bottom: 30px;
}

.topContact p.tel {
	font-size: 30px;
	font-weight: bold;
	line-height: 1;
}

.topContact p.tel a {
	background: url("../images/common/iconTel.png") no-repeat left center;
	background-size: 28px 30px;
	text-decoration: none;
	padding-left: 40px;
	display: inline-block;
}

.topContact p.btn {
	width: 500px;
	margin: 30px auto;
}

.topContact p.btn a {
	background: #272460;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	padding: 20px 6px;
	display: block;
}

.topContact p.btn a:hover {
	background: #486cb5;
}

.topContact p.btn a span {
	background: url("../images/common/btnMail.png") no-repeat left center;
	background-size: 30px 22px;
	padding: 4px 0 0 48px;
	display: inline-block;
}

.topContact .firstTime {
	background: #fff;
	padding: 30px;
	margin-bottom: 30px;
}

.topContact .firstTime p.titO {
	font-size: 20px;
	font-weight: bold;
	color: #ff6500;
}

.topContact .firstTime p.tit {
	font-size: 20px;
	font-weight: bold
}

.sent > *:last-child,
.contBox > *:last-child,
.topContact .firstTime > *:last-child {
	margin-bottom: 0!important;
}

#topAbout #aboutBox .box p.ph img,
#topSystem ul#IntroList li p.ph img,
#topOffice ul li p.ph img {
	width: 100%;
}

#topAtt.contBox {
	padding: 50px 12px 0;
}

#topAtt .sent {
	border: 4px solid #ff0000;
	padding: 20px;
}

#topAbout #aboutBox {
	padding-top: 0;
	position: relative;
	display:flex;
}
#topAbout #aboutBox .inner {
	width:540px;
}
#topAbout #aboutBox .sent {
/*	background: #ebf2f2;*/
/*	width: 660px;*/
/*	padding: 50px 30px 50px 180px;*/
	padding: 0 0 0 1em;
/*	margin-left: 340px;*/
	flex:1;
}

#topAbout #aboutBox .box {
/*	position: absolute;*/
	top: 0;
	/* right: 0; */
	left: 0;
/*	width: 460px;*/
	flex:1;
}

#topAbout #aboutBox .box p.btnTxt {
	margin: 0 auto 18px;
	width: 360px;
}

#topAbout #aboutBox .box p.banner {
	text-align: center;
	margin-bottom: 0;
}

#topAbout #aboutBox .box p.banner a img {
/*	width: 312px;*/
}
#topAbout #aboutBox .box p.ph {
	margin-bottom:54px;
}
#topAbout #aboutBox .box p.ph img {
	width: 500px;
	box-shadow:40px 34px 0 0 #ebf2f2;
}


#topPolicy p.lead {
	font-size: 22px;
	text-align: center;
}

#topPolicy ul.noSt {
	margin: -40px 0 40px -32px;
}

#topPolicy ul.noSt li {
	float: left;
	width: 312px;
	margin: 40px 0 0 32px;
}

#topPolicy ul.noSt li:nth-child(3n+1) {
	clear: both;
}

#topPolicy ul.noSt li h3 {
	border-top: 2px solid #486cb5;
	background: #ebf2f2;
	color: #272460;
	text-align: center;
	padding: 20px 10px 20px;
	margin-bottom: 30px;
}

#topPolicy ul.noSt li p.ph {
	text-align: center;
}

#topPolicy ul.noSt li p.ph img {
	width: 152px;
}

#topPolicy #policyAtt {
	border: 2px solid #ffad32;
	padding: 30px;
}

#topPolicy p.btnTxt {
	max-width: 380px;
	margin: 30px auto 0;
}

#topConcept p.lead {
	text-align: center;
	margin-bottom: 60px;
}

#topConcept p.lead img {
	width: 674px;
}

#topConcept .box {
	position: relative;
	min-height: 300px;
}

#topConcept #concept01.box {
	background: url("../images/top/bgConcept01.jpg") no-repeat left top;
	background-size: contain;
}

#topConcept #concept02.box {
	background: url("../images/top/bgConcept02.jpg") no-repeat right top;
	background-size: contain;
}

#topConcept #concept03.box {
	background: url("../images/top/bgConcept03.jpg") no-repeat left top;
	background-size: contain;
}

#topConcept #concept04.box {
	background: url("../images/top/bgConcept04.jpg") no-repeat right top;
	background-size: contain;
}

#topConcept .box + .box {
	margin-top: 30px;
}

#topConcept .box .sent {
	background: rgba(242, 242, 242, 0.8);
	padding: 30px;
	width: 540px;
	position: absolute;
}

#topConcept .box .sent::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-top: 30px solid #486cb5;
	border-right: 30px solid transparent;
}

#topConcept #concept01.box .sent,
#topConcept #concept03.box .sent {
	right: 100px;
	bottom: 26px;
}

#topConcept #concept02.box .sent,
#topConcept #concept04.box .sent {
	left: 100px;
	bottom: 26px;
}

#topConcept .box .sent h3 {
	margin-bottom: 10px;
}

#topConcept #concept01.box .sent h3 img {
	width: 388px;
}

#topConcept #concept02.box .sent h3 img {
	width: 306px;
}

#topConcept #concept03.box .sent h3 img {
	width: 336px;
}

#topConcept #concept04.box .sent h3 img {
	width: 308px;
}

#topInfo2 p {
	margin-bottom: 20px;
}

#topInfo2 ul {
	display: flex;
	flex-wrap: wrap;
	margin: -40px 0 40px -40px;
}

#topInfo2 ul li {
	border: 2px solid #272460;
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 218px 180px;
	width: 480px;
	margin: 40px 0 0 40px;
	padding-bottom: 40px;
}

#topInfo2 ul li:nth-child(odd) {
	clear: both;
}

#topInfo2 ul li.komon {
	background-image: url("../images/top/bgInfoKomon.png");
}

#topInfo2 ul li.houjin {
	background-image: url("../images/top/bgInfoHoujin.png");
}

#topInfo2 ul li.setsuritsu {
	background-image: url("../images/top/bgInfoSetsuritsu.png");
}

#topInfo2 ul li.sougyou {
	background-image: url("../images/top/bgInfoSougyou.png");
}

#topInfo2 ul li.mushinkoku {
	border-color: #486cb5;
	background-image: url("../images/top/bgInfoMushinkoku.png");
}

#topInfo2 ul li.zeimu {
	border-color: #ffad32;
	background-image: url("../images/top/bgInfoZeimu.png");
}

#topInfo2 ul li h3 {
	background: #272460;
	text-align: center;
	display: table;
	width: 100%;
}

#topInfo2 ul li.mushinkoku h3 {
	background: #486cb5;
}

#topInfo2 ul li.zeimu h3 {
	background: #ffad32;
}

#topInfo2 ul li h3 span,
#topInfo2 ul li h3 a {
	color: #fff;
	padding: 10px;
	display: table-cell;
	vertical-align: middle;
}

#topInfo2 ul li h3 a:hover {
	text-decoration: none;
}

#topInfo2 ul li .sent {
	padding: 30px;
}

#topInfo2 ul li .sent p.banner {
	text-align: center;
}

#topInfo2 ul li .sent p.banner img {
	width: 314px;
}

#topInfo2 ul li .sent p.spcR {
	margin-right: 162px;
}

#topVoice ul {
	margin: -30px 0 0;
}

#topVoice ul li {
	margin: 30px 0 0;
}

#topVoice p {
	margin-bottom: 0;
}

#topVoice ul li a {
	border: 1px solid #999;
	background: #fff;
	text-decoration: none;
	display: block;
	position: relative;
}

#topVoice ul li a::after {
	content: '';
	background: url("../images/common/arrowW.png") #486cb5 no-repeat right 12px center;
	background-size: 26px 26px;
	width: 50px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

#topVoice ul li a:hover {
	border: 1px solid #486cb5;
}

#topVoice ul li a .box {
	padding: 30px 80px 30px 30px;
}

#topVoice ul li a .box p.ph {
	float: left;
	width: 160px;
}

#topVoice ul li a .box p.ph span {
	background: #F2F2F2;
	height: 160px;
	display: block;
	overflow: hidden;
	position: relative;
}

#topVoice ul li a:hover .box p.ph span {
	background: rgba(242, 242, 242, 0.5)
}

#topVoice ul li a .box p.ph span img {
	width: auto;
	height: 100%;
	position: absolute;
	right: 50%;
	bottom: 50%;
	transform: translate(50%, 50%);
}

#topVoice ul li a .box .sent {
	font-size: 20px;
	margin-left: 190px;
}

#topVoice ul li a .box .sent p.name {
	font-size: 16px;
	color: #666;
	margin-bottom: 20px;
}

#topVoice ul li a .box .sent p.exc {
	font-weight: bold;
	text-decoration: underline;
}

#topVoice ul li a:hover .box .sent p.exc {
	text-decoration: none;
}

#topVoice p.btnTxt {
	margin: 30px auto 0;
}

#topVoice p.no {
	text-align: center;
}

#topVoice #topQue {
	margin-top: 40px;
}

#topVoice #topQue p {
	text-align: center;
	margin-bottom: 10px;
}

#topVoice #topQue p.btnTxt {
	text-align: left;
	margin: 10px auto 0;
}

#topSystem p.lead {
	text-align: center;
}

#topSystem ul#taList {
	margin: -40px 0 40px -40px;
}

#topSystem ul#taList li {
	border: 1px solid #999;
	float: left;
	width: 480px;
	padding: 30px;
	margin: 40px 0 0 40px;
}

#topSystem ul#taList li p.ph {
	text-align: center;
	margin-bottom: 15px;
}

#topSystem ul#taList li p.ph img {
	width: 240px;
}

#topSystem ul#taList li .sent {
	text-align: center;
}

#topSystem ul#taList li .sent p.name {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 15px;
}

#topSystem ul#taList li p.btnTxt {
	margin: 15px auto 0;
}

#topSystem ul#IntroList {
	margin: -40px 0 0 -40px;
}

#topSystem ul#IntroList li {
	float: left;
	width: 480px;
	margin: 40px 0 0 40px;
}

#topSystem ul#IntroList li h3 {
	border-top: 2px solid #486cb5;
	background: #ebf2f2;
	color: #272460;
	text-align: center;
	padding: 20px;
}

#topSystem ul#IntroList li p.ph {
	margin-bottom: 20px;
}

#topSystem ul#IntroList li p.btnTxt {
	margin: 20px auto 0;
}

#topBlog ul {
	margin: -30px 0 0 -32px;
}

#topBlog ul li {
	float: left;
	width: 226px;
	margin: 30px 0 0 32px;
}

#topBlog ul li p.ph {
	background: #F2F2F2;
	height: 226px;
	display: block;
	overflow: hidden;
	position: relative;
	margin-bottom: 10px;
}

#topBlog ul li p.ph a:hover {
	background: rgba(242, 242, 242, 0.5)
}

#topBlog ul li p.ph img {
	width: auto;
	height: 100%;
	position: absolute;
	right: 50%;
	bottom: 50%;
	transform: translate(50%, 50%);
}

#topBlog ul li .sent p.time {
	font-size: 14px;
	color: #666;
	margin-bottom: 10px;
}

#topBlog ul li .sent p.tit {
	font-weight: bold;
}

#topMessage p.ph {
	/* float: left; */
		float: right;
}

#topMessage p.ph img {
	width: 360px;
}

#topMessage .sent {
	/* margin-left: 390px; */
	margin-right: 390px;
}

#topMessage p.btnTxt {
	margin: 30px auto 0;
}

#topOffice .contBox {
	font-size: 14px;
}

#topOffice ul {
	margin: -30px 0 0 -32px;
}

#topOffice ul li {
	float: left;
	width: 312px;
	margin: 30px 0 0 32px;
}

#topOffice ul li p.ph {
	margin-bottom: 10px;
}

#topLocation .contBox {
	padding: 50px 12px 30px;
	text-align: center;
}

#topLocation .topGgmap {
	height: 350px;
	overflow: hidden;
}

#topLocation .topGgmap iframe {
	width: 100%;
	margin-top: -180px;
}

#topTopics p.no {
	text-align: center;
}

#topTopics dl {
	margin: -15px auto 0;
	max-inline-size: max-content;
	margin-inline: auto;
}

#topTopics dl dt {
	float: left;
	width: 6em;
	margin: 15px 0 0 0;
	clear: left;
	color: #666;
}

#topTopics dl dd {
	margin: 15px 0 0 7em;
}

#topTopics p.btnTxt {
	margin: 30px auto 0;
}

#topLead2 .sent {
	background-color: #ebf2f2;
	box-shadow: 5px 5px 0 #bdd4d4;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
	padding: 30px 20px 50px;
}

#topLead2 h2 {
	border-left: none;
	background: url(../images/top/bgTitH1.png) no-repeat center top / 98px 80px;
	font-size: 28px;
	font-weight: normal;
	line-height: 1.5;
	padding: 90px 0 0;
	margin-bottom: 20px;
	position: static;
}

#topLead2 h2::after {
	content: none;
}

/* 新トップページ */
#mainVisualArea2 #mainVisualMessage {
	position: absolute;
	padding-top:66px;
	font-size:30px;
	line-height:2.4;
	font-weight:bold;
}
#mainVisualArea2 #mainVisualMessage img {
	margin-top:0.9em;
	margin-right:14px;
}

#toppageTopics {
	position: absolute;
	bottom:0;
	right:0;
	background:#fff;
	width:50%;
	min-width:800px;
	height:98px;
	display:flex;
	border-top-left-radius:8px;
	padding:12px;
}
#toppageTopics div:first-child {
	flex:1;
	text-align:center;
}
#toppageTopics div:first-child h3 {
	font-size:16px;
}
#toppageTopics div:first-child p {
	font-size:14px;
}
#toppageTopics div:last-child {
	flex:6;
}
#toppageTopics dl {
	margin: -15px 0 0 0;
/*	max-inline-size: max-content;
	margin-inline: auto;*/
}

#toppageTopics dl dt {
	float: left;
	width: 6em;
	margin: 15px 0 0 0;
	clear: left;
	color: #666;
}

#toppageTopics dl dd {
	margin: 15px 0 0 7em;
}

#toppageTopics p.btnTxt {
	margin: 30px auto 0;
}

p.btnTxt2 a {
	background: url("../images/common/arroww2.png") #486cb5 no-repeat right 20px center;
	background-size: 10px 11px;
}

p.btnTxt3 a {
	padding: 5px 40px 5px 10px;
/*	background-position-x:right 10px;*//* クロームでは効かないので、全部指定する↓ */
	background: url("../images/common/arroww2.png") #486cb5 no-repeat right 10px center;
}


/* 新トップページ:新陽税理士事務所が大切にしていること */
#topCherishes ul {
	margin-left:0;
	display:flex;
}
#topCherishes ul li {
	list-style-type:none;
	background:#fff;
	border-radius:15px;
	flex-direction:row;
	flex:1;
	margin-right:30px;
	margin-top:30px;
	margin-bottom:30px;
	padding:8px;
}
#topCherishes ul li:first-child {
	margin-top:0;
	margin-bottom:60px;
}
#topCherishes ul li:last-child {
	margin-top:60px;
	margin-right:0;
	margin-bottom:0;
}
#topCherishes ul li::before {
	display:none;
}
#topCherishes ul li p {
	padding:4px;
	font-size:14px;
	margin-bottom:0;
}
#topCherishes ul li img {
	max-width:100%;
}

/* 新トップページ:弊所の顧問業務（サービス一覧） */
#topService ul {
	margin-left:0;
	display:flex;
	flex-wrap: wrap;
	flex-direction: row;
}
#topService ul li {
	list-style-type:none;
	flex:1;
	min-width:310px;
	margin:0px 10px 20px 10px;
	padding:10px;
}
#topService ul li::before {
	display:none;
}
#topService ul li h3 {
	position: relative;
	color:#7a96d0;
	font-size:16px;
	font-weight:normal;
	text-align:center;
}
#topService ul li h3 span {
	font-size:24px;
}
#topService ul li h3::after {
	content:"";
	background: repeating-linear-gradient(-45deg, #7a96d0, #7a96d0 2px, transparent 2px, transparent 4px) no-repeat 0 0;
	width:30px;
	height:5px;
	position: absolute;
	bottom: 1px;
	left: calc(50% - 15px);
}
#topService ul li h4 {
	font-size:18px;
	border-left:none;
	text-align:center;
	margin-top:4px;
	margin-bottom:6px;
}
#topService ul li img {
	display:block;
	margin:0 auto;
}
#topService ul li p {
	margin-top:10px;
	margin-bottom:0;
	font-size:15px;
}

/* 新トップページ:業務案内 */
#topBusiness {
	background-color:#f9f9f4;
}
#topBusiness h3 {
	position: relative;
	color:#272460;
	font-size:24px;
	margin-top:30px;
	margin-bottom:30px;
}
#topBusiness h3::before {
	content:"";
	border-bottom:3px solid #cccccc;
	position: absolute;
	bottom:0;
	left:0;
	width:100%;
	height:3px;
}
#topBusiness h3::after {
	content:"";
	border-bottom:3px solid #272460;
	position: absolute;
	bottom:0;
	left:0;
	width:200px;
	height:3px;
}

#topBusiness .contBox {
	padding: 50px 12px 50px;
}
#topBusiness .contBox:first-child {
	padding: 50px 12px 0px;
}

.tabBox {
	margin-bottom:50px;
}
.tabBox .tabMenu {
	display:flex;
	height:50px;
	color:#222222;
	font-size:20px;
	font-weight:bold;
}
.tabBox .tabMenu div {
	flex:1;
	background-color:#eeeeee;
	text-align:center;
	align-items:center;
	align-content:center;
	cursor: pointer;
}
.tabBox .tabMenu div:not(:last-child) {
	border-right: 1px solid #ccc;
}
.tabBox .tabMenu div.current {
	background-color:#fff;
}
.tabBox .tabContent {
	display:flex;
}
.tabBox .tabContent img {
	max-width:100%;
}
.tabBox .tabContent > div {
	background-color:#fff;
	flex:0;
	display:none;
	padding:20px;
}
.tabBox .tabContent > div.current {
	flex:1;
	display:block;
}
.tabBox .tabContent > div > div.tabContentInner {
	display:flex;
}
.tabBox .tabContent > div > div.tabContentInner > div {
	flex:2;
}
.tabBox .tabContent > div > div.tabContentInner > div + div {
	flex:1.1;
	padding-top:6px;
	padding-left:20px;
}
.tabBox .tabContent > div > div.tabContentInner > div + div > p.btnTxt {
	max-width:100%;
}
.tabBox .tabContent  div ul {
	color:#272460;
	margin-left:70px;
}
.tabBox .tabContent div ul li {
	list-style-image:url(../images/common/check.png);
	overflow:visible;
	padding-left:2px;
	font-size:18px;
	font-weight:bold;
}
.tabBox .tabContent div ul li::before {
	display:none;
}
.tabBox .tabContent div h4 {
	color:#222222;
	font-size:16px;
	border:none;
	margin-top:0;
	padding-left: 0;
}

/* 新トップページ:動画紹介 */
#topMovies {
	background-color:#fff;
}
#topMovies .contBox {
	padding: 70px 12px 30px;
}
#topMovies h2 img {
	margin:2px 10px 0 0;
}

#topMovies .movies2 {
	display:flex;
	width:100%;
}
#topMovies .movies2 .movBox {
	flex:1;
	padding:10px;
	margin-left:10px;
}
#topMovies .movies2 .movBox:first-child {
	margin-left:0;
	margin-right:10px;
}
#topMovies h5 {
	margin-top:1em;
	text-align:center;
	color:#272862;
	font-size:16px;
	line-height:1.3;
	padding:0 0 10px 0;
}
#topMovies h5::before {
	display:none;
}
/*
#topMovies h5 img {
	margin:2px 10px 0 0;
}
*/
#topMovies div.youtube {
	position: relative;
	text-align:center;
	height:0;
	padding-bottom: 56.25%;
	max-width:100%;
}
#topMovies div.youtube iframe {
	width:100%;
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	border-radius:5px;
}


.w340btn {
	width:340px !important;
	max-width:100% !important;
}

.w240btn {
	width:240px;
	max-width:100%;
}
.tabContentInner .bg-gray{
	background-color: #eee;
	font-weight: bold;
	padding: 0.5em;
	border-radius: 10px;
	margin-bottom: 1em;
	margin-top: -1em;
}

/*__________ TAB-SP __________*/
@media screen and (max-width: 959px) {

	h2 {
		font-size: 28px;
	}

	#mainVisualArea2 p img {
		width: 100%;
		height: auto;
	}

	#mainVisualArea2 h1 {
		width: calc(100% - 20px);
	}

	.contBox {
		padding: 50px 10px;
	}

	#topAtt.contBox {
		padding: 50px 10px 0;
	}

	#topInfo2 ul li {
		background-position: center bottom;
		padding-bottom: 156px;
	}

	#topInfo2 ul li .sent p.banner img {
		width: 100%;
	}

	#topInfo2 ul li .sent p.spcR {
		margin-right: 0;
	}

	#mainVisualArea2 #mainVisualMessage {
		position: absolute;
		padding-top:36px;
		font-size:24px;
		line-height:2.0;
	}
	#mainVisualArea2 #mainVisualMessage img {
		margin-top:0.5em;
		margin-right:12px;
	}
	#toppageTopics {
		position: relative;
		background:#fff;
		width:100%;
		min-width:100%;
		height:auto;
		display:flex;
		border-top-left-radius:0;
		padding:12px;
	}
	#topMovies .movies2 {
		flex-direction:column;
	}
	#topMovies .movies2 .movBox {
		margin-left:0;
	}
	#topMovies .movies2 .movBox:first-child {
		margin-right:0;
	}
	#topMovies h2 img {
		margin:-2px 10px 0 0;
	}

}


/*__________ TAB __________*/
@media screen and (max-width: 959px) and (min-width: 768px) {

	#mainVisualArea2 {
		width: 768px;
		padding: 0 10px;
	}

	#mainVisualArea2 ul {
		position: absolute;
		top: 25px;
		left: 10px;
	}

	#mainVisualArea2 ul li {
		background-position: 0 2px;
		background-size: 27px 26px;
		font-size: 22px;
		padding-left: 37px;
		min-height: 27px;
	}

	#mainVisualArea2 ul li + li {
		margin-top: 5px;
	}

	#mainVisualArea2 h1 {
		font-size: 25px;
		position: absolute;
		bottom: 20px;
	}

	.contBox {
		width: 768px;
	}

	#topAbout #aboutBox {
		padding-top: 75px;
	}
	#topAbout #aboutBox .inner {
		width:100%;
	}

	#topAbout #aboutBox .sent {
		/* width: 494px;
		padding: 50px 100px 50px 30px; */
		width: 466px;
		padding: 0 30px 50px 100px;
		/*margin-left: 282px;*/
	}

	#topAbout #aboutBox .box {
		width: 344px;
	}
	#topAbout #aboutBox .box p.ph img {
		width: calc(100% - 40px);
		box-shadow:40px 34px 0 0 #ebf2f2;
	}
	#topAbout #aboutBox .box p.banner a img {
		width: 240px;
	}

	#topPolicy p.lead {
		font-size: 20px;
	}

	#topPolicy ul.noSt li {
		width: 358px;
	}

	#topPolicy ul.noSt li:nth-child(3n+1) {
		clear: none;
	}

	#topPolicy ul.noSt li:nth-child(odd) {
		clear: both;
	}

	#topConcept #concept01.box .sent,
	#topConcept #concept03.box .sent {
		right: 0;
	}

	#topConcept #concept02.box .sent,
	#topConcept #concept04.box .sent {
		left: 0;
	}

	#topInfo2 ul li {
		width: 354px;
	}

	#topSystem ul#taList li {
		width: 354px;
	}

	#topSystem ul#IntroList li {
		width: 354px;
	}

	#topBlog ul li {
		width: 163px;
	}

	#topBlog ul li p.ph {
		height: 163px;
	}

	#topMessage p.ph img {
		width: 270px;
	}

	#topMessage .sent {
		/* margin-left: 300px; */
		margin-right: 300px;
	}

	#topOffice ul li {
		width: 228px;
	}

	.tabBox .tabContent  div ul {
		margin-top:20px;
		margin-left:30px;
		margin-bottom:20px;
	}

}


/*__________ SP __________*/
@media screen and (max-width: 767px) {

	h2 {
		font-size: 20px;
	}

	#mainVisualArea2 {
		width: auto;
		min-width: 320px;
		max-width: 520px;
		padding: 20px 10px 0;
	}


	#mainVisualArea2 ul {
		position: static;
		margin: 0 0 20px
	}

	#mainVisualArea2 ul li {
		background-position: 0 0;
		background-size: 19px 18px;
		font-size: 14px;
		padding-left: 29px;
		min-height: 18px;
	}

	#mainVisualArea2 ul li + li {
		margin-top: 5px;
	}

	#mainVisualArea2 h1 {
		font-size: 18px;
		bottom: 20px;
	}

	.contBox {
		width: auto;
		min-width: 320px;
		max-width: 520px;
	}

	p.txtalC_L {
		text-align: left;
	}

	.topContact .firstTime {
		padding: 10px;
		text-align: left;
	}

	.topContact .firstTime p.titO,
	.topContact .firstTime p.tit {
		text-align: center;
	}

	.topContact p.btn {
		width: auto;
	}

	.topContact p.btn a span {
		background-position: center top;
		padding: 30px 0 0;
	}

	#topAtt .sent {
		padding: 15px;
	}

	#topAbout #aboutBox {
		flex-direction:column-reverse;
		padding-top: 0;
		position: static;
	}

	#topAbout #aboutBox .sent {
		width: auto;
		padding: 20px;
		margin: 0 0 30px;
	}
	#topAbout #aboutBox .inner {
		width:100%;
	}

	#topAbout #aboutBox .box {
		position: static;
		width: 100%;
	}

	#topAbout #aboutBox .box p.banner a img {
		width: 100%;
		max-width: 312px;
	}

	#topAbout #aboutBox .box p.ph {
		text-align:center;
	}
	#topAbout #aboutBox .box p.ph img {
		width: calc(100% - 40px);
		box-shadow:20px 34px 0 0 #ebf2f2;
	}
	#topAbout #aboutBox .box .inner {
		margin-left:auto;
		margin-right:auto;
	}

	#topPolicy p.lead {
		font-size: 18px;
		text-align: left;
	}

	#topPolicy ul.noSt {
		margin: -30px 0 40px;
	}

	#topPolicy ul.noSt li {
		float: none;
		width: auto;
		margin: 30px 0 0;
	}

	#topPolicy ul.noSt li h3 {
		padding: 15px 10px;
	}

	#topPolicy #policyAtt {
		padding: 15px;
	}

	#topPolicy p.btnTxt {
		max-width: 240px;
	}

	#topConcept p.lead {
		margin-bottom: 30px;
	}

	#topConcept p.lead img {
		width: 300px;
	}

	#topConcept .box {
		position: static;
		min-height: initial;
		min-height: auto;
		padding-top: 100px;
	}

	#topConcept #concept01.box,
	#topConcept #concept02.box,
	#topConcept #concept03.box,
	#topConcept #concept04.box {
		background-size: 200px 150px;
	}

	#topConcept .box .sent {
		width: auto;
		position: relative;
	}

	#topConcept #concept01.box .sent,
	#topConcept #concept03.box .sent {
		right: 0;
		bottom: 0;
	}

	#topConcept #concept02.box .sent,
	#topConcept #concept04.box .sent {
		left: 0;
		bottom: 0;
	}

	#topConcept #concept01.box .sent h3 img,
	#topConcept #concept02.box .sent h3 img,
	#topConcept #concept03.box .sent h3 img,
	#topConcept #concept04.box .sent h3 img {
		width: 240px;
	}

	#topInfo2 ul {
		margin: -30px 0 0;
	}

	#topInfo2 ul li {
		width: 100%;
		margin: 30px 0 0;
	}

	#topInfo2 ul li h3 {
		display: block;
	}

	#topInfo2 ul li h3 span,
	#topInfo2 ul li h3 a {
		display: block;
	}

	#topInfo2 ul li .sent p.banner img {
		max-width: 314px;
	}

	#topVoice ul li a {
		position: static;
	}

	#topVoice ul li a::after {
		content: none;
	}

	#topVoice ul li a .box {
		padding: 20px;
	}

	#topVoice ul li a .box p.ph {
		float: none;
		margin: 0 auto 20px;
	}

	#topVoice ul li a .box .sent {
		margin-left: 0;
	}

	#topSystem ul#taList {
		margin: -40px 0 40px;
	}

	#topSystem ul#taList li {
		float: none;
		width: auto;
		margin: 40px 0 0;
	}

	#topSystem ul#taList li p.ph img {
		width: 100%;
		max-width: 240px;
	}

	#topSystem ul#IntroList {
		margin: -30px 0 0;
	}

	#topSystem ul#IntroList li {
		float: none;
		width: auto;
		margin: 30px 0 0;
	}

	#topSystem ul#IntroList li h3 {
		padding: 15px 10px;
	}

	#topBlog ul {
		margin: -30px 0 0;
	}

	#topBlog ul li {
		float: none;
		width: auto;
		margin: 30px 0 0;
	}

	#topBlog ul li p.ph {
		width: 226px;
		margin: 0 auto 10px;
	}

	#topMessage p.ph {
		float: none;
		text-align: center;
	}

	#topMessage p.ph img {
		width: 240px;
	}

	#topMessage .sent {
		margin: 30px 0 0;
	}

	#topOffice ul {
		margin: -30px 0 0;
	}

	#topOffice ul li {
		float: none;
		width: auto;
		margin: 30px 0 0;
	}

	#topOffice ul li p.ph {
		text-align: center;
	}

	#topOffice ul li p.ph img {
		width: 100%;
		max-width: 312px;
	}

	#topLocation .contBox {
		text-align: left;
	}

	#topTopics dl {
		margin: -15px 0 0;
	}

	#topTopics dl dt {
		float: none;
		width: auto;
		margin: 15px 0 2px 0;
		font-size: 14px;
		line-height: 1.2;
	}

	#topTopics dl dd {
		margin: 0;
	}

	#topLead .sent {
		font-size: 22px;
		text-align: left;
		padding: 30px 20px;
	}

	#topLead h1 {
		background-size: 49px 40px;
		font-size: 22px;
		padding-top: 50px;
		margin-bottom: 10px;
		text-align: center;
	}

	#mainVisualArea2 #mainVisualMessage {
		position: relative;
		padding-top:0px;
		font-size:14px;
		line-height:2.0;
	}
	#mainVisualArea2 #mainVisualMessage img {
		margin-top:0.5em;
		margin-right:8px;
		width:14px;
		height:14px;
	}
	#toppageTopics {
		flex-direction:column;
	}
	#toppageTopics div:first-child p {
		margin-bottom:8px;
	}

	#topCherishes ul {
		flex-direction:column;
	}
	#topCherishes ul li {
		margin:0;
	}
	#topCherishes ul li:first-child {
		margin-bottom:30px;
	}
	#topCherishes ul li:last-child {
		margin-top:30px;
	}
	#topCherishes ul li img {
		margin:0 auto;
		display:block;
	}

	#topCherishes ul li p {
		padding:4px 8px;
	}

	#topService ul li {
		float:none;
		width:100%;
		margin:0px 0px 10px 0;
	}

	.tabBox .tabMenu {
		line-height:1.2;
		font-size:16px;
	}
	.tabBox .tabContent > div > div.tabContentInner {
		flex-direction:column;
	}
	.tabBox .tabContent > div > div.tabContentInner .flLeft {
		float:none;
	}
	.tabBox .tabContent > div > div.tabContentInner img.flLeft {
		display:block;
		margin-left: auto;
		margin-right: auto;
	}
	.tabBox .tabContent > div > div.tabContentInner > div + div {
		padding-left:0;
	}
	.tabBox .tabContent  div ul {
		margin-top:20px;
		margin-left:30px;
	}
	.tabBox .tabContent  div p {
		font-size:15px;
	}
	.tabBox .tabContent  div p.clBoth {
		margin-bottom:0;
	}

	img.spc {
		margin-left: auto;
		margin-right: auto;
		display:block;
	}

	#topBusiness h3 {
		font-size:20px;
	}

	#topBusiness h5 {
		font-size:16px;
	}
	#topBusiness h5 img {
		margin:1px 10px 0 0;
	}


}

@media screen and (max-width: 380px) {
	.tabBox .tabMenu {
		font-size:14px;
	}
}
