@charset "UTF-8";
/* 	
CSS common.css */
/*
base #302b2b
blue #0358B8
red #f90307
*/


/*///////////////////////////////////
Frame / Block
///////////////////////////////////*/

body { font-family: 'Helvetica','Arial','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif; font-size: 1.6rem; color: #302b2b; line-height: 2; letter-spacing: 0.12em; }
@media screen and (max-width: 767px) { 
	body { font-size: 1.4rem; }
}

/* bodyをふわっと */
body { animation: fadeIn 1.5s ease 0s 1 normal; }
@keyframes fadeIn {
	0% { opacity: 0 }
	100% { opacity: 1 }
}

/* section */
.section { padding: 120px 0; }
.section.bottom {padding: 0 0 160px;}
.section.wide { padding: 160px 0; }
.section.none { padding: 0; }
.section.bggrey { background: #F5F3F1;}
.section>.section:last-child { margin-bottom: 0; }
@media screen and (max-width: 1100px) { 
	.section,
	.section.min { padding: 80px 0; }
	.section.wide { padding: 90px 0; }
	.section.bottom { padding: 0 0 120px; }
}
@media screen and (max-width: 767px){
	.section,
	.section.min { padding: 60px 0; }
	.section.wide { padding: 70px 0; }
	.section.bottom { padding: 0 0 80px; }
}

/* incnt */
.incnt { max-width: 1040px; width: 88%; margin: 0 auto; position: relative; }
.incnt.min { max-width: 880px; }
.incnt.wide { max-width: 1180px; }
.incnt.wider { max-width: 1340px; }
.incnt.fix { max-width: none; width: calc(100% - 120px); margin: 0 60px; }
.incnt.max { max-width: none; width: 100%; }
@media screen and (max-width: 1280px){
	.incnt.fix { width: calc(100% - 80px); margin: 0 40px; }
}
@media screen and (max-width: 1100px){
	.incnt, .incnt.max, .incnt.wider, .incnt.wide, .incnt.min { width: 88%; }
}
@media screen and (max-width: 767px){
	.incnt, .incnt.max, .incnt.wider, .incnt.wide, .incnt.min, .incnt.fix { width: 88%; margin: 0 auto; }
	.incnt.none { width: 100%; }
}

/* block */
.block.s1 { margin-bottom: 80px; }
.block.s2 { margin-bottom: 120px; }
@media screen and (max-width: 767px) {
	.block.s1 { margin-bottom: 60px; }
	.block.s2 { margin-bottom: 80px; }
}

.iframe { clear: both; text-align: center; position: relative; width: 100%; padding-top: 56.25%; }
.iframe iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

.coverimg { width : 100%; height : 100%; -o-object-fit : cover; object-fit : cover; }



/*///////////////////////////////////
Text
///////////////////////////////////*/
.mincho { font-family: "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif; }
.gothic { font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;  }
.tategaki { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; display: inline-block; text-align: left; }
.noto { font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; letter-spacing: 0.17em; font-feature-settings : "palt"; }
.yakuhan { font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }
.bodoni { font-family: "Prata", serif, serif; font-optical-sizing: auto; letter-spacing: 0.02em; line-height: 1.2; }
.playfair { font-family: "Playfair Display", serif; font-optical-sizing: auto; letter-spacing: 0.03em; line-height: 1.2; }
.shippori { font-family: "Shippori Mincho", serif; font-optical-sizing: auto; letter-spacing: 0.03em; line-height: 1.2; }

@media screen and (max-width: 767px) { 
}

/* 約物半角 */
.palt { font-feature-settings: "palt"; letter-spacing: .18em; }

/* txt */
.txtsmall { font-size: 1.5rem; }
.txtbig { font-size: 1.8rem; }
@media screen and (max-width: 767px) { 
	.txtsmall { font-size: 1.3rem; }
	.txtbig { font-size: 1.6rem; }
}

.txtred{ color: red; }
.txtblack { color: #302b2b; }

.txt.blue { color: #0358B8; }
.bg.blue { background: #0358B8; }
.border.blue { border: 1px solid #0358B8; }
.marker.blue { background: linear-gradient(transparent 60%, #0358B8 0%); }

blockquote:before, blockquote:after,
q:before, q:after { content: ''; content: none; }
blockquote{ border-left: 4px solid #ccc; padding-left: 10px; font-style: italic; color: #aaa; }
blockquote p { font-style: italic; }

p.indent,
ul.indent li,
ol.indent li { padding-left: 1em!important; text-indent: -1em; }

p.caution,
ul.caution li { padding-left: 1em!important; text-indent: -1em; }
p.caution:before,
ul.caution li:before { content:"※"!important; }

ul.none li,
ul.none li:before { content: ""!important; }

ul.dotlist li { padding-left: 1em!important; text-indent: -1em; }
ul.dotlist li:before { content:"●"!important; color: #0358B8; font-size: 0.7em; margin-right: 0.3em; }

ul.inbrock li { display: inline-block; margin-right: 1em; }
ul.inbrock li:last-child { margin-right: 0; }
@media screen and (max-width: 639px){
	ul.inbrock li { display: block; }
}




/*///////////////////////////////////
Title/Copy
///////////////////////////////////*/

/* toptitle */
.toptitle { margin-bottom: 50px; text-align: left; position: relative; }
.toptitle .main span { font-size: 2rem; font-feature-settings : "palt"; line-height: 1.4; color: rgba(255,255,255,0.0); display: inline; position: relative;}
.toptitle .main span::before{ content: ""; position: absolute; z-index: 1; top: 0%; right: 100%; bottom: 0%; left: 0%; background : #0358B8; }
.toptitle.-in .main span{ animation-name: textanime1; animation-delay: 0.3s; animation-duration: 1.5s; animation-fill-mode: forwards; }
.toptitle.-in .main span::before{ animation-name: textanime2; animation-delay: 0.3s; animation-duration: 1.5s; animation-fill-mode: forwards; }
.toptitle .en{ line-height: 1; margin-bottom: 5px; }
.toptitle .en span {font-size: 10rem; letter-spacing: 0.017em; line-height: 1.2; color: rgba(255,255,255,0.0); position: relative; color: transparent; display: inline; }
.toptitle .en span::before{ content: ""; position: absolute; z-index: 1; top: 0%; right: 100%; bottom: 0%; left: 0%; background : #0358B8; }
.toptitle.-in .en span{ animation-name: textanime1; animation-duration: 1.5s; animation-fill-mode: forwards; }
.toptitle.-in .en span::before{ animation-name: textanime2; animation-duration: 1.5s; animation-fill-mode: forwards; }
#index #sec_2 .toptitle.-in .main span{ animation-name: textanime1_white; }
#index #sec_2 .toptitle.-in .en span{ animation-name: textanime1_white; }
@keyframes textanime1 {
  0%{ color: rgba(255,255,255,0.0); }
  50%{ color: rgba(255,255,255,0.0); }
  51%{ color: #0358B8; }
  100%{ color: #0358B8; }
}
@keyframes textanime1_white {
  0%{ color: rgba(255,255,255,0.0); }
  50%{ color: rgba(255,255,255,0.0); }
  51%{ color: #fff; }
  100%{ color: #fff; }
}
@keyframes textanime1_white {
  0%{ color: rgba(255,255,255,0.0); }
  50%{ color: rgba(255,255,255,0.0); }
  51%{ color: #fff; }
  100%{ color: #fff; }
}
@keyframes textanime2 {
  50%{ left: 0%; right: 0%; }
  100%{ left: 100%; right: 0%; }
}
@media screen and (max-width: 1300px) { 
	.toptitle .en span {font-size: 8rem; }
}
@media screen and (max-width: 1100px) { 
	.toptitle .en span {font-size: 8rem; }
	.toptitle .main span { font-size: 2rem; }
}
@media screen and (max-width: 767px) { 
	.toptitle {margin-bottom: 30px;}
	.toptitle .en { margin-bottom: 5px; }
	.toptitle .en span {font-size: 4rem;  }
	.toptitle .main span { font-size: 1.4rem; }
}

/* sectitle */
.sectitle { margin-bottom: 50px; text-align: center; }
.sectitle .main span {font-size: 3.8rem;line-height: 1.4;color: rgba(255,255,255,0.0);display: inline;position: relative;letter-spacing: 0.2em;}
.sectitle .main span::before{ content: ""; position: absolute; z-index: 1; top: 0%; right: 100%; bottom: 0%; left: 0%; background : #0358B8; }
.sectitle.-in .main span{ animation-name: textanime1; animation-delay: 0.3s; animation-duration: 1.5s; animation-fill-mode: forwards; }
.sectitle.-in .main span::before{ animation-name: textanime2; animation-delay: 0.3s; animation-duration: 1.5s; animation-fill-mode: forwards; }
.sectitle .en { margin-bottom: 15px;}
.sectitle .en span {font-size: 2rem; line-height: 1.2; color: rgba(255,255,255,0.0); position: relative; color: transparent; display: inline; }
.sectitle .en span::before{ content: ""; position: absolute; z-index: 1; top: 0%; right: 100%; bottom: 0%; left: 0%; background : #0358B8; }
.sectitle.-in .en span{ animation-name: textanime1; animation-duration: 1.5s; animation-fill-mode: forwards; }
.sectitle.-in .en span::before{ animation-name: textanime2; animation-duration: 1.5s; animation-fill-mode: forwards; }
#company #sec_5 .sectitle.-in .main span{ animation-name: textanime1_white; }
#company #sec_5 .sectitle.-in .en span{ animation-name: textanime1_white; }
#company #sec_5 .sectitle .main span::before{ background : #fff; }
#company #sec_5 .sectitle .en span::before{ background : #fff; }
@media screen and (max-width: 1100px) {
	.sectitle .main span { font-size: 3.2rem; }
	.sectitle .en span {font-size: 1.8rem; }
}
@media screen and (max-width: 767px) { 
	.sectitle { margin-bottom: 40px; }
	.sectitle .main span { font-size: 2.2rem; }
	.sectitle .en { margin-bottom: 10px;}
	.sectitle .en span {font-size: 1.2rem; }
}

/* blocktitle */
.blocktitle { font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 600; font-style: normal; letter-spacing: 0.1em; font-feature-settings : "palt"; text-align: center; font-size: 4.2rem; line-height: 1.6; margin-bottom: 40px; }
.blocktitle.s1 { font-size: 3.6rem; line-height: 1.6; margin-bottom: 40px; }
.blocktitle.s2 { font-size: 2.8rem; line-height: 1.6; margin-bottom: 35px; padding-bottom: 5px; display: inline-block; border-bottom: 1px solid #302b2b; }
@media screen and (max-width: 767px) { 
	.blocktitle.s1 { font-size: 2.2rem; margin-bottom: 30px; }
	.blocktitle.s2 { font-size: 1.8rem; margin-bottom: 25px; }
}

/* copy */
.copy { font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-style: normal; letter-spacing: 0.17em; font-feature-settings : "palt"; text-align: left; color: #0358B8; }
.copy.s1 {font-size: 3rem;line-height: 1.8;letter-spacing: 0.25em;}
.copy.s2 { font-size: 2.4rem; line-height: 1.6; }
.copy.s3 { font-size: 1.8rem; line-height: 1.8; }
.copy.black { color: #302b2b; }
.copy.intro { text-align: center;}
@media screen and (max-width: 1100px) {
	.copy.s1 { font-size: 2.8rem; }
	.copy.s2 { font-size: 2.2rem; }
}
@media screen and (max-width: 767px) { 
	.copy { letter-spacing: 0.15em; }
	.copy.s1 { font-size: 1.8rem; }
	.copy.s2 { font-size: 1.6rem; }
	.copy.s3 { font-size: 1.4rem; }
}

/* copybox>.tategaki */
.copybox>.tategaki .main span { position: relative; display: inline-block; }
.copybox>.tategaki .main span::before{ content: ""; position: absolute; z-index: 1; top: 0; left: 0; width: 0; height: 100%; background : #fff; }
.copybox>.tategaki.-in .main span{ animation-name: textanime1_white, bganime1; animation-delay: 0.3s; animation-duration: 1.5s; animation-fill-mode: forwards; }
.copybox>.tategaki.-in .main span:nth-of-type(2) { animation-delay: 0.6s; }
.copybox>.tategaki.-in .main span::before{ animation-name: bganime2; animation-delay: 0.3s; animation-duration: 1.5s; animation-fill-mode: forwards; }
.copybox>.tategaki.-in .main span:nth-of-type(2)::before { animation-delay: 0.6s; }
.copybox>.tategaki .en span { color: rgba(255,255,255,0.0); position: relative; color: transparent; display: inline-block;}
.copybox>.tategaki .en span::before{ content: ""; position: absolute; z-index: 1; top: 0; left: 0; width: 0; height: 100%; background : #fff; }
.copybox>.tategaki.-in .en span{ animation-name: textanime1_white, bganime1; animation-duration: 1.5s; animation-fill-mode: forwards; }
.copybox>.tategaki.-in .en span::before{ animation-name: bganime2; animation-duration: 1.5s; animation-fill-mode: forwards; }
@keyframes bganime1 {
  0%{ background: rgba(255,255,255,0.0); }
  50%{ background: rgba(255,255,255,0.0); }
  51%{ background: #0358B8; }
  100%{ background: #0358B8; }
}
@keyframes bganime2 {
  0%{ width: 0; }
  50%{ width: 100%; left: 0}
  100%{ left: 100%}
}


/*///////////////////////////////////
Btn /Link
///////////////////////////////////*/

/* init */
a { transition: 0.3s; color: #302b2b; text-decoration: none; }
.btn.base{display: inline-block; background: #0358B8; padding: 20px 20px 20px; min-width: 320px; box-sizing: border-box; text-align: center; border: 1px solid #0358B8; line-height: 1.3; position: relative; }
.btn.base>span{ font-size: 1.8rem; color: #0358B8; display: inline-block; position: relative; padding-right: 25px; z-index: 2; font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; letter-spacing: 0.17em; font-feature-settings : "palt"; }
.btn.base:not(.grey)::before { content: ""; background: #fff; border-radius: 8px; display: block; position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 1; transition: 0.4s; }
.btn.base>span:after,
.btn.base>span:before{ position:absolute; width: 20px; height: 12px; right: 0; top: 2px; transition: .4s; line-height: 1;}
.btn.base>span:before{ opacity: 1; content: url(../img/common/arr1_blue.svg) }
.btn.base>span:after{ opacity: 0; content: url(../img/common/arr1_white.svg) }
.btn.base:hover>span { color: #fff;}
.btn.base:hover::before{ background: #0358B8; }
.btn.base:hover>span:before{ opacity: 0; }
.btn.base:hover>span:after{ opacity: 1; }
.btn.base:hover>span:after,
.btn.base:hover>span:before{ right: -3px; }
.btn.base.min { min-width: 0; }
.btn.base.wide { max-width: 550px; width: 100%; }
.btn.base.big>span { font-size: 2rem; }
.btn.base.submit { font-size: 2rem; padding: 24px 30px 22px; border: none; }
.btn.base.submit::before { background: #0358B8; }
.btn.base.submit:hover::before { background: #302b2b; border-radius: 0px;}
.btn.base.submit>span { color: #fff; border-radius: 0; }
.btn.base.submit>span:before{ opacity: 1; content: url(../img/common/arr1_white.svg) }
.btn.base.grey{background: #302b2b; border: 1px solid #302b2b; transition: .4s; color: #fff; }
.btn.base.grey>span{ color: #fff; }
.btn.base.grey:hover::before{ background: #302b2b; }
.btn.base.grey:hover{ background: #666; border: 1px solid #666; }
.btn.base.grey>span:before{ opacity: 1; content: url(../img/common/arr1_white.svg) }
@media screen and (max-width: 767px) {
	.btn.base>span{ font-size: 1.5rem; padding-right: 22px;}
	.btn.base>span:after,
	.btn.base>span:before{ width: 17px; height: 14px; }
	.btn.base.min { min-width: 360px; }
	.btn.base.big>span { font-size: 1.8rem; }
}
@media screen and (max-width: 500px) {
	.btn.base{ width: 100%; min-width: 0;}
	.btn.base.min { width: 100%; min-width: 0;}
}

/* btnbox */
.btnbox { text-align: center; width: 100%; margin-top: 30px; }
.btnbox.wide { margin-top: 70px; }
.btnbox ul { margin-left: -20px; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; margin-top: -10px; }
.btnbox ul>li { margin-left: 20px; margin-top: 10px; }
@media screen and (max-width: 767px) {
	.btnbox { margin-top: 25px; }
	.btnbox.wide {margin-top: 45px; }
	.btnbox ul { margin-left: 0; display: block; margin-top: 0;}
	.btnbox ul>li { margin-left: 0; margin-bottom: 20px; width: 100%; }
	.btnbox ul>li:last-child { margin-bottom: 0px; }
}

/* link */
a.link.base{display: inline-block; line-height: 1.3; font-size: 1.8rem; position: relative; padding-right: 33px; font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; letter-spacing: 0.17em; font-feature-settings : "palt";}
a.link.base::after { position:absolute; width: 28px; height: 28px; right: 0; top: -2px; transition: .3s; line-height: 1; content: url(../img/common/arr2.svg) }
a.link.base:hover:after { right: -5px; }
@media screen and (max-width: 767px) {
	a.link.base{ font-size: 1.5rem; padding-right: 25px;}
	a.link.base::after{ width: 22px; height: 22px; top: -1px;  }
}

/* linktxt */
a.linktxt:visited{ color: inherit; }
a.linktxt:hover{ color: #666; }
@media screen and (max-width: 767px) {
	a { transition: none; }
	a.linktxt { font-size: 1.5rem; }
}




/*///////////////////////////////////
Table
///////////////////////////////////*/

/* reset */
table { border-collapse: collapse; border-spacing:0; text-align: left; font-style:normal; font-weight:normal; width:100%; }
table th, table td { text-align: left; vertical-align: middle; list-style: none; word-break: break-all; }
table th { font-weight: bold }
table.base , table.type1 { width : 100%; margin : 10px 0; margin-bottom : 5px; }
table.base th , table.base td , table.type1 th , table.type1 td { padding : 20px 2%; line-height : 1.5; border : 1px solid #302b2b; }

table.type1 thead th { background-color : #eeeeee; text-align : center; }
table.type1 tbody th { background-color : #faf9f7; }



/*///////////////////////////////////
Animation
///////////////////////////////////*/

/* animation: fadeIn 0.3s ease 1s 1 normal; */
@keyframes fadein { 
	0% { opacity: 0 }
	100% { opacity: 1 }
}
@keyframes fadeout { 
	0% { opacity: 0 }
	100% { opacity: 1 }
}



/*///////////////////////////////////
Site Common
///////////////////////////////////*/

/* pager */
.pager { width: 100%; position: relative; margin-top: 100px;}
.pager a.back { text-decoration: none; font-size:2.4rem; position: relative; padding-bottom: 10px; }
.pager a.prev,
.pager a.next { left:0; position: absolute; top:0; text-decoration: none; font-size:1.8rem; font-weight: bold;}
.pager a.next { left:auto; right:0; }
.pager a.prev:hover,
.pager a.next:hover { text-decoration: none; }
.pager a.back::after,
.pager a.prev::before,
.pager a.next::after { content: url(../img/common/arr1.svg); width: 20px; height: 16px; font-size: 0; display: inline-block; transition: 0.3s; vertical-align: -2px; margin-left: 5px;}
.pager a.prev::before { rotate: 180deg; margin-right: 5px; margin-left: 0;}
.pager a.back:hover::after,
.pager a.prev:hover::before,
.pager a.next:hover::after { width: 100%; left: 0; }
@media screen and (max-width: 1100px) {
	.pager { margin-bottom: 100px;margin-top: 80px;}
}
@media screen and (max-width: 767px) {
	.pager { text-align: center; margin-top: 60px; }
	.pager a.back { font-size:1.8rem; position: relative; padding-bottom: 0; margin: 0 10px; }
	.pager a.prev,
	.pager a.next { display: inline-block; position: static; margin: 0 10px; font-size: 1.8rem;  }.pager a.back::after,
	.pager a.prev::before,
	.pager a.next::after { width: 17px; height: 14px; vertical-align: 0px; }
}

/* pager page-numbers */
.pager ul.page-numbers { text-align : center; }
.pager ul.page-numbers li { display : inline-block; }
.pager ul.page-numbers li a , .pager ul.page-numbers li span { display : block; text-align : center; text-decoration : none; transition : .5s; box-sizing : border-box; font-size: 2.4rem; width : 20px; position : relative; height : auto; margin : 0 6px; letter-spacing: 0; color : #0358B8;}
.pager ul.page-numbers li a:after,
.pager ul.page-numbers li span:after { content : ""; position : absolute; background-color : #0358B8; display : inline-block; height : 1px; bottom : -2px; left : 0; transition : 0.3s; right : 0; width : 0; margin : 0 auto; }
.pager ul.page-numbers li a:hover { opacity : 1; }
.pager ul.page-numbers li span.dots { padding : 9px 5px; }
.pager ul.page-numbers li span.current { cursor : default; }
.pager ul.page-numbers li a:hover:after , .pager ul.page-numbers li span.current:after { width : 100%; }
@media screen and (max-width: 767px) {
	.pager ul.page-numbers { margin-top: 10px; }
	.pager ul.page-numbers li a , .pager ul.page-numbers li span { font-size: 1.8rem; margin: 0 4px; }
	.pager ul.page-numbers li a:hover { opacity : 0; }
}



.archivecategorylist { display: flex; justify-content: center; }
.archivecategorylist>li a {font-size: 2.0rem;color: #0358B8;margin: 0 0.5em;position: relative;display: inline-block;}
.archivecategorylist>li a:hover { opacity: 0.7;}
.archivecategorylist>li.current a::after { content: ""; height: 8px; width: 8px; border-radius: 4px; font-size: 0; display: inline-block; background: #0358B8; position: absolute; background: #0358B8; top: -20px; left: calc(50% - 4px); }
@media screen and (max-width: 767px){
	.archivecategorylist>li a { font-size: 1.4rem; padding-left: 15px;}
	.archivecategorylist>li.current a::after{left: 0;top: 10px;}
}
@media screen and (max-width: 500px){
}

/* ul.newslist */
ul.newslist { width: 100%;}
ul.newslist>li { width: 100%; padding-top: 30px; margin-top: 30px; border-top: 1px solid #ccc; }
ul.newslist>li:first-child { padding: 0; margin: 0; border-top: none; }
ul.newslist>li a { display: flex; align-items: center; }
ul.newslist>li a .imgbox { width: 180px; height: 130px; margin-right: 40px; overflow: hidden;}
ul.newslist>li a .imgbox>img { transition:0.4s }
ul.newslist>li a .txtbox { flex: 1;}
ul.newslist>li a .txtbox .info { display: flex; }
ul.newslist>li a .txtbox .cat { font-size: 1.4rem; line-height: 1; background: #F5F3F1; border-radius: 15px; padding: 5px 15px; display: inline-block; min-width: 70px; text-align: center; }
ul.newslist>li a .txtbox .date { color: #0358B8; font-size: 1.8rem; margin-left: 20px;}
ul.newslist>li a .txtbox .title { margin-top: 12px; line-height: 1.7;}
ul.newslist>li a:hover .imgbox>img { transform: scale(1.1);}
ul.newslist>li a:hover .txtbox .title { color: #0358B8; }
@media screen and (max-width: 1100px){
}
@media screen and (max-width: 767px){
	ul.newslist>li a .txtbox .cat { font-size: 1.2rem; padding: 5px 15px 1px; min-width: 0; }
	ul.newslist>li a .txtbox .date { color: #0358B8; font-size: 1.6rem; margin-left: 10px;}
	ul.newslist>li a .imgbox { margin-right: 30px; }
}
@media screen and (max-width: 500px){
	ul.newslist>li { padding-top: 20px; margin-top: 20px; }
	ul.newslist>li a .txtbox .cat { font-size: 1.1rem; padding: 3px 12px 1px;}
	ul.newslist>li a .txtbox .date { font-size: 1.3rem; margin-left: 7px;}
	ul.newslist>li a .txtbox .title { font-size: 1.3rem; line-height: 1.6;}
	ul.newslist>li a .imgbox { width: 120px; height: 120px; margin-right: 20px; }
}

/* ul.contactbox */
ul.contactbox { display: flex; justify-content: flex-start; align-items: center; }
ul.contactbox>li{ display: inline-block; line-height: 1; }
ul.contactbox>li>a{ position: relative; display: flex; justify-content: center; align-items: center; padding-left: 60px;  color: #0358B8; }
ul.contactbox>li>a::before{ content: ""; border: 1px solid #0358B8; width: 50px; height: 50px; display: inline-block; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; left: 0; border-radius: 26px; transition: 0.4s; background: rgba(3,88,184,0.2); }
ul.contactbox>li>a:hover { color: #0358B8; }
ul.contactbox>li>a span { position: relative; font-size: 4.2rem; padding-top: 7px;}
ul.contactbox>li>a span::after { content:""; display: inline-block; position: absolute; bottom: 0; left: 0; transition: 0.4s; height: 1px; width: 0; font-size: 0; background: #0358B8; }
ul.contactbox>li>a:hover span::after { width: 100%; }
ul.contactbox>li>a:hover::before{ border: 1px solid #0358B8; background: #CADCF0; }
ul.contactbox>li.telbox { margin-right: 20px;}
ul.contactbox>li.telbox a::after{ content: ""; background: url(../img/common/icon_tel_b.svg) no-repeat; background-size: contain; width: 19px; height: 19px; display: inline-block; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; left: 17px; }
ul.contactbox>li.mailbox a::after{ content: ""; background: url(../img/common/icon_mail_b.svg) no-repeat; background-size: contain; width: 22px; height: 15px; display: inline-block; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; left: 16px; }
@media screen and (max-width: 1300px){
	ul.contactbox>li:first-child { margin-right: 20px;}
	ul.contactbox>li>a{ padding-left: 55px; }
	ul.contactbox>li>a::before{ width: 45px; height: 45px; }
	ul.contactbox>li>a span { font-size: 3rem; padding-top: 3px;}
	ul.contactbox>li.telbox a::after{ width: 16px; height: 16px; left: 16px; }
	ul.contactbox>li.mailbox a::after{ width: 18px; height: 13px; left: 15px; }
}
@media screen and (max-width: 1100px){
	ul.contactbox { justify-content: center; }
}
@media screen and (max-width: 900px){
	ul.contactbox>li>a{ padding-left: 42px; }
	ul.contactbox>li>a::before{ width: 34px; height: 34px; }
	ul.contactbox>li>a span { font-size: 2.8rem; }
	ul.contactbox>li.telbox a::after{ width: 14px; height: 14px; left: 11px; }
	ul.contactbox>li.mailbox a::after{ width: 16px; height: 10px; left: 11px; }
}
@media screen and (max-width: 500px){
	ul.contactbox>li>a span { font-size: 2.4rem; padding-top: 2px; }
	ul.contactbox>li.telbox { margin-right: 10px;}
}
@media screen and (max-width: 360px){
	ul.contactbox>li>a span { font-size: 2.1rem; }
}

/* 無限ループスライダー　*/
.loopscroll .wrap { display: flex; overflow: hidden; }
.loopscroll .wrap ul.imgbox { display: flex; animation: infinityscroll 60s infinite linear 0.5s both; }
.loopscroll .wrap ul.imgbox>li { width: 40vw; height: calc(300px + 15vw); box-sizing: border-box; padding: 8px; }
.loopscroll .wrap ul.imgbox>li:nth-child(6) { width: 30vw; }
.loopscroll .wrap ul.imgbox>li:nth-child(2) { width: 25vw; display: flex; flex-direction: column; justify-content: space-between;}
.loopscroll .wrap ul.imgbox>li img { width: 100%; border-radius: 8px; }
.loopscroll .wrap ul.imgbox>li:nth-child(2)>.imgwrap { height: calc(50% - 8px); }
@keyframes infinityscroll {
	from { transform: translateX(0); }
	to { transform: translateX(-100%); }
}
@media screen and (max-width: 1100px){
	.loopscroll .wrap ul.imgbox>li { height: 520px; width: 60vw; }
	.loopscroll .wrap ul.imgbox>li:nth-child(6) { width: 40vw; }
	.loopscroll .wrap ul.imgbox>li:nth-child(2) { width: 40vw; }
}
@media screen and (max-width: 767px){
	.loopscroll .wrap ul.imgbox>li { height: 400px; padding: 6px; }
	.loopscroll .wrap ul.imgbox>li img { width: 100%; border-radius: 6px; }
	.loopscroll .wrap ul.imgbox>li:nth-child(2)>.imgwrap { height: calc(50% - 6px); }
}
@media screen and (max-width: 500px){
	.loopscroll .wrap ul.imgbox>li {height: 280px;width: 80vw;}
	.loopscroll .wrap ul.imgbox>li:nth-child(6) { width: 40vw; }
	.loopscroll .wrap ul.imgbox>li:nth-child(2) { width: 40vw; }
}

/* 表示非表示切り替え　*/
.t-show { display: none; }
.t-hide { display: block; }
.m-show { display: none; }
.s-show { display: none; }
@media screen and (max-width:1100px) {
	.t-hide { display: none; }
	.t-show { display: block; }
}
@media screen and (max-width:767px) {
	.m-show { display: block; }
}
@media screen and (max-width:500px) {
	.s-show { display: block; }
	.s-show.inb { display: inline-block; }
	.s-show.inl { display: inline; }
	.s-hide { display: none; }
}

/* 下マージン*/
.para6 { margin-bottom: 60px!important; } 
@media screen and (max-width: 767px) {
	.para6 { margin-bottom: 40px!important; }
}
@media screen and (max-width:500px) {
}



/*///////////////////////////////////
#Form
///////////////////////////////////*/

/* input */
form input[type="text"],
form input[type="tel"],
form input[type="email"],
form input[type="password"],
form textarea { border: 1px solid #302b2b; background: #f5f5f5!important; line-height: 1.8; padding: 15px 18px; font-size: 100%; height: 55px; width: 100%; transition: 0.3s; letter-spacing: 1.6;  }

form textarea { height: 300px; width: 100%; resize: vertical; display: block; }
form input[type="text"]:focus,
form input[type="tel"]:focus,
form input[type="email"]:focus,
form input[type="password"]:focus,
form textarea:focus { background: #eee!important; }
form input[type="text"]:read-only,
form input[type="tel"]:read-only,
form input[type="email"]:read-only,
form input[type="password"]:read-only,
form textarea:read-only { background: #eee!important; }
@media screen and (max-width: 767px) {
	form input[type="text"],
	form input[type="tel"],
	form input[type="email"],
	form input[type="password"] { padding: 18px 12px; height: 60px; }
	form textarea { padding: 13px 10px; }
}

/* other */
input::placeholder, textarea::placeholder { color: #ccc!important; }
p.ermsg { color: #0358B8; line-height: 1.8; margin-top:10px; }
p.ermsg + p.ermsg { margin-top:0; }
.required {display: inline-block;color: #fff;background: #0358B8;font-size: 1.2rem;padding: 4px 10px;border-radius: 20px;line-height: 1;letter-spacing: 0.15em;}
ul.list.error { margin-bottom: 60px; }
ul.list.error li { margin-bottom: 5px; color: #0358B8;}
@media screen and (max-width: 767px) {
}

/* size */
form .short { width: 300px!important;}
form .middle { width: 500px!important;}
@media screen and (max-width: 767px) {
	form .short { width: 100%!important;}
	form .middle { width: 100%!important;}
}

/* file */
form input[type="file"] { padding: 3px 5px; font-size: 100%; height: 30px; z-index: -1; }
form input[type="file"]:read-only { background: #eee; }
form input[type="file"] { display: none; }

/* checkbox */
form input[type="checkbox"] { width: 16px; height: 16px; border:1px solid #302b2b; background-color: #fff!important; cursor: pointer; background-size: 16px 16px!important; font-size: 0; transition: 0.3s; margin-right: 5px; vertical-align: -2px; }
form input[type="checkbox"].checked,
form input[type="checkbox"]:checked { background-color: #0358B8!important; border:1px solid #0358B8; }
form input[type="checkbox"].checked:before,
form input[type="checkbox"]:checked:before,
form input[type="checkbox"].checked:after,
form input[type="checkbox"]:checked:after { content:none!important; }

/* radio */
form input[type="radio"] { width: 18px; height: 18px; border-radius: 50%; border:1px solid #bbb; background-color: #fff!important; cursor: pointer; background-size: 18px 18px!important; font-size: 0; transition: 0.3s; margin-right: 5px; vertical-align: -3px; }
form input[type="radio"].checked,
form input[type="radio"]:checked { background-color: #0358B8!important; border: 1px solid #0358B8; }
form input[type="radio"].checked:before,
form input[type="radio"]:checked:before,
form input[type="radio"].checked:after,
form input[type="radio"]:checked:after { content:none!important; }

/* date */
input[type="date"]:focus { outline: 0; }
input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-clear-button{ -webkit-appearance: none; }
input[type="date"]::-webkit-calendar-picker-indicator { opacity: 0; height: 60px; width: 60px; right: 0; cursor: pointer; }
input[type="date"] { position: relative; width: 210px; height: 60px; border: 0; background: transparent; box-sizing: border-box; font-size: 1.5rem; color: #302b2b; letter-spacing: 0.1em; padding-left: 10px; }

/* daybox */
form .daybox label { position: relative; display: inline-block; width: 210px; height: 60px; border: 1px solid #302b2b; color: #302b2b; margin-left: 15px; }
form .daybox label::before { content: ""; background: #ccc; width: 60px; height: 60px; top: 0; right: 0; position: absolute; z-index: -1; border-left: 1px solid #302b2b; }
form .daybox label::after { position: absolute; content: url("../img/contact/calender.svg"); width: 20px; height: 20px; top: 16px; right: 19px; z-index: -1; }
@media screen and (max-width: 900px) { 
	form .daybox label { margin-left: 0; margin-top: 5px; }	
}

/* selectbox */
form .selectbox { height: 60px; width: 380px; position: relative; z-index: 1; border: 1px solid #302b2b; background: #fff; }
form .selectbox::before { content: ""; background: #ccc; width: 60px; height: 60px; top: 0; right: 0; position: absolute; z-index: -1; border-left: 1px solid #302b2b; }
form .selectbox::after { position: absolute; content: ''; width: 8px; height: 8px; right: 25px; top: 50%; transform: translateY(-50%) rotate(45deg); border-bottom: 1px solid #fff; border-right: 1px solid #fff; z-index: -1; }
form .selectbox select { font-size: 1.5rem; width: 100%; height: 100%; padding: 0 15px; position: relative; letter-spacing: 0.1em; }
@media screen and (max-width: 767px) { 
	form .selectbox { width: 100%; }
}

/* filebox */
form .filebox label { padding: 15px 40px; background: #302b2b; border: 1px solid #302b2b; color: #fff; cursor: pointer; transition: 0.3s; }
form .filebox label:hover { background: #fff; color: #302b2b; }
form .filebox label span:after { content: url(../img/common/arr1_white.svg); width: 10px; height: 10px; font-size: 0; vertical-align: 0px; margin-left: 10px; transform: rotate(-90deg); z-index: 1; display: inline-block; } 
form .filebox label:hover span:after { content: url(../img/common/arr1_blue.svg); } 
form .filebox .filename { margin-top: 10px; margin-bottom: 20px; }
@media screen and (max-width: 767px){
	form .filebox { display: block; align-items: center; }
	form .filebox label:hover { background: #302b2b; color: #fff; }
	form .filebox label:hover span:after { content: url(../img/common/arr1_white.svg); } 
}

/* timebox */
form .selectbox.time { width: 210px; margin-left: 20px; }
@media screen and (max-width: 900px) { 
	form .selectbox.time { margin-left: 0; margin-top: 10px; }	
}
@media screen and (max-width: 767px) {
	form select{ height: 60px; padding-left: 0; padding-right: 15px; }
}

/* layout */
form .formbox1{ margin-top: 30px; }
form .formbox1>ul>li:not(:last-child) { margin-bottom: 30px; }
form .formbox1>ul>li>dl { display: flex; justify-content: space-between; }
form .formbox1>ul>li>dl>dt {width: 240px;text-align: left;flex-shrink: 0;padding-top: 15px;margin-left: -10px;}
form .formbox1>ul>li>dl>dt .txt{ font-weight: bold; }
form .formbox1>ul>li>dl>dt .txt,
form .formbox1>ul>li>dl>dt .required{ margin-left: 10px; }
form .formbox1>ul>li>dl>dd { width: 100%; }
form .formbox1._check>ul>li>dl>dt{ padding-top: 0; }

form .ppcheck {padding: 40px 0 0;text-align: center;}
form .ppcheck>dd{ display: inline-block; position: relative; }
@media screen and (max-width: 1200px){
	form .ppcheck { padding: 30px 0 0; }
}
@media screen and (max-width: 767px) { 
	form .formbox1>ul>li>dl { display: block; }
	form .formbox1>ul>li:not(:last-child) { margin-bottom: 25px; }
	form .formbox1>ul>li>dl>dt {width: 100%;margin-bottom: 10px;padding-top: 0;}
	.radiolist{min-height: inherit; display: block; text-align: left; }
}



/*///////////////////////////////////
WP
///////////////////////////////////*/

/*.editbody { max-width: 880px; margin: 0 auto; }*/
.editbody > :first-child { margin-top: 0; }
.editbody:after { content : ""; display : block; clear : both; height : 0; visibility : hidden; overflow : hidden; line-height : 0; font-size : 0; }
.editbody div:not(.section):not(.block) , .editbody p , .editbody h2 , .editbody h3 , .editbody h4 , .editbody ul , .editbody ol , .editbody img , .editbody table { margin-bottom : 30px; }
.editbody p:last-child , .editbody div:last-child , .editbody ul:last-child , .editbody ol:last-child , .editbody img:last-child , .editbody table:last-child { margin-bottom : 0px; }
.editbody * > *:last-child { margin-bottom : 0px; }
.editbody img {max-width : 100%;}
.editbody .wp-caption { width : 100% !important; }
.editbody ul li { padding-left : 1em !important; text-indent : -1em; }
.editbody ol li { counter-increment : number; padding-left : 1.6em !important; text-indent : -1.6em; }
.editbody ul li:before { content : "・"; }
.editbody ol li:before { content : counter(number) "．"; }
.editbody div.clearfix { margin-bottom : 0; }
.editbody div > *:last-child , .editbody ul > *:last-child , .editbody li > *:last-child , .editbody p > *:last-child , .editbody dt > *:last-child , .editbody dd > *:last-child , .editbody ol > *:last-child { margin-bottom : 0px; }
.editbody div div:not(.section):not(.block):last-child { margin-bottom : 0; }

.editbody .basebtn{display: inline-block; padding: 20px 20px 20px; min-width: 320px; box-sizing: border-box; text-align: center; line-height: 1.3; position: relative; max-width: 550px; width: 100%; font-size: 1.8rem; color: #0358B8;background: #fff; border: 1px solid #0358B8; padding-right: 25px; z-index: 2; font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; letter-spacing: 0.17em; font-feature-settings : "palt"; }
.editbody .basebtn:hover { color: #fff;background: #0358b8;}
.editbody .basebtn.grey{background: #302b2b; border: 1px solid #302b2b; transition: .4s; color: #fff; }
.editbody .basebtn.grey:hover{ background: #666; color: #fff;background: #666; }
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 500px) {
	.editbody .basebtn{ width: 100%; min-width: 0;}
}

/* .editbody h2 { margin-top: 100px;}
.editbody h3 { margin-top: 60px; }
.editbody p,
.editbody h4,
.editbody ul,
.editbody ol,
.editbody table,
.editbody img { margin-top: 40px;}
.editbody img + img { margin-top: 30px; } */
@media screen and (max-width: 767px) { 
}

/* iframe動画 100%表示　*/
.youtubebox { position: relative; width: 100%; padding-top: 56.25%; }
.youtubebox iframe{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }



/*///////////////////////////////////
IE
///////////////////////////////////*/
#iealertbox { position : fixed; top : 0; right : 0; height : 100%; width : 100%; background-color : #302b2b; z-index : 100000; display : none; justify-content : center; align-items : center; pointer-events : none; }
#iealertbox.is-ie { display : flex; pointer-events : auto; }
#iealertbox .inbox { text-align : center; margin : 10%; color : #ffffff; }
#iealertbox .inbox .copy { color : #ffffff; }
#iealertbox .inbox .txt { margin-bottom : 20px; }
#iealertbox .inbox .browser { text-align : center; display : flex; justify-content : center; }
#iealertbox .inbox .browser li { margin : 20px; }
#iealertbox .inbox .browser li a { width : 280px; border : 2px solid #ffffff; padding : 40px; display : block; border-radius : 10px; box-sizing : border-box; text-decoration : none; color : #ffffff; }
#iealertbox .inbox .browser li a:hover { background-color : #f7f7f7; }
#iealertbox .inbox .browser li a img { width : 120px; }
#iealertbox .inbox .browser li a .txt1 { margin-top : 20px; line-height : 1.8; }
@media screen and (max-width: 767px) {
	#iealertbox .inbox .txt { text-align : justify; }
	#iealertbox .inbox .txt br { display : none; }
	#iealertbox .inbox .browser { display : block; }
	#iealertbox .inbox .browser li { margin : 0; margin-bottom : 20px; }
	#iealertbox .inbox .browser li a { width : 100%; padding : 30px 8%; }
	#iealertbox .inbox .browser li a img { width : 80px; }
}