@charset "utf-8";
/* CSS Document */
body#toppage {
	background-image: url("../img/topageBottom.jpg");
	background-repeat: no-repeat;
	background-position: center bottom -30px;
}
#main {
  display: flex;
	margin-bottom: 80px;
}
#main .lead {
  box-sizing: border-box;
  padding: 0 15px 15px;
}
#main .lead .text p {
  text-align: left;
  font-weight: 700;
  letter-spacing: 2px;
}
#main .movie {
  box-sizing: border-box;
}
#main .movie .movieWrap .inner {
  padding-top: 56.25%;
  position: relative;
  height: 0;
  overflow: hidden;
}
#main .movie .movieWrap .inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
@media (max-width: 599px) {
  #main {
    flex-direction: column;
  }
  #main .lead {
    align-items: center;
		position: relative;
  }
  #main .lead h2 {
    width: 100%;
		position: absolute;
		top: -30px;
		left: 0px;
  }
  #main .lead h2 img {
		width: 250px;
    margin: 0 auto;
		background-color: #FFF;
		padding: 15px 30px 0;
		border-radius: 30px;
		box-sizing: border-box;
  }
  #main .lead .text {
		padding-top: 165px;
  }
  #main .movie {
	}
}
@media (min-width: 600px) {
	#main .movie .movieWrap {
  clip-path: inset(0% 0% 0% 0% round 0 0 0 50px);
}

}
@media (min-width: 600px) and (max-width: 1024px) {
  #main {
    flex-direction: column;
  }
  #main .lead {
    display: flex;
    align-items: center;
  }
  #main .lead h2 {
    flex-basis: 30%;
    padding: 15px;
  }
  #main .lead .text {
    flex-basis: 70%;
    padding: 15px;
  }
  #main .movie {
    padding-left: 50px;
    margin-bottom: 15px;
  }
}
@media (min-width: 1025px) {
  #main {
    flex-direction: row-reverse;
  }
  #main .lead {
    flex-basis: 25%;
		margin-top: 120px;
		align-self: flex-end;
  }
  #main .lead h2 {
    margin-bottom: 30px;
  }
  #main .lead .text {
    max-width: 350px;
    margin: 0 auto;
  }
  #main .lead .text p {
    font-size: 14px;
  }
  #main .movie {
    flex-basis: 75%;
    padding-left: 15px;
  }
}
.topSec {
	background-color: #E7EEF8;
}
@media (min-width: 1025px) {
}
.topSec01 {
	margin-bottom: 120px;
}
.topSec01 .innr {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.topSec01 .innr .ttlBox h2 {
	color: #FFF;
	font-weight: 900;
	letter-spacing: 0.2em;
	background-image: url("../img/01.png");
	background-repeat: no-repeat;
	font-size: 22px;
}
.topSec01 .innr .secConts {
	background-color: #FFF;
	border-radius: 30px;
	align-self: center;
	text-align: left;
	position: relative;
}
.topSec01 .innr .secConts .midashi {
	padding: 30px;
}
.topSec01 .innr .secConts .bg_king {
	background-image: url("../img/bg_king.png");
	background-repeat: no-repeat;
	background-size: 80px auto;
	background-position: right top;
	margin: 15px 5px 80px 30px;
}
.topSec01 .innr .secConts .bg_king .lead h3 {
	color: #0071b8;
	font-weight: 700;
}
.topSec01 .innr .secConts .bg_king .lead {
	margin-bottom: 30px;
}
.topSec01 .innr .secConts .bg_king .muryou {
	margin-bottom: 30px;
}
.topSec01 .innr .secConts .bg_king dl.area {
	display: flex;
	margin-bottom: 30px;
}
.topSec01 .innr .secConts .bg_king dl.area dt {
	background-color: #0071b8;
	color: #FFF;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: left;
	line-height: 1.4;
}
.topSec01 .innr .secConts .bg_king dl.area dd {
	padding: 8px;
	line-height: 1.4;
}
.topSec01 .innr .secConts .bg_king .more {
	width: 400px;
}
.topSec01 .innr .secConts .image {
	position: absolute;
	bottom: -150px;
	right: -150px;
}
.topSec01 .innr .secConts .sateidial {
	padding: 0 50px 80px;
}

@media (max-width: 599px) {
.topSec01 {
	margin-bottom: 80px;
}
.topSec01 .innr {
	padding: 15px 15px 30px;
}
.topSec01 .innr .ttlBox {
	flex-basis: 150px;
}
.topSec01 .innr .ttlBox h2 {
	font-size: 22px;
	background-size: auto 22px;
}
.topSec01 .innr .secConts {
	margin: auto;
}
.topSec01 .innr .secConts .bg_king .lead {
	margin-bottom: 30px;
	margin-right: 85px;
}
.topSec01 .innr .secConts .bg_king .muryou {
	margin-bottom: 15px;
	margin-right: 30px;
}
.topSec01 .innr .secConts .bg_king dl.area {
	flex-direction: column;
	margin-bottom: 15px;
	margin-right: 30px;
}
.topSec01 .innr .secConts .bg_king .more {
	width: 100%;
	padding-right: 30px;
}
.topSec01 .innr .secConts .image {
	width: 150px;
	bottom: -30px;
	right: -15px;
}
}
@media (min-width: 600px) and (max-width: 1024px) {
.topSec01 .innr {
	padding: 30px;
}
.topSec01 .innr .ttlBox h2 {
	font-size: 30px;
	background-size: auto 30px;
}
.topSec01 .innr .ttlBox {
	flex-basis: 300px;
}
.topSec01 .innr .secConts .midashi {
	margin: 50px 50px 30px;
}
.topSec01 .innr .secConts .bg_king {
	background-size: auto 100%;
	margin: 30px 10px 50px 50px;
}
.topSec01 .innr .secConts .bg_king .lead {
	width: 80%;
}
.topSec01 .innr .secConts .bg_king .lead h3 {
	font-size: 22px;
}
.topSec01 .innr .secConts .bg_king dl.area {
	width: 80%;
}
.topSec01 .innr .secConts .bg_king dl.area dt {
	flex-basis: 25%;
}
.topSec01 .innr .secConts .bg_king dl.area dd {
	flex-basis: 75%;
}
.topSec01 .innr .secConts .image {
	width: 300px;
	bottom: -100px;
	right: -30px;
}
}
@media (max-width: 1024px) {
.topSec01 {
	background-image: url("../img/topSec01_bg_sp.jpg");
	background-size: 100% auto;
	background-repeat: no-repeat;
}
.topSec01 .innr .ttlBox {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
.topSec01 .innr .ttlBox h2 {
	text-align: left;
	padding-left: 48px;
	background-position: left center;
}
}
@media (min-width: 1025px) {
.topSec01 {
	width: 100%;
	min-width: 1248px;
	background-image: url("../img/topSec01_bg.jpg");
	background-position: center top;
	background-repeat: no-repeat;
	margin-bottom: 200px;
}
.topSec01 .innr {
	flex-direction: row;
	width: 100%;
	height: 1200px;
	justify-content: space-between;
	padding: 80px 0 120px;
}
.topSec01 .innr .ttlBox {
	flex-basis: 300px;
}
.topSec01 .innr .ttlBox h2 {
	font-size: 46px;
	padding-top: 1em;
	text-align: center;
	background-position: center top;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.topSec01 .innr .secConts {
	flex-basis: 950px;
}
.topSec01 .innr .secConts .midashi {
	margin: 50px 50px 30px;
}
.topSec01 .innr .secConts .bg_king {
	margin: 30px 10px 50px 50px;
	background-size: auto 100%;
}
.topSec01 .innr .secConts .bg_king .lead {
	width: 600px;
}
.topSec01 .innr .secConts .bg_king .lead h3 {
	font-size: 22px;
}
.topSec01 .innr .secConts .bg_king dl.area {
	width: 600px;
}
.topSec01 .innr .secConts .bg_king dl.area dt {
	flex-basis: 25%;
}
.topSec01 .innr .secConts .bg_king dl.area dd {
	flex-basis: 75%;
}
.topSec01 .innr .secConts .image {
	bottom: -180px;
	right: -180px;
}
}


.topSec02 {
	background-image: url("../img/topSec02_bg.jpg");
	background-position: center top;
	background-repeat: no-repeat;
}
.topSec02 .innr {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.topSec02 .innr .ttlBox h2 {
	color: #FFF;
	font-weight: 900;
	letter-spacing: 0.1em;
	background-image: url("../img/02.png");
	background-repeat: no-repeat;
}
.topSec02 .innr .secConts {
	background-color: #FFF;
	border-radius: 30px;
	align-self: center;
	text-align: left;
	position: relative;
	padding: 50px;
}
.topSec02 .innr .secConts .midashi {
	padding: 30px;
}
.topSec02 .innr .secConts .points {
	margin-bottom: 30px;
}
.topSec02 .photo ul {
	display: flex;
	justify-content: center;
}
.topSec02 .photo ul li {
	padding: 15px;
}
@media (max-width: 599px) {
.topSec02 .innr {
	padding: 15px 15px;
}
.topSec02 .innr .ttlBox {
	flex-basis: 150px;
}
.topSec02 .innr .ttlBox h2 {
	font-size: 22px;
	background-size: auto 18px;
	letter-spacing: 0em;
	padding-left: 1.2em;
	margin-left: 30px;
}
.topSec02 .innr .secConts {
	padding: 30px;
}
.topSec02 .photo ul {
	margin: 0 0 30px;
}
.topSec02 .photo ul li {
	padding: 0px;
}
}
@media (min-width: 600px) and (max-width: 1024px) {
.topSec02 .innr {
	padding: 30px;
}
.topSec02 .innr .ttlBox {
	flex-basis: 300px;
}
.topSec02 .innr .ttlBox h2 {
	font-size: 30px;
	background-size: auto 30px;
	padding-left: 2em;
	margin-left: 15%;
}
.topSec02 .innr .secConts .more {
	width: 400px;
}
.topSec02 .photo ul {
	margin: 0 15px 15px;
}
}
@media (max-width: 1024px) {
.topSec02 {
	background-image: url("../img/topSec02_bg_sp.jpg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.topSec02 .innr .ttlBox {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
.topSec02 .innr .ttlBox h2 {
	text-align: left;
	background-position: left center;
}
}
@media (min-width: 1025px) {
.topSec02 {
	min-height: 1200px;
}
.topSec02 .innr {
	flex-direction: row-reverse;
	width: 100%;
	justify-content: space-between;
	padding: 80px 0;
}
.topSec02 .innr .ttlBox {
	flex-basis: 300px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}
.topSec02 .innr .ttlBox h2 {
	font-size: 46px;
	padding-top: 1em;
	background-position: center top;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.topSec02 .innr .secConts {
	flex-basis: 950px;
}
.topSec02 .innr .secConts > div {
	width: 750px;
	margin: 0 auto;
}
.topSec02 .innr .secConts .more {
	width: 400px;
	margin: 0 auto 0 30px;
}
.topSec02 .photo ul {
	margin-bottom: 80px;
}
}

.contactBox {
	background-image: url("../img/topSec_bottom.jpg");
	background-position: 0 bottom;
	background-repeat: no-repeat;
}
.contactBox > div {
	padding: 15px;
}
.contactBox .innr {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 50px;
}
@media (max-width: 599px) {
.contactBox .innr {
	flex-direction: column;
}
.contactBox .innr > div {
	padding: 8px;
}
.contactBox .innr > div {
  width: 70%;
    border-bottom: 1px solid #004B80;
}
}
@media (min-width: 600px) and (max-width: 1024px) {
.contactBox .innr > div {
  padding: 0 15px 30px;
}
.contactBox .innr .shopname {
  padding: 0;
}
}
@media (min-width: 1025px) {
.contactBox > div {
	padding: 80px 0;
}
.contactBox .innr {
	margin-bottom: 100px;
}
.contactBox .innr > div {
  padding: 0 30px;
flex-basis: 33%;
}
.contactBox .innr > div.number{
	border-right: 1px solid #004B80;
}
.contactBox .innr .midashi {
	border-right: 1px solid #004B80;
}
.contactBox .innr .shopname {
}
}

.topFootSec01 > div {
	padding: 30px 15px;
}
.topFootSec01 .innr {
	display: flex;
	text-align: left;
}
.topFootSec01 .innr .text {
	background-image: url("../img/topSec03_bg.png");
	background-repeat: no-repeat;
	background-position: 0 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 30px;
}
.topFootSec01 .innr .text .midashi {
	margin-bottom: 30px;
}
.topFootSec01 .innr .text .more {
	width: 400px;
}
@media (max-width: 599px) {
.topFootSec01 .innr {
	flex-direction: column;
	width: 100%;
}
.topFootSec01 .innr > div {
	width: 100%;
}
.topFootSec01 .innr .text .more {
	width: 60%;
}
}
@media (min-width: 600px) and (max-width: 1024px) {}
@media (min-width: 1025px) {
.topFootSec01 .innr {
	width: 1185px;
	height: 470px;
	margin: 0 auto;
}
.topFootSec01 .innr .text {
	height: 423px;
	align-self: flex-start;
}
.topFootSec01 .innr .img {
	height: 423px;
	align-self: flex-end;
}
}


.topFootSec02 > div {
	padding: 30px 15px;
	color: #FFF;
}
.topFootSec02 h2 {
	font-size: 30px;
	margin-bottom: 1em;
}
.topFootSec02 .topCompany h3 {
	font-size: 30px;
}
.topFootSec02 .topCompany h3 span {
	font-size: 28px;
}
@media (max-width: 599px) {
.topFootSec02 h2 {
	font-size: 24px;
}
}
@media (min-width: 600px) and (max-width: 1024px) {}
@media (min-width: 1025px) {
.topFootSec02 > div {
	padding: 50px 0;
}
}

.footBanner {
}
	.footBanner > div {
		padding: 15px;
	}
.footBanner ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.footBanner ul li {
	flex-basis: 33.3%;
	padding: 8px;
}
@media (max-width: 599px) {
.footBanner ul li {
	flex-basis: 50%;
	padding: 4px;
}
}
@media (min-width: 600px) and (max-width: 1024px) {
}


