@charset "UTF-8";

/* =======================================
common
======================================= */
body {
font-size: 14px;
font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
vertical-align: baseline;
line-height: 28px;
font-weight: normal;
color: #333;
background-color: #fff;
}
.fade-layer,
body:before{
content: '';
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:#fff;
z-index:99999;
}
body.fade-layer-off:before{
content: none;
}
#wrapper{
overflow: hidden;
display: flex;
flex-direction: column;
min-height: 100vh;	
}

.img-responsive {
  width: 100%;
  height: auto;
  margin: 0;
}
.img-responsive-overwrite{
margin: 0px auto 15px;
}

/* .row の左右のネガティブマージンを0にする */
.row--nopadding {
margin-left: 0;
margin-right: 0;
}

/* .row--nopadding の中にあるカラムの左右のパディングを0にする */
.row--nopadding > [class*="col-"] {
padding-left: 0;
padding-right: 0;
}

/* .row--v-middle の中にあるカラムの縦中央揃え */
.row--v-middle {
font-size: 0;
}

.row--v-middle > [class*="col-"] {
float: none;
display: inline-block;
vertical-align: middle;
font-size: 14px;
}





/* =======================================
高さ揃え
======================================= */
.row-eq-height {
display: flex;
flex-wrap: wrap;
}

.txt12 {
font-size:12px;
line-height:18px;
font-weight:normal;
}
.txt20b {
font-size:20px;
font-weight:bold;
}
.txt26 {
font-size:26px;
line-height:36px;
}
.color-red {
color: #751486;
}
.color-redb {
color: #751486;
font-weight:bold;
}
.color-black {
color: #333333;
}



a.sitecolor:link {
color: #751486;
text-decoration: none;
}
a.sitecolor:visited {
color: #751486;
text-decoration: none;
}
a.sitecolor:hover {
color: #333;
text-decoration: underline;
}
a:link.boldlink {
color:#751486;
text-decoration:underline;
font-weight: bold;
}
a:visited.boldlink {
color:#751486;
text-decoration:underline;
font-weight: bold;
}
a.boldlink:hover {
color:#333;
text-decoration:underline;
font-weight: bold;
}


.voice_table_box p a:link {
color: #751486;
text-decoration: underline;
}
.voice_table_box p a:visited {
color: #751486;
text-decoration: underline;
}
.voice_table_box p a:hover {
color: #333;
text-decoration: none;
}




.btn-ghost.btn-warning {
background-color:#fdd000;
color:#333;
border-style:none;
}

.btn-ghost.btn-warning:hover {
background-color:#751486;
color:#fff;
border-style:none;
}

.btn-cta {
  padding: 30px 15px;
  font-size: 30px;
  line-height: 1.3333333;
  border-radius: 10px;
}

.btn-ghost.btn-story {
color:#fff;
background-color:#666;
}

.btn-ghost.btn-story:hover {
color:#fff;
background-color:#333;
}


@media (max-width: 768px) {
.btn-ghost.btn-warning {
font-size:12px;
margin-bottom:10px;
}
.btn-ghost.btn-story {
font-size:12px;
margin-bottom:10px;
}
.btn-ghost.btn-cta {
font-size:16px;
margin-bottom:10px;
}
}

a:hover img.overwhite{
cursor:pointer;
filter: alpha(opacity=60);		  /* ie lt 8 */
-ms-filter: "alpha(opacity=60)";  /* ie 8 */
-moz-opacity:0.6;				  /* FF lt 1.5, Netscape */
-khtml-opacity: 0.6;			  /* Safari 1.x */
opacity:0.6;
zoom:1;
}


/* =======================================
common articletitle
======================================= */
.common-article-title h2{
display: inline;
font-size:36px;
font-weight:normal;
color:#751486;
font-feature-settings : "palt";
}
.common-article-title h3{
display: inline;
margin-left:10px;
font-size:16px;
font-weight:normal;
color:#333;
font-feature-settings : "palt";
}
@media (max-width: 768px) {
.common-article-title h2 {
display: block;
text-align:center;
}
.common-article-title h3 {
display: block;
text-align:center;
}
}

.common-archive-article-title h2{
display: inline;
font-size:30px;
font-weight:normal;
color:#751486;
font-feature-settings : "palt";
}
.common-archive-article-title h3{
display: inline;
margin-left:10px;
font-size:16px;
font-weight:normal;
color:#333;
font-feature-settings : "palt";
}



/* =======================================
margin set
======================================= */
.mt10{
margin-top:10px;
}
.mt20{
margin-top:20px;
}
.mt30{
margin-top:30px;
}
.mt40{
margin-top:40px;
}
.mt50{
margin-top:50px;
}
.mt60{
margin-top:60px;
}
.mt70{
margin-top:70px;
}
.mt80{
margin-top:80px;
}
.mt90{
margin-top:90px;
}
.mt100{
margin-top:100px;
}


/* =======================================
bg_set
======================================= */
.bg_set_white {
margin:0px 0px 0px 0px;
padding:60px 20px 60px 20px;
background-color: #fff;
}
@media (max-width: 768px) {
.bg_set_white {
margin:0px 0px 0px 0px;
padding:20px 20px 20px 20px;
}	
}
.bg_set_white_narrow {
margin:0px 0px 0px 0px;
padding:20px 20px 60px 20px;
background-color: #fff;
}
.bg_set_grey1 {
margin:0px 0px 0px 0px;
padding:60px 20px 60px 20px;
background-color: #f2f2f2;
}
.bg_set_grey5 {
margin:0px 0px 0px 0px;
padding:60px 20px 60px 20px;
background-color: #e6e6e6;
}
.bg_set_grey10 {
margin:0px 0px 0px 0px;
padding:60px 20px 60px 20px;
background-color: #ccc;
}

.bg_set_yellow_left {
margin:0px 0px 0px 0px;
padding:60px 20px 60px 20px;
background:linear-gradient(90deg,#f9f5fa 0%,#f9f5fa 75%,#fff 25%,#fff 100%);
}
@media (max-width: 768px) {
.bg_set_yellow_left {
background-image:none;
background-color: #f9f5fa;
}	
}

.bg_set_grey_right {
margin:0px 0px 0px 0px;
padding:60px 20px 60px 20px;
background:linear-gradient(270deg,#f2f2f2 0%,#f2f2f2 75%,#fff 25%,#fff 100%);
}
@media (max-width: 768px) {
.bg_set_grey_right {
background-image:none;
background-color: #f2f2f2;
}	
}


.bg_set_bigtitle {
position: relative;
padding: 20px 0px;
background-color: #751486;
border-radius: 0px;
text-align: center;
}
.bg_set_bigtitle::after {
position: absolute;
top: 100%;
left: 43%;
content: '';
width: 0;
height: 0;
border: 100px solid transparent;
border-top: 30px solid #751486;
}

@media (max-width: 768px) {
.bg_set_bigtitle::after {
position: absolute;
top: 100%;
left: 41%;
content: '';
width: 0;
height: 0;
border: 40px solid transparent;
border-top: 15px solid #751486;
}
}

.bigtitle{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.bigtitle p{
color:#fff;
font-weight: bold;
font-size: 30px;
line-height: 36px;
position: relative;
border-top: solid 1px white;
border-bottom: solid 1px white;
padding: 20px 20px 20px 50px;
}
.bigtitle p::before{
content: "";
position: absolute;
top: -10px;
left: 10px;
width: 15px;
height: 50px;
background-color: #b989c2;
}
@media (max-width: 768px) {
.bigtitle p{
font-size: 18px;
line-height: 26px;
}	
}



/* image change */
.mobileHidden { display:none;}

@media only screen and (max-width: 767px){ 
.desktopHidden { display:none;}
.mobileHidden { display:inline;}
}


/* =======================================
header
======================================= */
header {
margin-top: 10px;
} 
.header-bg-kei {
margin: 0px;
background-image: url(../images/header_bg_kei.png);
background-repeat: no-repeat;
background-position: center center;
}
@media (max-width: 991px) {
.header-bg-kei {
background-image: none;
}
}
.header-logo-mark {
margin-top: 10px;
margin-bottom: 10px;
text-align:left;
}
@media (max-width: 768px) {
.header-logo-mark img{
margin-left: auto;
margin-right: auto;
}
}
.header-sitename {
margin-top: 30px;
text-align:center;
}
.header-sitename h2 {
margin-top: 20px;
font-size: 16px;
line-height: 26px;
color: #333;
font-weight: normal;
}
@media (max-width: 767px) {
.header-sitename h2 {
margin-top: 0px;
font-size: 14px;
line-height: 24px;
text-align: center;
}
}



@media screen and (min-width: 992px) {
.br-sp { display:none; }
}
@media (max-width: 767px) {
.br-pc { display:none; }
}



.header-rightbox {
margin-top: 15px;
padding:0px;

}
.header-rightbox img{
text-align:right;
}

@media (max-width: 767px) {
.header-rightbox img{
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
}
}



/* =======================================
navi bar
======================================= */
@media (min-width: 768px) {
.navbar-nav.nav-justified > li{
float:none;
}

/* sp no-display */
.navbar-nav.nav-justified > li.gnav-none {
display:none;
}
}

.navbar {
margin-bottom: 0px; 
}  

.navbar-nav {
margin: 0px 0px; 
height: 100%;
} 

.navbar-nav .active a {
background-color: #333;
}



/* customize nav style */
.navbar-custom {
background-color: #751486;
font-weight:700;
border-width:0;
}
/* gNavi menu name resize */
.navbar-custom  .navbar-nav>li {
text-overflow: ellipsis;
white-space: nowrap;
}

@media (max-width: 767px) {
.navbar-custom .navbar-nav>li>a {
padding:20px 0px 20px 0px;
}	
}



.navbar-custom  .navbar-nav>li>a {
color: #fff;
font-weight:normal;
}
.navbar-custom  .dropdown-menu li>a:hover {
color: #333;
background-color: #fdd000;
}

.navbar-custom  .navbar-nav li>a:hover, .navbar-nav li .open, .navbar-custom .navbar-nav .active a  {
background-color: #fdd000;
color: #333;
min-height: 100%;
}  
.navbar-collapse.in { /*3.0.2 bug workaround*/
overflow-y: visible;
}
.navbar-toggle {
outline:0;
}
.divider {
height:50px;
}
.panel {
border-width:0;
}


.activegNavDrop   {
background-color: #e05858;
min-height: 100%;
}  




/* =======================================
navi bar　dropdown
======================================= */
@media (min-width: 768px) {
.dropdown:hover > .dropdown-menu{
display: block;
}
}


.dropdown-menu {
font-size: 13px;
text-align: center;
background-color: #efefef;
width:100%;
}
.dropdown-menu > li > a {
background-color: #efefef;
color: #333333;
}
.dropdown:hover > .dropdown-menu > li > a:hover {
background-color: #efefef;
color: #fff;
}


.dropdown-toggle .active a{
background-color: #333;
}


@media (max-width: 767px) {
.navbar-nav .open .dropdown-menu {
position: static;
float: none;
width: auto;
margin-top: -5px;
color: #999;
background-color: #efefef;
padding: 2px;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
color: #333;
}
}

/* =======================================
swiper
======================================= */
.swiper-container {
margin:0px;
width: 100%;
height: auto;         
}


.swiper-slide {
text-align: center;
font-size: 18px;
background: #fff;
margin-left:auto;
margin-right:auto;
background-size: cover;
background-position: center;

/* Center slide text vertically */
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
.swiper-slide img { 
width: 100%;
height: auto;
}


@media (max-width: 1200px) {
.swiper-container {
max-width: 100%;
height: auto;
table-layout: fixed;
}
.swiper-slide img { 
width: 100%;
height: auto;
}
}


/* =======================================
footer
======================================= */
footer {
padding-top: 30px;
padding-bottom: 30px;
background-color:#751486;
margin-top: auto;
} 
.footer-menu {
color:#fff;
font-size:14px;
margin-left:0px;
} 
.footer-menu ul {
margin:0px;
padding:0px;
} 
.footer-menu li {
list-style:none;
margin-bottom:5px;
} 
.footer-menu li a,a:visited{
color:#fff;
text-decoration:none;
} 
.footer-menu li a:hover{
color:#fff;
text-decoration:underline;
} 
.footer-rightbox {
margin: 0px;
padding:0px;
height:155px;
text-align:right;
}
.footer-rightbox img {
margin-left: auto;
margin-right: 0px;
}
.footer-copyrights {
color:#fff;
font-size:12px;
margin-top:20px;
text-align:center;
} 


@media (max-width: 767px) {
.footer-rightbox img{
margin-left: auto;
margin-right: auto;
}
.footer-menu {
font-size:18px;
} 
.footer-rightbox {
margin-top: 40px;
margin-bottom: 40px;
height:auto;
}
}


/* =======================================
Page top
======================================= */
#page-top {
position: fixed;
bottom: 20px;
right: 20px;
font-size: 80%;
}
#page-top a {
background: #666;
text-decoration: none;
color: #fff;
width: 100px;
padding: 25px 0;
text-align: center;
display: block;
border-radius: 10px;
}
#page-top a:hover {
text-decoration: none;
background: #999;
}

/* =======================================
breadcrumb
======================================= */
.breadcrumb_line{
background-color:#fff;
margin:0px;
padding:0px;
}
.breadcrumb{
font-size:12px;
background-color: #fff;
padding:20px 0px 0px 0px;
margin: 0px 0px 0px 0px;
}
.breadcrumb > li + li:before {
color:#333;
content: ">";
}
.breadcrumb > li a {
color:#751486;
text-decoration:underline;
}
.breadcrumb > li a:hover {
color:#333;
text-decoration:underline;
}


.breadcrumb_line h2{
	font-size:24px;
	line-height:32px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin:15px 0px 15px 0px;
}
.breadcrumb_line h2::before,
.breadcrumb_line h2::after {
	content: '';
	width: 50px;
	height: 2px;
	background-color: #751486;
}

.breadcrumb_line h2::before {
	margin-right: 20px;
}
.breadcrumb_line h2::after {
	margin-left: 20px;
}
@media (max-width: 991px) {
.breadcrumb_line h2{
	font-size:20px;
	margin-top:20px;
	line-height:28px;
}
.breadcrumb_line h2::before,
.breadcrumb_line h2::after {
	content: '';
	width: 5px;
	height: 2px;
	background-color: #751486;
}
}



/* =======================================
archive title
======================================= */
.archivetitle_line{
margin:0px;
padding: 0px;
}
.archivetitle_line h2 {
margin-top:20px;
margin-bottom:20px;
margin-left:0px;
font-size:24px;
line-height:36px;
font-weight:bold;
color:#333;
padding:0px;
}
.archivetitle_line h3 {
margin-top:20px;
margin-bottom:20px;
margin-left:0px;
font-size:20px;
line-height:30px;
font-weight:bold;
color:#333;
padding:0px;
font-feature-settings : "palt";
}
.archivetitle_line h4 {
margin-top:20px;
margin-bottom:20px;
margin-left:0px;
font-size:14px;
line-height:20px;
font-weight:bold;
color:#333;
padding:0px;
}
.archivetitle_line p {
margin-top:20px;
margin-bottom:20px;
margin-left:0px;
font-size:14px;
line-height:20px;
font-weight:normal;
color:#333;
padding:0px;
}



/* =======================================
archive fullimg
======================================= */
.archive_fullimg{
margin-top:0px;
margin-bottom:0px;
padding: 0px;
}
.archive_fullimg-title{
margin-left:15px;
margin-bottom:0px;
}
.archive_fullimg-title h2{
display: inline;
font-size:24px;
font-weight:normal;
color:#fff;
background-color:#751486;
padding:10px;
margin-left:-15px;
}
.archive_fullimg-title h3{
display: inline;
margin-left:10px;
font-size:16px;
font-weight:normal;
color:#333;
}
@media (max-width: 767px) {
.archive_fullimg-title h2{
font-size:18px;
}
.archive_fullimg-title h3{
font-size:12px;
}
}

.archive_fullimg-title-line{
border-bottom: 5px solid #e05858;
margin-top:5px;
width:100%;
}
.archive_fullimg-pics{
padding:0px;
margin:0px;
background-color:#f2f2f2;
}
.archive_fullimg-pics img{
padding:0px;
margin:0px;
}

.archive_fullimg-pics-minus70{
padding:0px;
margin-top:-70px;
background-color:#f2f2f2;
}

/* =======================================
archive commonbox
======================================= */
.archive_common_box {
margin: 0px;
padding:0px;
}
.archive_common_box h2{
font-size:24px;
line-height:34px;
font-weight:bold;
color:#751486;
font-feature-settings : "palt";
margin-top:0px;
margin-bottom:10px;
margin-left:0px;
position: relative;
padding: .25em 0 .25em .75em;
border-left: 3px solid #751486;
}
@media (max-width: 767px) {
.archive_common_box h2{
margin-top:20px;
font-size:20px;
line-height:30px;
}
}



.archive_common_box h3 {
padding: 0.5rem 0;
margin-top:0px;
margin-bottom:10px;
border-bottom: 3px dotted #fdd000;
font-size:20px;
line-height:30px;
font-weight:bold;
color:#333;
font-feature-settings : "palt";
display: inline-block;
}

@media (max-width: 767px) {
.archive_common_box h3{
font-size:18px;
line-height:28px;
}
}






.archive_common_box h4{
font-size:18px;
line-height:26px;
font-weight:bold;
color:#751486;
margin:0px 0px 10px 0px;
}
@media (max-width: 767px) {
.archive_common_box h4{
margin-top:10px;
font-size:16px;
line-height:22px;
}
}


.archive_common_box h5{
font-size:16px;
line-height:26px;
font-weight:bold;
color:#fff;
background-color: #751486;
margin:0px 0px 10px 0px;
padding:10px;
display: inline-block;
border-radius: 10px;
}
@media (max-width: 767px) {
.archive_common_box h5{
font-size:16px;
line-height:26px;
}
}



.archive_common_box h6{
font-size:18px;
line-height:30px;
font-weight:normal;
color:#333;
margin-top:0px;
margin-bottom:20px;
padding:0px;
}
@media (max-width: 767px) {
.archive_common_box h6{
font-size:16px;
line-height:24px;
margin-bottom:20px;
}
}


.archive_common_box p{
font-size:16px;
line-height:26px;
font-weight:normal;
color:#333;
margin-top:0px;
margin-bottom:20px;
padding:0px;
}
@media (max-width: 767px) {
.archive_common_box p{
font-size:14px;
line-height:22px;
margin-bottom:20px;
}
}

.archive_common_box p.caption{
font-size:12px;
line-height:18px;
font-weight:normal;
color:#333;
margin-top:10px;
margin-bottom:10px;
padding:0px;
}


.archive_common_box img{
margin: 0px 0px 10px 0px;
padding: 0px;
}



/* =======================================
archive commonbox pp
======================================= */
.archive_common_box_pp {
margin: 0px;
padding:0px;
}
.archive_common_box_pp h4{
font-size:20px;
line-height:26px;
font-weight:bold;
color:#751486;
margin:0px 0px 10px 0px;
}
@media (max-width: 767px) {
.archive_common_box_pp h4{
margin-top:20px;
font-size:16px;
line-height:22px;
}
}
.archive_common_box_pp p{
font-size:14px;
line-height:24px;
font-weight:normal;
color:#333;
margin-top:0px;
margin-bottom:20px;
padding:0px;
}
@media (max-width: 767px) {
.archive_common_box p{
font-size:14px;
line-height:22px;
margin-bottom:10px;
}
}



/* =======================================
archive commonbox devide
======================================= */
.archive_common_box_devide {
margin-top: 60px;
margin-bottom: 10px;
border-bottom: 1px dashed #CCCCCC;
}





/* =======================================
rss iframe
======================================= */
.iframe-wrapper{
position: relative;
height: 0;
overflow: hidden;
padding-top: 140%;
}
iframe{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


