@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual {
	position: relative;
	margin: 0 90px 123px 0;
	min-height: 830px;
	background: #00c1e0;
	border-radius: 0 57px 57px 0;
}
.mainVisual .content {
	position: relative;
	width: 1150px;
}
.mainVisual .pho {
	position: absolute;
	right: -51px;
	top: 120px;
}
.mainVisual .banner-container {
	position: absolute;
	width: 500px;
	height: auto;
	bottom: -5px;
	left: 0;
	right: 0;
	margin: auto;
}
.mainVisual .banner-container .mobile-banner {
	display: none;  /* モバイル用のバナーは非表示 */
}
/* スマホサイズ（画面幅が768px以下）でのスタイル */
@media (max-width: 768px) {
	.mainVisual .banner-container {
	  width: 300px;
	  bottom: 20px;
	  right: -1px;
	  margin-right: 0;
	}
	.mainVisual .banner-container .desktop-banner {
	  display: none;  /* デスクトップ用のバナーは非表示 */
	}
	.mainVisual .banner-container .mobile-banner {
	  display: block;  /* モバイル用のバナーを表示 */
	}
  }
.mainVisual .title {
	color: #fff;
	width: 720px;
	position: relative;
	padding: 225px 0 0 10px;
	z-index: 10;
	font-feature-settings: "palt"; 
	-moz-font-feature-settings: "palt";
}
.mainVisual .title:before {
	position: absolute;
	right: 73px;
	top: 184px;
	width: 306px;
	height: 12px;
	background: url("../img/index/line01.png") no-repeat left top;
	content: "";
}
.mainVisual .title:after {
	position: absolute;
	right: 73px;
	bottom: -128px;
	width: 357px;
	height: 53px;
	background: url("../img/index/line02.png") no-repeat left top;
	content: "";
}
.mainVisual .title .en {
	margin-bottom: 15px;
	font-size: 2.4rem;
	display: block;
	letter-spacing: 0.1em;
}
.mainVisual .title .ttl {
	display: block;
	font-size: 3.5rem;
	line-height: 1.55;
	letter-spacing: 0.06em;
}
.mainVisual .scroll {
	position: absolute;
	left: 30px;
	bottom: -106px;
}
.mainVisual .scroll a {
	padding-top: 10px;
	color: #2d2e5b;
	position: relative;
	font-size: 1.7rem;
	-webkit-writing-mode : tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	direction: ltr; 
	letter-spacing: 0.1em;
}
.mainVisual .scroll a:before {
	position: absolute;
	left: 9px;
	top: -98px;
	width: 3px;
	height: 95px;
	background: #2d2e5b;
	border-radius: 5px;
	content: "";
}
.mainVisual .scroll a:hover {
	opacity: 0.7;
}
#main p {
	letter-spacing: 0.08em;
	line-height: 1.875;
}
#main .sec01 {
	margin: 0 0 0 98px;
	padding: 88px 0;
	border-radius: 55px 0 0 55px;
	background: #f3f3f3;
}
#main .sec01 .mapBox {
	margin: 80px 0 0 -51px;
}
#main .sec01 .textBox {
	position: relative;
	width: 600px;
	padding: 84px 0 68px;
}
#main .sec01 .textBox .infoBox {
	position: relative;
	z-index: 2;
}
#main .sec01 .textBox:before {
	position: absolute;
	left: -49px;
	top: 0;
	right: -2000px;
	bottom: 0;
	background: #fff;
	content: "";
	border-radius: 15px 0 0 15px;
	z-index: 1;
}
#main .sec01 .textBox h2 {
	margin: 0 0 26px 16px;
	color: #2d2e5b;
	font-size: 4.5rem;
	letter-spacing: 0.1em;
}
#main .sec01 .textBox .txt {
	margin: 0 0 42px 18px;
}
#main .sec01 .textBox .comBtn {
	margin-left: 21px;
}
#main .sec01 .textBox .comBtn a {
	padding: 19px 10px 20px;
	font-size: 2rem;
}
#main .sec02 {
	padding: 142px 0 118px;
}
#main .sec02 .photoList {
	margin-top: -38px;
}
#main .sec02 .photoList li {
	width: 380px;
	margin: 38px 30px 0 0;
}
#main .sec02 .photoList li:nth-child(3n) {
	margin-right: 0;
}
#main .sec02 .photoList .pho {
	margin-bottom: 40px;
}
#main .sec03 .content {
	position: relative;
	z-index: 2;
}
#main .sec03 {
	padding: 120px 0 140px;
	position: relative;
}
#main .sec03::before {
	top: 0;
	right: 0;
	width: calc(100% - 99px);
	height: 100%;
	position: absolute;
	background-color: #f3f3f3;
	border-radius: 55px 0 0 55px;
	content: "";
}
#main .sec03 .headLine01 {
	margin-bottom: 82px;
}
#main .sec03 .readList {
	margin-bottom: 28px;
}
#main .sec03 .readList li {
	padding: 57px 65px 57px 50px;
	width: 585px;
	display: flex;
	justify-content: space-between;
	background-color: #fff;
	box-sizing: border-box;
	border-radius: 10px;
}
#main .sec03 .readList .pho {
	width: 170px;
	margin-top: 29px;
}
#main .sec03 .readList .textBox {
	width: 300px;
}
#main .sec03 .readList .headLine02 {
	margin: 0 0 13px;
	text-align: left;
}
#main .sec03 .readList p {
	margin-bottom: 20px;
}
#main .sec03 .listUl {
	margin-top: -30px;
}
#main .sec03 .listUl li {
	margin-top: 30px;
	padding: 35px 40px 35px 42px;
	width: 380px;
	margin-right: 30px;
	background-color: #fff;
	border-radius: 10px;
	box-sizing: border-box;
}
#main .sec03 .listUl .photo {
	margin-bottom: 18px;
	text-align: center;
}
#main .sec03 .listUl .headLine02 {
	margin: 0 0 13px;
}
#main .sec03 .listUl p {
	margin-bottom: 20px;
}
#main .sec03 .listUl .comBtn {
	margin: 0 auto;
}
#main .sec03 .listUl li:nth-child(3n) {
	margin-right: 0;
}
#main .sec04 {
	padding-top: 96px;
}
#main .sec04 .headLine01 {
	margin-bottom: 32px;
	letter-spacing: 0;
}
#main .sec04 .headLine01 .sml {
	margin: 12px 0 0;
	font-size: 1.6rem;
	color: #000;
	letter-spacing: 0;
	line-height: 1.625;
}
#main .sec04 .headLine01 .icon {
	width: 164px;
	left: 275px;
	right: auto;
	top: -27px;
}
#main .sec04 .telBox {
	width: 1170px;
	margin: 70px 0 51px 5px;
	padding: 40px 0 50px;
	background-color: #f2f2f2;
	border-radius: 20px;
	box-sizing: border-box;
}
#main .sec04 .telBox .headLine03 {
	margin-bottom: 0;
}
#main .sec04 .telBox p {
	margin-top: 10px;
	font-size: 1.6rem;
	color: #000;
	letter-spacing: 0;
}
#main .sec04 .telBox .tel {
	margin-bottom: -11px;
	display: block;
}
#main .sec04 .telBox .tel a {
	padding-left: 50px;
	font-size: 4rem;
	color: #2d2e5b;
	display: inline-block;
	background: url("../img/index/icon04.png") no-repeat left 9px top 30px;
	background-size: 26px 26px;
}
#main .sec04 .subInner {
	width: 1170px;
	margin-left: 5px;
	padding: 40px 0 70px;
	background-color: #f2f2f2;
	border-radius: 20px;
	box-sizing: border-box;
}
#main .sec04 .subInner .small {
	letter-spacing: 0;
}
#main .sec04 .mailForm {
	width: 680px;
	margin:  0 auto;
}
#main .sec04 .mailForm .must {
	margin-left: 30px;
	padding: 0 5px 2px;
	color: #fff;
	font-size: 1.3rem;
	display: inline-block;
	background-color: #FF7F00;
}
#main .sec04 .mailForm dl {
	margin-bottom: 36px;
}
#main .sec04 .mailForm dt {
	margin-bottom: 11px;
}
#main .sec04 .mailForm dd {
	margin-bottom: 29px;
}
#main .sec04 .mailForm dd:last-child {
	margin-bottom: 0;
}
#main .sec04 .mailForm dd input[type="text"],
#main .sec04 .mailForm dd input[type="tel"],
#main .sec04 .mailForm dd input[type="email"],
#main .sec04 .mailForm dd textarea,
#main .sec04 .mailForm dd select,
#main .sec04 .mailForm .submit button {
	width: 100%;
	height: 44px;
	padding: 0 20px;
	font-weight: 700;
	border: 1px solid #ddd;
	font-size: 1.4rem;
	background: #fff;
	border-radius: 5px;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0 auto;
}
#main .sec04 .mailForm dd .wid01 {
	width: 340px;
}
#main .sec04 .mailForm dd select {
	font-size: 1.6rem;
	font-weight: 400;
	color: #2f2f2f;
	background: #fff url("../img/index/icon03.png") no-repeat right 20px center;
	background-size: 14px 9px;
}
#main .sec04 .mailForm dd textarea {
	padding: 12px;
	height: 240px;
	resize: vertical;
}
#main .sec04 .mailForm dd input[type="text"]::placeholder,
#main .sec04 .mailForm dd input[type="tel"]::placeholder,
#main .sec04 .mailForm dd input[type="email"]::placeholder,
#main .sec04 .mailForm dd textarea::placeholder{
  	color: #ccc;
	letter-spacing: 0;
  	opacity: 1; 
}
#main .sec04 .mailForm dd input[type="text"]::-ms-input-placeholder,
#main .sec04 .mailForm dd input[type="tel"]::-ms-input-placeholder,
#main .sec04 .mailForm dd input[type="email"]::-ms-input-placeholder,
#main .sec04 .mailForm dd textarea::-ms-input-placeholder{
  	color: #ccc;
	letter-spacing: 0;
  	opacity: 1;
}
#main .sec04 .mailForm dd input[type="text"]:-ms-input-placeholder,
#main .sec04 .mailForm dd input[type="tel"]:-ms-input-placeholder,
#main .sec04 .mailForm dd input[type="email"]:-ms-input-placeholder,
#main .sec04 .mailForm dd textarea:-ms-input-placeholder{
  	color: #ccc;
	letter-spacing: 0;
  	opacity: 1;
}
#main .sec04 .mailForm .agree {
	margin-bottom: 35px;
	text-align: center;
	letter-spacing: 0;
	font-weight: 400;
	color: #333;
}
#main .sec04 .mailForm .agree a {
	padding-right: 13px;
	color: #1571DA;
	display: inline-block;
	background: url("../img/index/icon05.png") no-repeat right center;
}
#main .sec04 .mailForm .agree a:hover {
	text-decoration: underline;
}
#main .sec04 .mailForm .submit {
	text-align: center;
}
#main .sec04 .mailForm .submit button {
	margin-bottom: 10px;
	display: block;
}
#main .sec04 .mailForm .submit button:last-child {
	margin-bottom: 0;
}
#main .sec04 .mailForm .submit button {
	width: 440px;
	height: 80px;
	padding: 10px;
	cursor: pointer;
	border: 0;
	text-align: center;
	border-radius: 5px;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0;
	box-sizing: border-box;
	background-color: #59c1de;
}
#main .sec04 .mailForm  .submit li input:hover {
	opacity: 0.7;
}
#main .sec04 .mailForm dd .selectBox {
	position: relative;
}
#main .sec04 .mailForm dd .selectBox .hidden {
	display: none;
}
#main .sec04 .mailForm dd .selectBox .top {
	width: 100%;
	min-height: 46px;
	border: 1px solid #ddd;
	border-radius: 5px;
	background: #fff url("../img/index/icon03.png") no-repeat right 20px center;
	background-size: 14px 9px;
	text-align: left;
	box-sizing: border-box;
	padding: 5px 40px 5px 15px;
}
#main .sec04 .mailForm dd .selectBox .listUl {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background-color: #fff;
	border: 1px solid #ddd;
	border-top: none;
}
#main .sec04 .mailForm dd .selectBox .listUl li {
	padding-bottom: 5px;
}
#main .sec04 .mailForm dd .selectBox .listUl li a {
	padding: 7px 20px 7px 30px;
	display: block;
	border-bottom: 1px solid #ddd;
	position: relative;
}
#main .sec04 .mailForm dd .selectBox .listUl li a::before {
	display: none;
	position: absolute;
	left: 10px;
	top: 8px;
	content: '√';
	font-family: 'Noto Sans JP', sans-serif;
	color: #00c2de;
}
#main .sec04 .mailForm dd .selectBox .listUl li.on a::before {
	display: block;
}
#main .sec04 .mailForm dd .selectBox .listUl li:last-child a {
	border-bottom: none;
}
#main .sec04 .mailForm dd .selectBox .listUl li a:hover {
	opacity: 0.7;
}
#main .sec05 {
	padding-top: 135px;
}
#main .sec05 .headLine01 {
	margin-bottom: 78px;
}
#main .sec05 .headLine01 .icon {
	width: 162px;
	left: 273px;
	right: auto;
}
#main .sec05 .flowList {
	margin: 0 -5px 0 5px;
}
#main .sec05 .flowList li {
	margin-bottom: 30px;
	padding: 32px 87px 27px 65px;
	display: flex;
	position: relative;
	align-items: center;
	background-color: #f3f3f3;
	border-radius: 20px;
}
#main .sec05 .flowList li::before {
	margin-left: -24px;
	position: absolute;
	width: 36px;
	height: 22px;
	bottom: -23px;
	left: 50%;
	background: url("../img/index/icon01.png") no-repeat bottom center;
	content: "";
	z-index: 2;
}
#main .sec05 .flowList li:last-child {
	margin-bottom: 0;
}
#main .sec05 .flowList li:last-child::before {
	display: none;
}
#main .sec05 .flowList .pho {
	width: 190px;
}
#main .sec05 .flowList .textBox {
	width: calc(100% - 190px);
}
#main .sec05 .flowList .textBox .title {
	margin-bottom: 9px;
	font-size: 2.2rem;
	color: #2d2e5b;
}
#main .sec06 {
	padding-top: 145px;
	padding-bottom: 100px;
}
#main .sec06 .headLine01 {
	margin-bottom: 58px;
}
#main .sec06 .headLine01 .icon {
	width: 116px;
	right: 269px;
	top: -123px;
}
#main .sec06 .qaList {
	margin: 0 -5px 45px 5px;
}
#main .sec06 .qaList dt {
	margin-bottom: 8px;
	padding: 8px 102px 13px;
	position: relative;
	font-size: 2.2rem;
	color: #2d2e5b;
	cursor: pointer;
	letter-spacing: 0.08em;
	background: url("../img/index/icon02_on.png") no-repeat right 23px center;
	background-color: #f3f3f3;
}
#main .sec06 .qaList dt.on {
	background: url("../img/index/icon02.png") no-repeat right 23px center;
	background-color: #f3f3f3;
}
#main .sec06 .qaList .qText {
	font-size: 2.5rem;
	position: absolute;
	left: 27px;
	top: 5px;
	color: #59c0dd;
	display: inline-block;
}
#main .sec06 .qaList dd {
	display: none;
	padding: 10px 90px 22px 80px;
	letter-spacing: 0.08em;
	color: #000;
	line-height: 1.875;
	text-align: justify;
}
#main .sec06 .comBtn {
	margin: 0 0 0 auto;
}
#main .sec07 {
	padding: 152px 0 130px;
}
#main .sec07 .headLine01 {
	margin-bottom: 50px;
}
#main .sec07 .logoList {
	margin: -44px -11px 177px -2px;
}
#main .sec07 .logoList li {
	margin: 44px 67px 0 0;
}
#main .sec07 .logoList li a:hover {
	opacity: 0.7;
}
#main .sec07 .logoList li:nth-child(5n) {
	margin-right: 0;
}
#main .sec07 .instanceList {
	margin: -30px -7px 65px 6px;
}
#main .sec07 .instanceList li {
	width: 381px;
	margin: 30px 29px 0 0;
}
#main .sec07 .instanceList li a:hover {
	opacity: 0.7;
}
#main .sec07 .instanceList li:nth-child(3n) {
	margin-right: 0;
}
#main .sec07 .instanceList .photo {
	margin-bottom: 25px;
	position: relative;
}
#main .sec07 .instanceList .photo img {
	border-radius: 10px;
}
#main .sec07 .instanceList .photo .logo {
	position: absolute;
	width: 143px;
	left: 18px;
	bottom: -66px;
}
#main .sec07 .instanceList .title {
	margin: 0 -7px 13px 0;
	padding-bottom: 14px;
	font-size: 2.2rem;
	color: #2d2e5b;
	line-height: 1.59;
	letter-spacing: 0.04em;
	border-bottom: 2px dashed #b1b1b1;
}
#main .sec07 .instanceList .ttl {
	margin-bottom: 17px;
	color: #373737;
	font-weight: 400;
}
#main .sec07 .instanceList .industry dt {
	color: #6d6d6d;
	float: left;
	letter-spacing: 0.08em;
}
#main .sec07 .instanceList .industry dd {
	padding: 0 0 6px 5.8em;
	letter-spacing: 0.08em;
}
#main .sec07 .comBtn {
	margin: 0 0 0 auto;
}
#main .sec08 {
	padding: 123px 0 120px;
	position: relative;
}
#main .sec08 .content {
	position: relative;
	z-index: 2;
}
#main .sec08::before {
	top: 0;
	right: 0;
	width: calc(100% - 104px);
	height: 100%;
	position: absolute;
	background-color: #f3f3f3;
	border-radius: 55px 0 0 55px;
	content: "";
}
#main .sec08 .headLine01 {
	margin-bottom: 95px;
}
#main .sec08 .columnList {
	margin: -53px 0 70px;
}
#main .sec08 .columnList li {
	width: 381px;
	margin: 53px 28px 0 0;
}
#main .sec08 .columnList li:nth-child(3n) {
	margin-right: 0;
}
#main .sec08 .columnList li a {
	display: block;
}
#main .sec08 .columnList li a:hover {
	opacity: 0.7;
}
#main .sec08 .columnList .photo {
	margin-bottom: 22px;
}
#main .sec08 .columnList .photo img {
	border-radius: 10px;
}
#main .sec08 .columnList .date {
	margin-bottom: 15px;
	font-weight: 400;
	color: #373737;
}
#main .sec08 .columnList .text {
	margin-bottom: 16px;
	font-size: 2.2rem;
	color: #2d2e5b;
	letter-spacing: 0;
	line-height: 1.59;
}
#main .sec08 .columnList .category {
	width: 125px;
	text-align: center;
	padding: 2px;
	color: #fff;
	font-weight: 700;
	background-color: #00c1e0;
	box-sizing: border-box;
}
#main .sec08 .comBtn {
	margin: 0 0 0 auto;
}
#main .sec08 .columnList .photo{
    width: 370px;
    height: 210px;
    overflow:hidden;
}
#main .sec08 .columnList .photo img {
    width: 370px;
    height: 210px;
    object-fit: cover;
    transition-duration: 0.3s;
}
#main .sec08 .columnList .photo img:hover{
    transform: scale(1.2);
    transition-duration: 0.3s;
}
#main .sec09 {
	padding: 158px 0 0;
}
#main .sec09 .headLine01 {
	margin-bottom: 20px;
	position: relative;
}
#main .sec09 .headLine01 .icon {
	position: absolute;
	left: -40px;
	top: -146px;
	width: 358px;
}
#main .sec09 .add {
	margin-bottom: 40px;
	color: #555;
	font-size: 2.2rem;
	text-align: center;
}
#main .sec09 .add .info {
	padding: 0 30px;
	display: inline-block;
	background: url("../img/index/icon06.png") no-repeat left center;
}
#main .sec09 .map iframe {
	width: 100%;
	height: 530px;
}
#main .sec10 {
	padding: 69px 0 0;
}
#main .sec10 .headLine01 {
	margin-bottom: 54px;
}
#main .sec10 .calendarBox .subBox {
	width: 48%;
	padding: 40px 50px;
	background: #f3f3f3;
	box-sizing: border-box;
	border-radius: 26px;
}
#main .sec10 .calendarBox .ttl {
	margin-bottom: 26px;
	font-size: 2.5rem;
	color: #2d2e5b;
	text-align: center;
}
#main .sec10 .calendarBox .tabBox {
	padding: 30px 30px;
	background: #fff;	
}
#main .sec10 .calendarBox table {
	width: 100%;
	border-collapse: collapse;
}
#main .sec10 .calendarBox th,
#main .sec10 .calendarBox td {
	width: calc(100% / 7);
	text-align: center;
	vertical-align: middle;
}
#main .sec10 .calendarBox th {
	padding-bottom: 20px;
	font-size: 2.5rem;
	color: #30acb8;
}
#main .sec10 .calendarBox td {
	padding: 21px 0;
	color: #30acb8;
	font-size: 1.6rem;
}
#main .sec10 .calendarBox .red {
	color: #d95858;
}
#main .sec10 .calendarBox .current {
	position: relative;
	color: #fff;
}
#main .sec10 .calendarBox .current:before {
	position: absolute;
	left: -10px;
	top: -11px;
	width: 42px;
	height: 42px;
	background: #30acb8;
	content: "";
	border-radius: 50%;
	z-index: 1;
}
#main .sec10 .calendarBox .current:after {
	position: absolute;
	left: -10px;
	top: -11px;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.3);
	content: "";
}
#main .sec10 .calendarBox .current .info {
	position: relative;
	z-index: 2;
}
#main .sec10 .time {
	padding-top: 5px;
	color: #2d2e5b;
}
#main .sec10 .time .ico {
	color: #67aab5;
}
#main .sec11 {
	padding-top: 60px;
}
#main .sec11 .headLine01 {
	margin-bottom: 40px;
}
#main .sec11 .news {
	margin: 0 0 37px 9px;
	color: #000;
}
#main .sec11 .news dt {
	padding-top: 42px;
	float: left;
	color: #9D9D9D;
}
#main .sec11 .news .name {
	margin-left: 50px;
	width: 134px;
	padding: 9px;
	display: inline-block;
	text-align: center;
	color: #000;
	border: 1px solid #707070;
	border-radius: 5px;
	box-sizing: border-box;
}
#main .sec11 .news dd {
	padding: 51px 0 28px 19.4em;
	border-bottom: 1px solid #707070;
}
#main .sec11 .news dd a:hover {
	text-decoration: underline;
}
#main .sec11 .comBtn {
	margin: 0 0 0 auto;
}
@media all and (min-width: 867px) and (max-width: 1300px) {
	.mainVisual .title .ttl {
		font-size: 3.4rem;
	}
	.mainVisual .pho {
		right: -150px;
		z-index: 10;
	}
	#main .sec01 .mapBox {
		width: 45%;
	}
	#main .sec01 .textBox {
		width: 55%;
	}
	#main .sec01 .textBox .infoBox {
		width: 90%;
	}
	#main .sec02 .photoList li {
		width: calc(33.3% - 20px) !important;
	}
	.mainVisual .title {
		left: 0px;
	}
	main .sec03 .readList li {
		width: calc( 50% - 20px ) !important;
	}
	#main .sec03 .listUl li {
		width: calc(33% - 20px) !important;
	}
	#main .sec04 .headLine01 .icon {
		left: 175px;
	}
	#main .sec04 .telBox,
	#main .sec04 .subInner {
		width: auto;
		min-width: 1000px;
	}
	.headLine03 .img {
		left: 245px;
		width: 73px;
	}
	#main .sec06 .headLine01 .icon {
		width: 106px;
		right: 229px;
	}
	#main .sec08 .columnList li {
		width: calc(33% - 30px);
	}
	#main .sec08 .columnList .photo {
		width: 100%;
	}
	#main .sec08 .columnList {
		margin: -53px 0 70px 20px;
	}
	#main .sec09 .headLine01 .icon {
		left: -300px;
		top: -66px;
		width: 288px;
	}
	#main .sec11 .news {
		min-width: 950px;
	}
	.mainVisual .pho h1 img{
		width: 85%;
		position: relative;
		left: 30px;
		top: 15px;
	}
}
@media all and (max-width: 896px) {
	.mainVisual {
		margin: 0 20px 80px 0;
		padding-bottom: 30px;
		min-height: inherit;
		border-radius: 0 20px 20px 0;
	}
	.mainVisual .content {
		position: relative;
		width: 100%;
	}
	.mainVisual .pho {
		position: static;
		text-align: center;
		width: 100%;
		max-width: 320px;
		margin: 0;
	}
	.mainVisual .title {
		width: auto;
		position: relative;
		padding: 30px 25px 20px 0;
	}
	.mainVisual .title:before {
		display: none;
	}
	.mainVisual .title:after {
		display: none;
	}
	.mainVisual .title .en {
		margin-bottom: 8px;
		font-size: 1.8rem;
	}
	.mainVisual .title .ttl {
		font-size: 2.8rem;
	}
	.mainVisual .scroll {
		left: 10px;
		bottom: -60px;
	}
	.mainVisual .scroll a:before {
		width: 2px;
		height: 60px;
		top: -60px;
	}
	.mainVisual .scroll a:hover {
		opacity: 0.7;
	}
	#main p {
		letter-spacing: 0.08em;
		line-height: 1.875;
	}
	#main .sec01 {
		margin: 0 0 0 20px;
		padding: 40px 0;
		border-radius: 20px 0 0 20px;
		background: #f3f3f3;
	}
	#main .sec01 .content {
		display: block;
	}
	#main .sec01 .mapBox {
		margin: 0 0 20px;
		text-align: center;
	}
	#main .sec01 .textBox {
		position: relative;
		width: auto;
		padding: 20px 0;
		background: #fff;
	}
	#main .sec01 .textBox:before {
		display: none;
	}
	#main .sec01 .textBox h2 {
		margin: 0 0 10px 10px;
		font-size: 2.4rem;
		letter-spacing: 0.05em;
	}
	#main .sec01 .textBox .txt {
		margin: 0 10px 22px 10px;
	}
	#main .sec01 .textBox .comBtn {
		margin: 0 auto;
	}
	#main .sec01 .textBox .comBtn a {
		padding: 13px 10px;
		font-size: 1.8rem;
	}
	#main .sec02 {
		padding: 40px 0 60px;
	}
	#main .sec02 .photoList {
		margin-top: 0;
		display: block;
	}
	#main .sec02 .photoList li {
		width: 100%;
		margin: 20px 0 0;
	}
	#main .sec02 .photoList .pho {
		margin-bottom: 20px;
		text-align: center;
	}
	#main .sec02 .photoList .pho img {
		width: 100%;
	}
	#main .sec03 {
		padding: 40px 0 50px;
	}
	#main .sec03::before {
		width: calc(100% - 15px);
		border-radius: 30px 0 0 30px;
	}
	#main .sec03 .headLine01 {
		margin-bottom: 40px;
	}
	#main .sec03 .readList {
		margin-bottom: 30px;
	}
	#main .sec03 .readList li {
		margin: 0 0 15px 15px;
		padding: 20px;
		width: 100%;
		border-radius: 8px;
	}
	#main .sec03 .readList li:last-child {
		margin-bottom: 0;
	}
	#main .sec03 .readList .comBtn {
		text-align: left;
	}
	#main .sec03 .readList .pho {
		width: 80px;
	}
	#main .sec03 .readList .textBox {
		width: calc(100% - 100px);
	}
	#main .sec03 .readList .headLine02 {
		margin: 0 0 5px;
	}
	#main .sec03 .readList p {
		margin-bottom: 15px;
	}
	#main .sec03 .listUl {
		margin-top: 0;
		display: block;
	}
	#main .sec03 .listUl li {
		margin: 0 0 15px 15px;
		padding: 20px 30px;
		width: auto;
		border-radius: 8px;
	}
	#main .sec03 .listUl li:last-child {
		margin-bottom: 0;
	}
	#main .sec03 .listUl .photo {
		margin-bottom: 10px;
	}
	#main .sec03 .listUl .headLine02 {
		margin: 0 0 5px;
	}
	#main .sec03 .listUl p {
		margin-bottom: 15px;
		text-align: center;
	}
	#main .sec04 {
		padding-top: 80px;
	}
	#main .sec04 .headLine01 {
		margin-bottom: 70px;
	}
	#main .sec04 .headLine01 .sml {
		margin: 18px 0 0;
		font-size: 1.4rem;
	}
	#main .sec04 .headLine01 .icon {
		margin-left: -170px;
		width: 75px;
		left: 50%;
		top: -66px;
	}
	#main .sec04 .telBox {
		width: auto;
		margin: -40px 0 30px;
		padding: 20px 0;
		border-radius: 10px;
	}
	#main .sec04 .telBox p {
		margin-top: 0;
		font-size: 1.4rem;
	}
	#main .sec04 .telBox .tel {
		margin-bottom: -8px;
	}
	#main .sec04 .telBox .tel a {
		padding-left: 20px;
		font-size: 2rem;
		background: url("../img/index/icon04.png") no-repeat left top 15px;
		background-size: 13px 13px;
	}
	#main .sec04 .subInner {
		width: auto;
		margin-left: 0;
		padding: 20px 0 30px;
		border-radius: 10px;
	}
	#main .sec04 .mailForm {
		width: auto;
		margin: 0 15px;
	}
	#main .sec04 .mailForm .must {
		margin-left: 10px;
		padding: 0 2px;
		font-size: 1rem;
	}
	#main .sec04 .mailForm dl {
		margin-bottom: 20px;
	}
	#main .sec04 .mailForm dt {
		margin-bottom: 8px;
	}
	#main .sec04 .mailForm dd {
		margin-bottom: 15px;
	}
	#main .sec04 .mailForm dd input[type="text"],
	#main .sec04 .mailForm dd input[type="tel"],
	#main .sec04 .mailForm dd input[type="email"],
	#main .sec04 .mailForm dd textarea,
	#main .sec04 .mailForm dd select,
	#main .sec04 .mailForm .submit button {
		height: 35px;
		padding: 0 10px;
		font-size: 1.4rem;
	}
	#main .sec04 .mailForm dd .wid01 {
		width: 50%;
	}
	#main .sec04 .mailForm dd select {
		font-size: 1.4rem;
		background-position: right 10px center;
	}
	#main .sec04 .mailForm dd textarea {
		padding: 12px;
		height: 240px;
		resize: vertical;
		box-sizing: border-box;
	}
	#main .sec04 .mailForm .agree {
		margin-bottom: 20px;
	}
	#main .sec04 .mailForm .agree a {
		padding-right: 10px;
		font-size: 1.4rem;
		background-position:right top 10px;
	}
	#main .sec04 .mailForm .agree a:hover {
		text-decoration: none;
	}
	#main .sec04 .mailForm .submit button {
		width: 230px;
		height: 50px;
		font-size: 1.6rem;
	}
	#main .sec04 .mailForm  .submit button:hover {
		opacity: 1;
	}
	#main .sec04 .mailForm dd .selectBox .top {
		min-height: 35px;
		background-position: right 10px center;
	}
	#main .sec05 {
		padding-top: 60px;
	}
	#main .sec05 .headLine01 {
		margin-bottom: 40px;
	}
	#main .sec05 .headLine01 .icon {
		margin-left: -170px;
		width: 80px;
		left: 50%;
		top: -45px;
	}
	#main .sec05 .flowList {
		margin: 0;
	}
	#main .sec05 .flowList li {
		margin-bottom: 25px;
		padding: 25px 10px;
		justify-content: space-between;
		border-radius: 12px;
	}
	#main .sec05 .flowList .pho {
		width: 100px;
	}
	#main .sec05 .flowList .textBox {
		width: calc(100% - 120px);
	}
	#main .sec05 .flowList .textBox .title {
		margin-bottom: 5px;
		font-size: 1.8rem;
	}
	#main .sec06 {
		padding-top: 70px;
	}
	#main .sec06 .headLine01 {
		margin-bottom: 40px;
	}
	#main .sec06 .headLine01 .icon {
		margin-right: -170px;
		width: 60px;
		right: 50%;
		top: -40px;
	}
	#main .sec06 .qaList {
		margin: 0 0 30px;
	}
	#main .sec06 .qaList dt {
		margin-bottom: 10px;
		padding: 10px 50px;
		font-size: 1.4rem;
		background-position: right 15px center;
		background-color: #f3f3f3;
	}
	#main .sec06 .qaList dt.on {
		background-position: right 15px center;
	}
	#main .sec06 .qaList .qText {
		font-size: 1.8rem;
		left: 5px;
	}
	#main .sec06 .qaList dd {
		padding: 0 30px 22px;
	}
	#main .sec06 .comBtn {
		margin: 0 auto;
	}
	#main .sec07 {
		padding: 40px 0 50px;
	}
	#main .sec07 .headLine01 {
		margin-bottom: 40px;
	}
	#main .sec07 .logoList {
		margin: -20px 0 60px;
	}
	#main .sec07 .logoList li {
		margin: 20px 0 0;
		width: 48%;
		text-align: center;
	}
	#main .sec07 .logoList li img {
		width: 135px;
	}
	#main .sec07 .logoList li:nth-child(5) {
		margin-right: 10px;
	}
	#main .sec07 .instanceList {
		margin: -20px 0 20px;
		display: block;
	}
	#main .sec07 .instanceList li {
		width: 100%;
		margin: 20px 0 0;
	}
	#main .sec07 .instanceList .photo {
		margin-bottom: 25px;
		text-align: center;
		position: relative;
	}
	#main .sec07 .instanceList .photo img {
		width: 100%;
	}
	#main .sec07 .instanceList .photo .logo {
		position: absolute;
		width: 100px;
		left: 20px;
		bottom: -50px;
	}
	#main .sec07 .instanceList .title {
		margin: 0 0 10px;
		padding-bottom: 10px;
		font-size: 1.8rem;
	}
	#main .sec07 .instanceList .ttl {
		margin-bottom: 10px;
	}
	#main .sec07 .comBtn {
		margin: 0 auto;
	}
	#main .sec08 {
		padding: 40px 0 50px;
	}
	#main .sec08::before {
		width: calc(100% - 15px);
		border-radius: 30px 0 0 30px;
	}
	#main .sec08 .headLine01 {
		margin-bottom: 40px;
	}
	#main .sec08 .columnList {
		margin: -30px 0 30px;
	}
	#main .sec08 .columnList li {
		width: 100%;
		margin: 30px 0 0 20px;
	}
	#main .sec08 .columnList li:nth-child(3n) {
		margin: 30px 0 0 20px;
	}
	#main .sec08 .columnList .photo {
		margin-bottom: 15px;
		text-align: center;
	}
	#main .sec08 .columnList .photo img {
		width: 100%;
	}
	#main .sec08 .columnList .photo {
		width: auto;
	}
	#main .sec08 .columnList .date {
		margin-bottom: 10px;
	}
	#main .sec08 .columnList .text {
		margin-bottom: 10px;
		font-size: 1.8rem;
	}
	#main .sec08 .columnList .category {
		width: 100px;
		text-align: center;
		padding: 2px;
	}
	#main .sec08 .comBtn {
		margin: 0 auto;
	}
	#main .sec09 {
		padding: 80px 0 0;
	}
	#main .sec09 .headLine01 .icon {
		margin-left: -180px;
		width: 130px;
		top: -70px;
		left: 50%;
	}
	#main .sec09 .add {
		font-size: 1.7rem;
		letter-spacing: 0.05em;
	}
	#main .sec09 .add .info {
		padding: 0 0 0 25px;
		background-size: 14px auto; 
	}
	#main .sec09 .map iframe {
		height: 360px;
	}
	#main .sec10 {
		padding: 40px 0 0;
	}
	#main .sec10 .headLine01 {
		margin-bottom: 34px;
	}
	#main .sec10 .calendarBox {
		display: block;
	}
	#main .sec10 .calendarBox .subBox {
		margin-bottom: 30px;
		width: 100%;
		padding: 20px;
		border-radius: 13px;
	}
	#main .sec10 .calendarBox .subBox:last-child {
		margin-bottom: 0;
	}
	#main .sec10 .calendarBox .ttl {
		margin-bottom: 16px;
		font-size: 1.8rem;
	}
	#main .sec10 .calendarBox .tabBox {
		padding: 10px;
	}
	#main .sec10 .calendarBox th {
		padding-bottom: 10px;
		font-size: 1.8rem;
	}
	#main .sec10 .calendarBox td {
		padding: 8px 0;
		font-size: 1.4rem;
	}
	#main .sec10 .calendarBox .current:before {
		position: absolute;
		left: -9px;
		top: -9px;
		width: 34px;
		height: 34px;
	}
	#main .sec10 .calendarBox .current::after {
		left: -9px;
		top: -9px;
		width: 34px;
		height: 34px;
	}
	#main .sec10 .time {
		padding-top: 2px;
		color: #2d2e5b;
	}
	#main .sec11 {
		padding-top: 40px;
	}
	#main .sec11 .headLine01 {
		margin-bottom: 40px;
	}
	#main .sec11 .news {
		margin: 0 0 25px;
	}
	#main .sec11 .news dt {
		padding-top: 20px;
		float: none;
	}
	#main .sec11 .news .name {
		margin-left: 20px;
		width: 100px;
		padding: 5px;
		font-size: 1.2rem;
	}
	#main .sec11 .news dd {
		padding: 20px 0;
	}
	#main .sec11 .news dd a:hover {
		text-decoration: none;
	}
	#main .sec11 .comBtn {
		margin: 0 auto;
	}
}
@media all and (max-width: 374px) {
	#main .sec04 .headLine01 .icon {
		margin-left: -150px;
		width: 70px;
	}
	#main .sec05 .headLine01 .icon {
		width: 70px;
		margin-left: -150px;
	}
	#main .sec06 .headLine01 .icon {
		margin-right: -154px;
		width: 50px;
	}
	#main .sec09 .headLine01 .icon {
		width: 100px;
		top: -50px;
		margin-left: -160px;
	}
	#main .sec09 .add {
		font-size: 1.5rem;
		letter-spacing: 0;
	}
	#main .sec09 .add .info {
		padding-left: 20px;
	}
}
