/*
 Theme Name:   vantage_child
 Theme URI:    
 Author:       
 Author URI:   
 Template:     vantage
 Version:      
 Text Domain:  vantage
*/

/* =Global 143
----------------------------------------------- */
/*-must-*/
body,
button,
input,
select,
textarea {
	font-size: 14px;
	font-family:'Lucida Grande','Hiragino Kaku Gothic ProN', Meiryo, メイリオ, sans-serif;
}
/*-must-*/
a { color: #333;}
a:hover,a:focus,a:active { color: #1d7dc5;}
/*-must-*/
address { margin: 0;}
/*-must-*/
ul,ol {margin: 0;}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family:'Lucida Grande','Hiragino Kaku Gothic ProN', Meiryo, メイリオ, sans-serif;
}
/*-must-*/
th { font-weight: normal;}
dd { margin: 0;}

ul, ol, li{ list-style: none;}
p {
  margin-bottom: 20px;
}

/* =General Layout 456
----------------------------------------------- */
#primary{
	width: 75%;
	background: #fff;
	padding: 30px;
	position: relative;
    box-sizing: border-box;
}
#secondary {
	width: 23%;
	padding: 0;
    box-sizing: border-box;
}

body.home #primary{
	width: 100%;
	background: inherit;
	padding: 0;
}

body.page-template-page-wide100 #primary{
	width: 100%;
    float: none;
    padding: 0;
}
body.post-type-archive-whats_new #primary,
body.tax-whats_new_category #primary,
body.single-whats_new #primary{
    width: 100%;
    float: none;
}
body.post-type-archive-mail_magazine #primary,
body.tax-mail_magazine_category #primary{
    width: 100%;
    float: none;
    padding: 0;
}
body.single-mail_magazine #primary{
    width: 100%;
    float: none;
}
body.post-type-archive-document #primary,
body.tax-document_category #primary{
    width: 100%;
    float: none;
    padding: 0;
}
body.single-document #primary{
    width: 100%;
    float: none;
}


body.error404 #primary{ width: 100%;}

@media (max-width: 768px) {
	#primary{ padding: 20px;}
}
@media (max-width: 680px) {
	#primary{ padding: 20px 10px;}
}

#page-wrapper { width: 1000px;}
.layout-full #page-wrapper .full-container { max-width: 1000px;}
body.responsive #page-wrapper { max-width: 1000px;}
body.responsive.layout-full #page-wrapper .full-container { max-width: 1000px;}
body.responsive.layout-full #page-wrapper  header .full-container { max-width: 100%;}
body.home.responsive.layout-full #page-wrapper #main .full-container { max-width: 100%;}

body.responsive.layout-full.page-template-page-wide100 #page-wrapper .full-container { max-width: 100%;}
body.responsive.layout-full.post-type-archive-mail_magazine #page-wrapper .full-container { max-width: 100%;}
body.responsive.layout-full.post-type-archive-document #page-wrapper .full-container { max-width: 100%;}

body.home #main {
    background: #fff;
	padding: 0;
}
#main {
	background: #f5f5f5;
    padding: 0 0 100px 0;
	/*padding: 0 10px 100px 10px;*/
}
@media (max-width: 680px) {
	#main { padding: 0 10px 20px 10px;}
}

body.responsive.layout-full.page-template-page-wide100 #page-wrapper #main{ padding: 0;}
body.responsive.layout-full.post-type-archive-mail_magazine #page-wrapper #main{ padding: 0;}
body.responsive.layout-full.post-type-archive-document  #page-wrapper #main{ padding: 0;}



#masthead {
	background: #fff;
	padding: 0 10px;
}
#masthead .hgroup .logo{ outline: none;}
#masthead .hgroup .logo img {
	width: auto;
	height: 60px!important;
	padding: 0!important;
}
#masthead .hgroup .logo:hover img { opacity: 0.8;}

@media (max-width: 1024px) {
    #masthead .hgroup .logo img{ height: 40px!important;}
}
@media (max-width: 768px) {
    body.responsive #masthead .hgroup #header-sidebar{ margin-top: 0;}
	#masthead .hgroup{ padding: 10px 0!important;}
}
@media (max-width: 680px) {
    body.responsive #masthead .hgroup #header-sidebar{ text-align: center;}
    #masthead .hgroup .logo img{ height: 50px!important;}
}

#masthead .hgroup #header-sidebar{ padding: 0!important;}
#masthead .hgroup #header-sidebar aside.widget { margin: 0;}

/* =Responsive Layout 712
----------------------------------------------- */
@media (max-width: 680px) {
    body.responsive #masthead .hgroup .logo{ text-align: center;}
    body.responsive #masthead .hgroup { text-align: left;}
}


/* =Menu 847
----------------------------------------------- */
.menu-main-menu-container{ position: relative;}
.main-navigation {
	margin: 0 -10px;
    background: inherit;
}
.main-navigation ul{
    position: absolute;
    bottom: 15px;
    width: 100%;
}
.main-navigation ul li{
	margin: 0;
	padding: 0;
    border-right: 1px solid #ccc;
}
.main-navigation ul li:last-child{ border-right: none;}
.main-navigation ul li a{
	font-weight: bold;
	padding: 5px 30px;
	transition: none;
	/*transition: all 0.4s ease;*/
	outline: none;
	font-size: 14px;
    color: #555;
}
.main-navigation ul li:hover > a,
.main-navigation ul li.focus > a{
    color: #d6252c;
    background: inherit;
}

.main-navigation ul li.current-menu-item a{}
.main-navigation ul li.mobileOnly{ display: none;}

@media (max-width: 1440px) {
	.main-navigation ul li a{ padding: 5px 18px;}
}
@media (max-width: 1024px) {
    .main-navigation ul{ bottom: 8px;}
	.main-navigation ul li a{ font-size: 12px;}
}
@media (max-width: 900px) {
    .main-navigation ul li a{ padding: 5px 10px;}
}
@media (max-width: 768px) {
	.main-navigation{ padding: 0;}
	.main-navigation ul{
        position: static;
		text-align: right!important;
		border-top: 1px solid #ddd;
	}
	.main-navigation ul li{
		font-size: 14px!important;
		margin: 0;
	}
	.main-navigation ul li a{
		background: none;
		padding: 12px 10px;
        font-size: 16px;
	}
	.main-navigation ul li:last-child::after{ content: none;}
	.main-navigation ul li:hover > a { background: none;}
	.mobile-nav-frame ul li.mobileOnly{ display: none;}
}
@media (max-width: 680px) {
	.mobile-nav-frame ul li.mobileOnly{ display: block;}
}

/*-must-*/
.mobile-nav-icon:before {
	content: "\f0c9";
	font-size: 16px;
}


/* =Archives 1123
----------------------------------------------- */
article.post,
article.page {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
    position: relative;
}

.post-navigation{
	margin: 40px 0 0;
	padding: 30px 0 0;
	position: relative;
    border-top: 1px solid #ccc;
}
.post-navigation a{
	background: #fff!important;
	font-size: 12px;
	font-weight: normal;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	padding: 6px 15px;
	display: block;
	text-align: center;
	box-shadow: none;
	outline: none;
}
.post-navigation a span{
	display: none!important;
	/*font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", "Osaka-mono", "monospace";*/
}
.post-navigation .nav-previous a{
	padding: 6px 10px 6px 20px;
	border: 1px solid #ccc;
}
.post-navigation .nav-next a{
	padding: 6px 20px 6px 10px;
	border: 1px solid #ccc;
}

article.post .entry-header h1.entry-title,
article.page .entry-header h1.entry-title {
	font-weight: normal;
	font-size: 28px;
	border-bottom: 1px solid #ddd;
	margin: 0;
	padding: 10px 0 20px 0;
	word-break: break-all;
}
@media (max-width: 640px) {
	article.post .entry-header h1.entry-title,
	article.page .entry-header h1.entry-title {
        font-size: 20px;
        padding: 10px 0;
    }
}
@media (max-width: 425px) {
	article.post .entry-header h1.entry-title,
	article.page .entry-header h1.entry-title { font-size: 18px;}
}
@media (max-width: 375px) {
	article.post .entry-header h1.entry-title,
	article.page .entry-header h1.entry-title { font-size: 16px;}
}


/* =Entry Content 1546
----------------------------------------------- */
/*-must-*/
.entry-content { color: #333;}
/*-must-*/
.entry-content ul { list-style-type: none;}
.entry-content ul li,
.entry-content ol li {
  margin-left: 0;
}
/*-must-*/
.entry-content p,
.entry-content > ul,
.entry-content > ol,
.entry-content > li,
.entry-content > dl,
.entry-content pre,
.entry-content code,
.entry-content blockquote {
  margin: 0 0 1em 0;
}
/*-must-*/
.entry-content table {
  border-bottom: none;
  line-height: 1.2;
  margin: 0 0 20px;
}


/* =Navigation 1787
----------------------------------------------- */
/*-must-*/
.pagination,
.entry-content .pagination { text-align: center;}
.pagination span,
.entry-content .pagination span,
.pagination a,
.entry-content .pagination a { font-weight: normal;}
.pagination .current,
.entry-content .pagination .current {
	border: 1px solid #777;
	background: #888;
	box-shadow: none;
}
/*-must-*/
@media (max-width: 680px) {
	body.responsive .site-content .nav-previous,
	body.responsive .site-content .nav-next {
		margin-bottom: 10px;
	}
}

/*-must-*/
.pagination,
.entry-content .pagination {
	text-align: center;
	padding: 20px 0;
	clear: both;
}
.pagination span,
.entry-content .pagination span,
.pagination a,
.entry-content .pagination a {
	font-weight: normal;
	box-shadow: none;
	background: #fff;
	border: 1px solid #ddd;
}
.pagination a{
	background: #fff!important;
    outline: none;
}
.pagination .current,
.entry-content .pagination .current {
	border: 1px solid #0f3c65;
	background: #0f3c65;
	box-shadow: none;
}

.site-content .nav-previous { width: 140px;}
.site-content .nav-previous a:after{
	content: '<';
	font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", "Osaka-mono", "monospace";
	color: #646464;
	position: absolute;
	left: 8px;
}
.site-content .nav-next {
	width: 140px;
}
.site-content .nav-next a:after{
	content: '>';
	font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", "Osaka-mono", "monospace";
	color: #646464;
	position: absolute;
	right: 8px;
}


/* =Sidebars and Asides 2129
----------------------------------------------- */
/*-must-*/
#scroll-to-top {
	padding: 10px;
	border-radius: 50%;
	background: #082a49;
    bottom: 40px;
    right: 10px;
}

body.layout-full { background-color: #082a49;}


/* =Sidebar widget styling 2485
----------------------------------------------- */
#secondary .widget{ margin: 0 0 40px 0;}
#secondary .widget ul li{ padding: 0;}
#secondary .widget ul li a{
	font-size: 14px;
	outline: none;
}

#secondary .widget ul li a:hover{
	text-decoration: none;
    color: #888;
}
#secondary #custom_html-6.widget ul li a:hover{
	background: none;
	text-decoration: underline;
}

#secondary .widget .widget-title{
	clear: both;
	font-size: 18px;
	line-height: 1.0;
	font-family: 'Noto Serif JP', serif;
	font-weight: normal;
	padding: 0 0 15px 0;
	margin: 0;
	color: #0f3c65;
    border-bottom: 1px solid #ccc;
}

#yoast-breadcrumbs,
#navxt-breadcrumbs {
	margin: 0 auto 40px;
	background: inherit;
	color: #888;
	padding: 8px 0;
    max-width: 1000px;
}
#yoast-breadcrumbs a,
#navxt-breadcrumbs a{ outline: none;}
#navxt-breadcrumbs .full-container{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
body.page-template-page-wide100 #yoast-breadcrumbs,
body.page-template-page-wide100 #navxt-breadcrumbs,
body.post-type-archive-mail_magazine #navxt-breadcrumbs,
body.post-type-archive-document #navxt-breadcrumbs{ margin: 0 auto;}
@media (max-width: 1024px) {
    #yoast-breadcrumbs,
    #navxt-breadcrumbs { margin: 0 10px 40px;}
    body.page-template-page-wide100 #yoast-breadcrumbs,
    body.page-template-page-wide100 #navxt-breadcrumbs,
    body.post-type-archive-mail_magazine #navxt-breadcrumbs,
    body.post-type-archive-document #navxt-breadcrumbs{ margin: 0 10px;}
}
@media (max-width: 768px) {
	#navxt-breadcrumbs { font-size: 12px;}
}
@media (max-width: 425px) {
	#navxt-breadcrumbs { margin: 0 0 20px 0;}
}


/* =Some row styling for page builder 3070
----------------------------------------------- */
/**-- mobilenav.css --**/
/*-must-*/
.mobile-nav-frame{ background: #0f3c65!important;}
.mobile-nav-frame ul{
	border: 0!important;
	box-shadow: none!important;
	margin: 0!important;
}
.mobile-nav-frame ul li{
	padding: 0!important;
	border-top: none!important;
	border-bottom: 1px solid #586b7c!important;
}
.mobile-nav-frame ul li:last-child{ border-bottom: 1px solid #586b7c!important;}
.mobile-nav-frame ul li a.link{
	font-size: 16px!important;
	padding: 10px!important;
	margin-right: 0!important;/*-sub menu none-*/
}
.mobile-nav-frame .title{
    border-bottom: 1px solid #586b7c!important;
    background: #0f3c65!important;
}
.mobile-nav-frame .title h3{
	text-shadow: none!important;
	font-family: 'Ubuntu', sans-serif!important;
	font-weight: 700!important;
}
.mobile-nav-frame .title .close{
	text-align: center;
	top: 6px!important;
	right: 5px!important;
	padding: 7px 10px!important;
}
.mobile-nav-frame ul li a.link{ text-shadow: none!important;}
.mobile-nav-frame [class^="fa fa-"]{ margin-right: 0;}

.mobile-nav-frame form.search input[type=search]{
	padding: 3px!important;
	font-size: 14px!important;
}


/* common css
----------------------------------------------- */
/*-must-*/
.clearfix:after{
	visibility: hidden;
	display: block;
	content: ".";
	height: 0;
	clear: both;
}
* html .clearfix{ height: 1%;}
.clearfix{display: block;}

.m0{ margin: 0!important;}
.m5-b{ margin-bottom: 5px!important;}
.m10-b{ margin-bottom: 10px!important;}
.m20-b{ margin-bottom: 20px!important;}
.m30-b{ margin-bottom: 30px!important;}
.m40-b{ margin-bottom: 40px!important;}
.m10-t{ margin-top: 10px!important;}
.m20-t{ margin-top: 20px!important;}
.m30-t{ margin-top: 30px!important;}
.m40-t{ margin-top: 40px!important;}
.m10-l{ margin-left: 10px!important;}
.m5-r{ margin-right: 5px!important;}
.m10-r{ margin-right: 10px!important;}
.m15-r{ margin-right: 15px!important;}

.red{ color: #f00;}
.b{ font-weight: bold;}
.bdr-t{ border-top: 1px solid #e5e5e5!important;}
.bdr-b{ border-bottom: 1px solid #e5e5e5!important;}

.byline{ display: none;}

.more{
    text-align: center;
}
.more a{
	box-sizing: border-box;
    display: inline-block;
    text-decoration: none;
    width: 200px;
    border: 1px solid #0f3c65;
    color: #0f3c65!important;
    font-size: 15px;
    padding: 20px 10px;
    text-align: center;
    position: relative;
    z-index: 999;
    transition: .3s;
}
.more a::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
    background: #0f3c65;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
    color: #fff!important;
}
.more a:hover{
    color: #fff!important;
    position: relative;
    z-index: 999;
}
.more a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
    color: #fff!important;
}
@media (max-width: 768px) {
    .more a{
        width: 200px;
        padding: 15px 10px;
    }
}
@media (max-width: 425px) {
    .more a{
        width: 100%;
        padding: 10px;
        font-size: 14px;
    }
    .manageR{ height: 220px;}
}

.contBox{
	max-width: 1000px;
	margin: 0 auto;
	padding: 100px 0;
}
.contBox.middle{ padding: 60px 0;}
.bgType01{ background: #fff9e5;}
.bgType02{ background: #e9f4fd;}
.bgGray{ background: #f5f5f5;}
.bgWhite{ background: #fff;}

h2.topTtl{
	font-size: 36px;
	line-height: 1.2;
	text-align: center;
	margin: 0 0 50px 0;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}
h2.topTtl::after{
    content: '';
    border-bottom: 4px solid #a9894b;
    display: block;
    width: 60px;
    margin: 0 auto;
    padding: 30px 0 0 0;
}
h2.topTtl span{
	display: block;
	margin: 10px 0 0 0;
	font-family:'Lucida Grande','Hiragino Kaku Gothic ProN', Meiryo, メイリオ, sans-serif;
	font-size: 18px;
	font-weight: bold;
	color: #555;
}
h2.topTtl.left{ text-align: left;}
h2.topTtl.left::after{ margin: 0;}
@media (max-width: 1024px) {
	.contBox{ margin: 0 10px;}
}
@media (max-width: 768px) {
	.contBox{ padding: 40px 0;}
	h2.topTtl{
		margin: 0 0 40px 0;
		font-size: 30px;
	}
    h2.topTtl::after{ padding: 20px 0 0;}
}
@media (max-width: 640px) {
	h2.topTtl.left{ text-align: center;}
    h2.topTtl.left::after{ margin: 0 auto;}
}
@media (max-width: 425px) {
    .contBox{ padding: 30px 0;}
	h2.topTtl{ font-size: 24px;}
	h2.topTtl span{ font-size: 14px;}
}
@media (max-width: 375px) {
}


/* add css
----------------------------------------------- */
.headLoginout{
	border: 1px solid #a9894b;
	border-radius: 4px;
	text-align: center;
	min-width: 120px;
	max-width: 140px;
	margin: 10px 0 0 0;
	font-size: 12px;
    color: #fff;
	background: #a9894b;
	position: relative;
	z-index: 9990;
    display: inline-block;
}
.headLoginout a{ outline: none;}
.headLoginout a.login{
    color: #fff!important;
	padding: 6px 10px 4px 30px;
	display: block;
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/icon-key.png) no-repeat 15px center;
    background-size: 20px auto;
}
.headLoginout li.date{
	padding: 6px 10px 4px 10px;
	border-top: 1px dotted #ccc;
	font-size: 12px;
}
#accordion > dt{
	font-size: 12px;
	cursor: pointer;
	position: relative;
	padding: 6px 28px 4px 10px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#accordion > dt:hover{}
#accordion > dt:before{
	content: '';
	position: absolute;
	background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/arrowDwhite.png) no-repeat left center;
	background-size: 12px auto;
	width: 12px;
	height: 6px;
	top: 12px;
	right: 10px;
}
#accordion > dt.active:before{
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
#accordion > dd{ background: #fff;}
#accordion > dd li a{
	display: block;
	padding: 5px 10px;
}

.headLinkbox{}
.goForm{
    border: 1px solid #888;
    border-radius: 4px;
	text-align: center;
	margin: 10px 0 0 10px;
    display: inline-block;
    vertical-align: top;
}
.goForm a{
    padding: 6px 10px 4px 40px;
    font-size: 12px;
    display: block;
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/icon-mail.png) no-repeat 10px center;
    background-size: 20px auto;
}

.layout-full #colophon{
    padding: 0;
    clear: both;
}
.foot-link{ background: #0f3c65;}
.foot-link .contBox{
	margin: 0 auto;
	padding: 40px 0 30px 0;
}
.footLogo{
    background: #fff;
    padding: 12px 8px;
    border-top: 1px solid #ccc;
}
.footLogo img{
    max-width: 100px;
    margin: 0 10px 0 0;
    height: auto;
    vertical-align: bottom;
}
.footLogo p{
    display: inline-block;
    font-size: 10px;
    line-height: 1.1;
    color: #555;
    margin: 0;
    vertical-align: middle;
}
.foot-link .flink{
    display: flex;
}
.menu-footermenu01-container,
.menu-footermenu02-container{
    min-width: 200px;
}
.foot-link .flink ul{
	font-size: 0;
	position: relative;
	margin: 0 0 20px 0;
}
.foot-link .flink li{
	list-style: none;
	margin: 0 0 15px 0;
}
.foot-link .flink li a{
    font-size: 12px;
    line-height: 1.2;
	color: #b5c8da;
	text-decoration: none;
	display: block;
	outline: none;
}
.foot-link .flink li a::before{
    content: '-';
    margin: 0 5px 0 0;
    color: #b5c8da;
}
.foot-link .flink li a:hover{ color: #fff;}

#copyright{
	background: #082a49;
	text-align: center;
	color: #ddd;
	padding: 8px 0;
	font-size: 11px;
}
@media (max-width: 1024px) {
    .foot-link .contBox{ margin: 0 10px;}
}
@media (max-width: 768px) {
    .footLogo{ padding: 8px;}
	.foot-link .contBox{ padding: 40px 0 20px 0;}
    .foot-link .flink{ display: block;}
	.foot-link .flink ul{ margin: 0;}
	.foot-link .flink li{
		width: 49%;
		margin: 0 0.5% 1%;
		display: block;
		float: left;
	}
	.foot-link .flink li a{
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		padding: 8px 10px;
		text-align: center;
		border-radius: 4px;
		border: 1px solid #b5c8da;
	}
    .foot-link .flink li a::before{ content: none;}
}
@media (max-width: 425px) {
	.foot-link .contBox{ padding: 30px 0 20px;}
	.foot-link .flink li a{ font-size: 11px;}
}
@media (max-width: 375px) {
	#copyright{ font-size: 10px;}
}

.headTtlebox{
	background: #fff;
	border-top: 1px solid #ddd;
	padding: 30px 0 35px;
}
.headTtleboxIn{
	max-width: 1000px;
	margin: 0 auto;
}
.headTtleboxIn h1{
	font-size: 40px;
	line-height: 1.2;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	padding: 0;
	word-break: break-all;
}
.headTtleboxIn h1 a{
	color: #333;
	text-decoration: none;
	outline: none;
}
.headTtleboxIn h1 a:hover{ opacity: 0.9;}
@media (max-width: 1200px) {
	.headTtleboxIn{ padding: 0 10px;}
}
@media (max-width: 768px) {
	.headTtlebox{ padding: 30px 0;}
	.headTtleboxIn h1{ font-size: 36px;}
}
@media (max-width: 640px) {
	.headTtlebox{ padding: 20px 0;}
	.headTtleboxIn h1{ font-size: 24px;}
}

.commonLineBox{
    margin: 0 0 60px 0;
    font-size: 16px;
    border: 1px solid #a9894b;
    padding: 30px;
}
@media (max-width: 768px) {
    .commonLineBox{
        padding: 20px;
        font-size: 15px;
    }
}
@media (max-width: 425px) {
    .commonLineBox{
        padding: 10px;
        font-size: 14px;
    }
}


/* sidebar
----------------------------------------------- */
.widgettitle{
	clear: both;
	font-size: 18px;
	line-height: 1.0;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	padding: 15px 20px;
	margin: 0;
	background: #d6252c;
	color: #fff;
}
#secondary .custom-cate{
    margin: 0 0 20px 0;
}
#secondary .custom-cate li a{
	display: block;
	padding: 10px;
	border-bottom: 1px solid #e3e2df;
}
#secondary .news-archive li{
    padding: 10px 15px!important;
    border-bottom: 1px solid #e3e2df;
}
#secondary .news-archive li a{ display: inline-block;}
@media (max-width: 1024px) {
	.widgettitle{
		padding: 15px;
		font-size: 16px;
	}
}
@media (min-width: 680px) and (max-width: 768px) {
	#secondary .custom-cate li a{ padding: 10px;}
}
@media (max-width: 425px) {
	.widgettitle{
		padding: 10px 15px;
		font-size: 14px;
	}
	#secondary .custom-cate li a{ padding: 10px;}
}


/* -- top slider -- */
.swiperOutside{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/sliderBG.png) no-repeat left -140px top -140px #0f3c65;
}
.swiperOutside-in{
    max-width: 2000px;
    margin: 0 auto;
}
.swiper-container{
	max-width: 1000px;
    float: right;
}
.swiper-container .swiper-slide img{
	vertical-align: bottom;
	width: 100%;
	height: auto;
}
.slide-img::before{
    content: '';
    background: rgba(15,60,101,0.5);
    background-size: cover;
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
}
@media (max-width: 1024px) {
    .swiper-container{
        float: none;
        max-width: 1024px;
    }
}
@media (max-width: 768px) {
	.swipCircle{
		top: 20px;
		right: 20px;
		width: 160px;
	}
}
@media (max-width: 425px) {
	.swiperOutline{ padding: 0 0 30px;}
	.swipCircle{
		width: 120px;
	}
}
@media (max-width: 375px) {
	.swipCircle{
		top: 10px;
		right: 10px;
		width: 100px;
	}
}

.topTextbox{
    position: absolute;
    top: 10%;
    left: 20%;
    z-index: 10;
}
.topTextbox h1{
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 76px;
    line-height: 1.3;
    color: #fff;
    text-shadow: 0 0 4px #08223a;
    font-feature-settings: "palt";
    margin: 0 0 20px 0;
}
.topTextbox p.subT01{
    font-family: 'Noto Serif JP', serif;
    font-size: 24px;
    font-feature-settings: "palt";
}
.topTextbox p{
    color: #fff;
    font-size: 18px;
    text-shadow: 0 0 4px #08223a;
}
.topTextbox .more{ text-align: left;}
.topTextbox .more a{
    color: #a9894b!important;
	font-size: 16px;
	text-decoration: none;
	display: inline-block;
    border: 1px solid #a9894b;
	text-align: center;
	padding: 12px 35px;
	margin: 0 auto;
	position: relative;
    z-index: 10;
	box-sizing: border-box;
    width: auto;
}
.topTextbox .more a:hover{
    color: #fff!important;
    background: none;
}
.topTextbox .more a::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
    background: #a9894b;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
.topTextbox .more a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}
@media (max-width: 1640px) {
    .topTextbox .more a{ background: rgba(15,60,101,0.6);}
}
@media (max-width: 1024px) {
    .topTextbox{ left: 10%;}
    .topTextbox h1{ font-size: 8vmin;}
}
@media (max-width: 768px) {
    .topTextbox p.subT01{ font-size: 3vmin;}
    .topTextbox p{ font-size: 2vmin;}
}
@media (max-width: 680px) {
    .topTextbox{
        top: 20px;
        left: 0;
        width: 90%;
        padding: 0 5%;
    }
    .topTextbox h1{ font-size: 7vmin;}
    .topTextbox p{ font-size: 14px;}
    .topTextbox p br{ display: none;}
    .topTextbox .more{ text-align: center;}
}
@media (max-width: 640px) {
    .swiperOutside{ background-position: left -240px bottom;}
    .topTextbox{
        position: static;
        padding: 20px;
        width: 100%;
        box-sizing: border-box;
    }
    .topTextbox h1{
        position: absolute;
        z-index: 100;
        top: 6%;
        left: 0;
        width: 100%;
        font-size: 6vmin;
        text-align: center;
    }
    .topTextbox h1 br{ display: none;}
}
@media (max-width: 425px) {
    .topTextbox{ padding: 20px 10px;}
    .topTextbox h1{ top: 5%;}
    .topTextbox p.subT01{
        font-size: 16px;
        margin: 0 0 10px 0;
    }
    .topTextbox p{
        font-size: 13px;
        margin: 0 0 10px 0;
    }
    .topTextbox .more a{
        padding: 10px 20px;
        font-size: 14px;
    }
}
@media (max-width: 375px) {
    .topTextbox h1{ top: 4%;}
}


/* top contents
----------------------------------------------- */
/* -- top lead text -- */
.leadBox{}
.leadBox h2{
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 40px;
    line-height: 1.3;
    text-align: center;
    margin: 0 0 40px 0;
}
.leadBox h2 br{ display: none;}
.leadBox .leadTxt{
    max-width: 800px;
    margin: 0 auto;
}
.leadBox .leadTxt p{ font-size: 18px;}
.leadBox .leadTxt p:last-child{ margin: 0;}
@media (max-width: 1024px) {
    .leadBox h2{ font-size: 36px;}
    .leadBox .leadTxt p{ font-size: 16px;}
}
@media (max-width: 768px) {
    .leadBox h2{
        font-size: 30px;
        text-align: left;
    }
}
@media (max-width: 640px) {
    .leadBox h2{ margin: 0 0 20px 0;}
    .leadBox .leadTxt p{ font-size: 14px;}
}
@media (max-width: 425px) {
    .leadBox h2{ font-size: 22px;}
}
@media (max-width: 375px) {
    .leadBox h2 br{ display: block;}
    .leadBox .leadTxt p{ font-size: 12px;}
}

/* -- about Hints & mailmagazine -- */
.mainContbox{}
.mainContbox ul{
    display: flex;
}
.mainContbox li{ width: 490px;}
.mainContbox li a{
    display: block;
    height: 240px;
    position: relative;
}
.mainContbox li a .mainIn{
    text-align: center;
    position: absolute;
    width: 100%;
    margin: 80px 0 0 0;
}
.mainContbox li.mc01{ margin: 0 20px 0 0;}
.mainContbox li a{
    text-decoration: none;
    transition: all 0.4s ease;
}
.mainContbox li a::before{
    content: '';
    background: rgba(0,0,0,0.5);
    background-size: cover;
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    transition: all 0.4s ease;
}
.mainContbox li a:hover::before{ background: rgba(0,0,0,0.7);}
.mainContbox li.mc01 a{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/mainCont01.jpg) no-repeat center center;
}
.mainContbox li.mc02 a{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/mainCont02.jpg) no-repeat center center;
}
.mainContbox li  .mainIn h3{
    font-family: 'Noto Serif JP', serif;
    font-size: 34px;
    color: #fff;
    margin: 0 0 20px 0;
}
.mainContbox li  .mainIn p{
    margin: 0 auto;
    color: #fff;
    font-size: 14px;
    padding: 5px;
    border: 1px solid #a9894b;
    border-radius: 100px;
    width: 170px;
}
.mainContbox li .summary{
    padding: 20px;
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    background: #0f3c65;
}
.mainContbox li .summary p{
    margin: 0;
    padding: 5px 0 5px 30px;
}
.mainContbox li.mc01 .summary p{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/icon-hatena.png) no-repeat left center;
    background-size: 20px auto;
}
.mainContbox li.mc02 .summary p{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/icon-hatena.png) no-repeat left center;
    background-size: 20px auto;
}
@media (max-width: 1024px) {
    .mainContbox li .mainIn h3{
        font-size: 30px;
        margin: 0 0 15px 0;
    }
    .mainContbox li .summary{
        min-height: 88px;
        box-sizing: border-box;
    }
}
@media (max-width: 768px) {
    .mainContbox ul{ display: block;}
    .mainContbox li.mc01{ margin: 0 0 20px 0;}
    .mainContbox li{
        width: 100%;
    }
    .mainContbox li.mc01 a,
    .mainContbox li.mc02 a{
        background-size: cover;
    }
    .mainContbox li .summary{
        min-height: 10px;
        padding: 10px;
    }
}
@media (max-width: 640px) {
    .mainContbox li .summary{ font-size: 14px;}
}

/* -- news -- */
.topNewsbox{ margin: 0 0 30px 0;}
.topNewsbox li a{
	display: block;
	text-decoration: none;
	font-size: 15px;
	line-height: 1.0;
	padding: 25px 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	outline: none;
}
.topNewsbox li a:hover{ color: #888;}
.topNewsbox li{
	margin: 0;
	border-bottom: 1px solid #ccc;
    position: relative;
}
.topNewsbox li .data{
	color: #888;
	font-size: 14px;
	width: 120px;
	display: inline-block;
	vertical-align: middle;
}
.topNewsbox li .cateBox{
	display: inline-block;
	margin: 0 30px 0 0;
}
.topNewsbox li .cate{
	box-sizing: border-box;
	color: #d0402d;
	font-size: 12px;
	text-align: center;
	border: 1px solid #d0402d;
	display: inline-block;
	min-width: 90px;
	padding: 6px 5px;
}
.topNewsbox li .cate + .cate{ margin-left: 10px;}
@media (max-width: 768px) {
	.topNewsbox{ padding: 0;}
	.topNewsbox li{}
	.topNewsbox li a{
		overflow: auto;
		white-space: normal;
		text-overflow: inherit;
		font-size: 14px;
		line-height: 1.4;
	}
	.topNewsbox li .data{
		display: block;
		width: 100%;
		margin: 0 0 15px 0;
	}
	.topNewsbox li .cateBox{
        position: absolute;
        top: 12px;
        left: 100px;
        margin: 0;
	}
	.topNewsbox li a{ padding: 20px 0 15px 0;}
}
@media (max-width: 425px) {
	.topNewsbox li .data{ font-size: 12px;}
    .topNewsbox li .cateBox{ left: 90px;}
	.topNewsbox li .cate{
		font-size: 10px;
		padding: 4px 2px;
		min-width: 70px;
	}
}

/* -- top go to form -- */
.topGotoform{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/formBG.jpg) no-repeat center center;
    background-size: cover;
    padding: 100px 0;
    position: relative;
}
.topGotoform::before{
    content: '';
    background: rgba(0,0,0,0.6);
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
}
.topGotoform .link a{
    font-family: 'Noto Serif JP', serif;
    color: #ddd!important;
	font-size: 24px;
	text-decoration: none;
	display: block;
	text-align: center;
	border: 1px solid #ddd;
	width: 600px;
	padding: 30px 0;
	margin: 0 auto;
	background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/arrow01.png) no-repeat right 15px center;
	background-size: 17px auto;
	position: relative;
	transition: all 0.4s ease;
	outline: none;
}
.topGotoform .link a:hover{
	color: #fff!important;
	border: 1px solid #fff;
	background-position: right 10px center;
    background-color: rgba(255,255,255,0.1);
}
@media (max-width: 768px) {
    .topGotoform{ background-size: 1000px auto;}
    .topGotoform .link a{ width: 96%;}
}
@media (max-width: 640px) {
    .topGotoform{
        padding: 100px 0;
        background-size: 700px auto;
    }
}
@media (max-width: 425px) {
    .topGotoform .link a{
        padding: 15px 0;
        font-size: 18px;
        background-size: 10px auto;
    }
}


/* whats_new Line
----------------------------------------------- */
.newsSelect{
	text-align: center;
	margin: 30px 0 0;
    padding: 0 0 40px 0;
}
.newsSelect select{ margin: 0 5px;}
.searchCstmBox{
    display: inline-block;
    width: 200px;
}
.searchCstmBox input[type="search"]{ width: 100%;}

.newsLinebox{}
.newsLinebox a{
	display: block;
	text-decoration: none;
	font-size: 15px;
	line-height: 1.0;
	padding: 30px 0 15px;
	outline: none;
}
.newsLinebox a:hover{ color: #888;}
.newsLinebox{
	margin: 0;
	border-bottom: 1px solid #ccc;
}
.newsLinebox .data{
	color: #888;
	font-size: 14px;
	width: 100px;
	display: inline-block;
    vertical-align: middle;
}
.newsLinebox .cateBox{
	display: inline-block;
	margin: 0 10px 15px 0;
}
.cateBox .cate{
	box-sizing: border-box;
	color: #d0402d;
	font-size: 12px;
	text-align: center;
	border: 1px solid #d0402d;
	display: inline-block;
	min-width: 90px;
	padding: 6px 5px;
}
.cateBox .cate + .cate{ margin-left: 10px;}
.newsLinebox h1{
    margin: 0 0 5px 0;
    font-size: 16px;
    line-height: 1.4;
}
.newsLinebox .newsTextbox{ color: #888;}
@media (max-width: 768px) {
	.topNewsbox{ padding: 0;}
	.newsLinebox a{
		overflow: auto;
		white-space: normal;
		text-overflow: inherit;
		font-size: 14px;
		line-height: 1.4;
	}
	.newsLinebox a{ padding: 20px 0 15px 0;}
}
@media (max-width: 640px) {
    .newsSelect select{
		display: block;
		margin: 0 auto 10px;
        width: 80%;
	}
    .searchCstmBox{ width: 80%;}
    .newsLinebox h1{ font-size: 14px;}
}
@media (max-width: 425px) {
	.newsLinebox a{ font-size: 12px;}
	.newsLinebox .data{ font-size: 12px;}
	.cateBox .cate{
		font-size: 10px;
		padding: 4px 2px;
		min-width: 70px;
	}
}


/* whats_new Single
----------------------------------------------- */
.newsSinglebox{
	margin: 0 0 20px 0;
    position: relative;
}
.newsSinglebox .newsImg{
    margin: 0 0 20px 0;
    background: #f7f7f7;
}
.newsSinglebox .newsImg img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
    display: block;
    margin: 0 auto;
}
.newsSinglebox .cateSplitBox{
	width: 70%;
	margin: 0 0 30px 0;
}
.cateSplitBox .cate a{
	box-sizing: border-box;
	color: #d0402d;
	font-size: 12px;
	text-align: center;
	border: 1px solid #d0402d;
	display: inline-block;
	min-width: 90px;
	padding: 6px 5px;
    text-decoration: none;
    outline: none;
}
.cateSplitBox .cate a:hover{
    background: #d0402d;
    color: #fff;
}
.cateSplitBox .cate  a + a{ margin-left: 10px;}
.newsSinglebox .data{
	color: #888;
	font-size: 14px;
	position: absolute;
	right: 0;
    margin-top: -63px;
}
.newsSinglebox .newsTextbox{
	font-size: 16px;
	line-height: 2.0;
}
.newsTextbox img{
	max-width: 100%;
	height: auto;
}
.newsSinglebox .newsTextbox iframe{ max-width: 100%;}
.returnBox{}
.returnBox a{
    box-sizing: border-box;
    display: block;
    text-align: center;
    text-decoration: none;
    width: 220px;
    padding: 15px 10px;
    margin: 50px auto 0;
    border: 1px solid #999;
    font-size: 14px;
    line-height: 1.0;
    color: #999!important;
    position: relative;
    outline: none;
    z-index: 10;
}
.returnBox a:hover{ color: #fff!important;}
.returnBox a::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
    background: #999;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
.returnBox a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}
@media (max-width: 840px) {
	.newsSinglebox{
		float: none;
		width: 100%;
		margin: 0 0 20px 0;
	}
}
@media (max-width: 640px) {
	.newsSinglebox .newsTextbox{ font-size: 14px;}
    .returnBox a{
        font-size: 12px;
        width: 180px;
    }
}
@media (max-width: 425px) {
	.newsSinglebox .data{
        font-size: 12px;
        margin-top: -58px;
    }
    .cateSplitBox .cate a{
        font-size: 10px;
		padding: 4px 2px;
		min-width: 70px;
    }
}


/* about Hints
----------------------------------------------- */
.aboutTextbox{
    height: 400px;
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/aboutHintsBG.jpg) no-repeat right center #0f3c65;
    background-size: 1200px auto;
    position: relative;
}
.aboutTextbox::before{
    content: '';
    background: rgba(15,60,101,0.5);
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
}
.declaration{
    background: rgba(255,255,255,0.8);
    width: 1000px;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}
.declaration h1{
    margin: 0;
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 35px;
    line-height: 1.5;
    color: #333;
    padding: 60px 30px;
    font-feature-settings: "palt";
}
.declaration h1 span{
    font-size: 33px;
    padding: 0 5px;
}
@media (max-width: 1024px) {
    .aboutTextbox{
        height: auto;
        padding: 40px 10px;
        background-position: center center;
    }
    .declaration{
        width: 100%;
        position: relative;
        top: 0;
        left: 0;
        -webkit-transform: none;
        transform: none;
    }
    .declaration h1{
        padding: 30px 20px;
        font-size: 30px;
    }
    .declaration h1 span{ font-size: 28px;}
    .declaration h1 br{ display: none;}
}
@media (max-width: 768px) {
    .declaration h1,
    .declaration h1 span{ font-size: 26px;}
}
@media (max-width: 640px) {
    .aboutTextbox{ padding: 20px 10px;}
    .declaration h1{ padding: 20px 10px;}
    .declaration h1,
    .declaration h1 span{
        font-size: 24px;
        line-height: 1.3;
    }
}
@media (max-width: 425px) {
    .declaration h1,
    .declaration h1 span{ font-size: 18px;}
}

.about01Box{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/about01.jpg) no-repeat right 100px;
    background-size: 600px auto;
}
.about01Box h2{
    text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
}
.about01Box .about01Txt{ padding: 0 30% 0 0;}
.about01Box p{
    font-size: 16px;
    line-height: 2.0;
    text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
}
@media (max-width: 1440px) {
    .about01Box{ background-size: 500px auto;}
    .about01Box .contBox{
        max-width: 100%;
        margin: 0 10px;
    }
    .about01Box .about01Txt{ padding: 0 550px 0 0;}
}
@media (max-width: 1024px) {
    .about01Box{
        background-size: 400px auto;
        background-position: right 230px;
    }
    .about01Box .about01Txt{ padding: 0 400px 0 0;}
}
@media (max-width: 768px) {
    .about01Box{
        background-size: 200px auto;
        background-position: right 130px;
    }
    .about01Box .about01Txt{ padding: 0 200px 0 0;}
}
@media (max-width: 640px) {
    .about01Box{ background: none;}
    .about01Box .about01Txt{ padding: 0;}
}
@media (max-width: 425px) {
    .about01Box p{ font-size: 14px;}
}

.about02Box{ background: #f5f5f5;}
.purposeTxtbox{ margin: 0 0 60px 0;}
.purposeTxtbox h3{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/icon-purpose.png) no-repeat 30px center #a2c0db;
    background-size: 80px;
    font-size: 36px;
    font-weight: bold;
    line-height: 1.0;
    color: #0f3c65;
    padding: 40px 0 40px 120px;
    margin: 0 0 20px 0;
}
.purposeDobox{}
.purposeDobox p{
    margin: 0 0 30px 0;
    text-align: center;
    font-size: 24px;
    line-height: 1.2;
    font-weight: bold;
}
.purposeDobox ul{ font-size: 0;}
.purposeDobox li{
    box-sizing: border-box;
    display: inline-block;
    width: 490px;
    border: 2px solid #d9c330;
    padding: 20px 10px;
    margin: 0 0 20px 0;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}
.purposeDobox li:nth-child(even){ margin: 0 0 20px 20px;}
.purposeDobox li:last-child{
    width: 100%;
    margin: 0;
}
@media (max-width: 1024px) {
    .purposeDobox li,
    .purposeDobox li:nth-child(even){
        width: 48%;
        margin: 0 1% 2%!important;
        font-size: 16px;
        box-sizing: border-box;
    }
    .purposeDobox li:last-child{
        width: 98%;
        margin: 0 1%;
        box-sizing: border-box;
    }
}
@media (max-width: 768px) {
    .purposeTxtbox h3{
        padding: 20px 0 20px 80px;
        background-position: 15px center;
        background-size: 50px;
        font-size: 28px;
    }
    .purposeDobox p{ font-size: 20px;}
    .purposeDobox li,
    .purposeDobox li:nth-child(even){
        width: 100%;
        margin: 0 0 10px 0!important;
        padding: 15px 10px;
    }
    .purposeDobox li:last-child{
        width: 100%;
        margin: 0;
    }
}
@media (max-width: 640px) {
    .purposeTxtbox h3{
        padding: 20px 0 20px 70px;
        background-size: 40px;
        font-size: 20px;
    }
    .purposeDobox p{ font-size: 15px;}
}
@media (max-width: 425px) {
    .purposeTxtbox h3{
        padding: 20px 10px 20px 55px;
        background-position: 10px center;
        font-size: 18px;
    }
    .purposeDobox li,
    .purposeDobox li:nth-child(even){ font-size: 14px;}
}

.about03Box{}
.greetingBox{}
.greetingBox img.greetingImg{
    width: 300px;
    height: auto;
    float: left;
    margin: 0 20px 20px 0;
}
.greetingBox p{
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 40px 0;
}
.ceoBox{ text-align: right;}
.greetingBox .ceoBox p{ margin: 0;}
.greetingBox p.ceo01{
    font-family: 'Noto Serif JP', serif;
    font-size: 14px;
}
.greetingBox p.ceo02{
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 30px;
}
@media (max-width: 768px) {
    .greetingBox img.greetingImg{ width: 200px;}
}
@media (max-width: 640px) {
    .greetingBox p{
        font-size: 14px;
        margin: 0 0 30px 0;
    }
    .greetingBox p.ceo01{ font-size: 12px;}
    .greetingBox p.ceo02{ font-size: 20px;}
}
@media (max-width: 425px) {
    .greetingBox img.greetingImg{
        width: 100%;
        margin: 0 0 20px 0;
        float: none;
    }
}


/* management-support
----------------------------------------------- */
.firstTextbox{
    height: 300px;
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/pageHeadBG01.jpg) no-repeat right center #0f3c65;
    background-size: 800px auto;
    position: relative;
}
.firstTextbox::before{
    content: '';
    background: rgba(15,60,101,0.5);
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
}
.firstTextbox .mainText{
    width: 1000px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}
.firstTextbox .mainText h2{
    margin: 0;
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 35px;
    line-height: 1.5;
    color: #fff;
    padding: 30px;
    font-feature-settings: "palt";
}
@media (max-width: 1024px) {
    .firstTextbox{
        height: auto;
        padding: 60px 20px;
        background-position: center center;
        background-size: cover;
    }
    .firstTextbox::before{ background: rgba(15,60,101,0.7);}
    .firstTextbox .mainText{
        width: 100%;
        position: relative;
        top: 0;
        left: 0;
        -webkit-transform: none;
        transform: none;
    }
    .firstTextbox .mainText h2{
        padding: 0;
        font-size: 30px;
    }
    .firstTextbox .mainText h2 br{ display: none;}
}
@media (max-width: 640px) {
    .firstTextbox{ padding: 20px 10px;}
    .firstTextbox .mainText h2{
        font-size: 24px;
        line-height: 1.3;
    }
}
@media (max-width: 425px) {
    .firstTextbox .mainText h2{ font-size: 18px;}
}

h2.pageTtl{
    font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 36px;
    line-height: 1.3;
	margin: 0 0 40px 0;
}

.contBox2000{
    max-width: 2000px;
    margin: 0 auto;
}
.manageInbox{
    display: flex;
    justify-content: flex-end;
}
.manageInbox.reverse{ flex-direction: row-reverse;}
.manageL{
    width: 900px;
    padding: 100px 60px;
    box-sizing: border-box;
    position: relative;
    z-index: 10;
}
.manageL h2.pageTtl{ margin: 0 0 10px 0;}
.manageL .num{
    font-family: 'Noto Serif JP', serif;
	font-weight: 600;
    color: #0f3c65;
    font-size: 70px;
    line-height: 1.0;
    margin: 0 0 20px 0;
}
.manageL .sub{ margin: 0 0 40px 0;}
.manageL .sub ul{ font-size: 0;}
.manageL .sub li{
    display: inline-block;
    border: 1px solid #a9894b;
    border-radius: 3px;
    font-size: 14px;
    line-height: 1.0;
    color: #a9894b;
    padding: 7px 10px 5px 10px;
    margin: 0 10px 0 0;
}
.manageL p{
    font-size: 16px;
    line-height: 1.8;
}
.manageL .more{
    position: absolute;
    right: 60px;
    bottom: 50px;
}
.manageL .more a{ width: 300px;}

.manageR{
    width: 600px;
    height: 600px;
}
.manageR.manage01{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/management01.jpg) no-repeat center center;
    background-size: cover;
}
.manageR.manage02{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/management02.jpg) no-repeat center center;
    background-size: cover;
}
.manageR.manage03{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/management03.jpg) no-repeat center center;
    background-size: cover;
}
@media (max-width: 1440px) {
    .manageL{
        width: calc( 100% - 500px );
        padding: 100px 40px;
    }
    .manageL h2.pageTtl br{ display: none;}
    .manageR{ width: 500px;}
}
@media (max-width: 1024px) {
    .manageL{ padding: 60px 40px;}
}
@media (max-width: 1000px) {
    .manageInbox{ display: block;}
    .manageL{
        width: 100%;
        box-sizing: border-box;
        padding: 50px 30px 30px;
    }
    .manageL .num{ font-size: 50px;}
    .manageL .more{
        position: static;
        text-align: right;
    }
    .manageR{
        width: 100%;
        height: 300px;
        box-sizing: border-box;
    }
}
@media (max-width: 768px) {
    .manageL{ padding: 40px 20px 20px;}
    h2.pageTtl{ font-size: 28px;}
    .manageL .more a{
        width: 200px;
        padding: 15px 10px;
    }
}
@media (max-width: 640px) {
    .manageL .num{ font-size: 40px;}
    .manageL .sub{ margin: 0 0 20px 0;}
    .manageL p{ font-size: 14px;}
}
@media (max-width: 425px) {
    h2.pageTtl{ font-size: 24px;}
    .manageL .sub li{ font-size: 11px;}
    .manageL .more a{
        width: 160px;
        padding: 10px;
        font-size: 14px;
    }
    .manageR{ height: 220px;}
}


/* about-mail-magazine-hints & membership-menu & individual-support-menu
----------------------------------------------- */
.articleFirstTxt{
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.3;
    margin: 0 0 100px 0;
}
ul.numberList{ counter-reset: item;}
.numberList li{
	font-family:'Lucida Grande','Hiragino Kaku Gothic ProN', Meiryo, メイリオ, sans-serif;
    font-weight: normal;
    font-size: 20px;
    line-height: 1.4;
    margin: 0 0 5px 0;
    padding: 0 0 0 25px;
    position: relative;
}
.numberList li:last-child{ margin: 0;}
.numberList li:before {
    counter-increment: item;
    content: counter(item)'.';
    position: absolute;
    left: 0;
}

.articleSubTtl{
    margin: 0 0 60px 0;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 34px;
    line-height: 1.3;
    background: #f5f5f5;
    padding: 30px 20px;
}
section.cmnSection{ margin: 0 0 80px 0;}
h2.articleTtl{
    margin: 0 0 40px 0;
    padding: 25px 0 25px 70px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 34px;
    line-height: 1.3;
    border-top: 1px solid #a9894b;
    border-bottom: 1px solid #a9894b;
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/icon-purpose.png) no-repeat left center;
    background-size: 60px;
}
section.cmnSection .articleImg{
    width: 400px;
    float: right;
    margin: 0 0 0 20px;
}
section.cmnSection .articleImg img{
    width: 100%;
    height: auto;
    vertical-align: bottom;
}
section.cmnSection .articleTxt p{
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 20px;
}
section.cmnSection .articleTxt p:last-child{ margin: 0;}

section.cmnSection .link{
    float: right;
    margin: 10px 0 0 0;
}
section.cmnSection .link a{
    display: block;
    padding: 10px 5px 9px 5px;
    margin: 0 auto;
    font-size: 12px;
    line-height: 1.0;
    text-align: center;
    width: 150px;
    border: 1px solid #a9894b;
    border-radius: 100px;
    text-decoration: none;
    box-sizing: border-box;
    outline: none;
}
section.cmnSection .link a span{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/03/icon-key02.png)  no-repeat left center;
    background-size: 20px auto;
    padding: 0 0 0 25px;
}
section.cmnSection .link a:hover{ background: #a9894b}
section.cmnSection .link a:hover span{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/icon-key.png)  no-repeat left center;
    background-size: 20px auto;
    color: #fff;
}

.moviePerformance{}
section.cmnSection .articleTxt .moviePerformance p{
    margin: 0 0 10px 0;
    background: #f5f7fa;
    display: inline-block;
    padding: 7px 10px 6px 10px;
    line-height: 1.0;
    font-size: 14px;
}
.moviePerformance li{ margin: 0 0 5px 0;}
.moviePerformance li::before{
    content: '-';
    font-weight: bold;
    margin: 0 5px 0 0;
}
.entry-content .moviePerformance li a{
    color: #1d7dc5;
    text-decoration: none;
    font-size: 15px;
}

.small{ font-size: 80%;}
.flowBox{
    border: 2px solid #d9c330;
    padding: 60px 80px;
}
.flowBox p{
    margin: 0 0 10px 0;
    font-size: 18px;
}
.flowBox ul{ counter-reset: item;}
.flowBox li{
    font-size: 16px;
    line-height: 1.4;
    margin: 0 0 20px 0;
    padding: 0 0 0 25px;
    position: relative;
}
.flowBox li:last-child{ margin: 0;}
.flowBox li:before {
    counter-increment: item;
    content: counter(item)'.';
    font-weight: bold;
    position: absolute;
    left: 0;
}

.mngmnt.returnBox a{ width: 300px;}

@media (max-width: 768px) {
    .articleFirstTxt{
        margin: 0 0 40px 0;
        font-size: 18px;
    }
    .numberList li{ font-size: 16px;}
    .articleSubTtl{
        font-size: 30px;
        padding: 20px 10px;
    }
    h2.articleTtl{
        font-size: 30px;
        background-size: 50px;
        padding: 20px 0 20px 60px;
    }
    section.cmnSection .articleImg{ width: 300px;}
    .flowBox{ padding: 40px;}
}
@media (max-width: 640px) {
    .articleSubTtl{ font-size: 28px;}
    h2.articleTtl{ font-size: 28px;}
    section.cmnSection .articleImg{
        width: 200px;
        margin: 0 0 0 10px;
    }
    section.cmnSection .articleTxt p{ font-size: 14px;}
    .entry-content .moviePerformance li a{ font-size: 14px;}
    .flowBox p{ font-size: 14px;}
    .flowBox li{
        font-size: 14px;
        margin: 0 0 10px 0;
    }
    .mngmnt.returnBox a{ width: 100%;}
    section.cmnSection .link{ float: none;}
    section.cmnSection .link a{ width: 50%;}
}
@media (max-width: 425px) {
    .articleFirstTxt{ font-size: 16px;}
    .numberList li{ font-size: 14px;}
    section.cmnSection{ margin: 0 0 40px 0;}
    .articleSubTtl{
        font-size: 24px;
        margin: 0 0 30px 0;
    }
    h2.articleTtl{
        font-size: 24px;
        margin: 0 0 20px 0;
        padding: 15px 0 15px 50px;
        background-size: 40px;
    }
    .flowBox{ padding: 20px 10px;}
    section.cmnSection .link a{ width: 80%;}
}
@media (max-width: 375px) {
    section.cmnSection .articleImg{
        font: none;
        width: 100%;
        margin: 0 0 20px 0;
    }
}


/* メルマガ お役立ち 会員限定ページ（ログイン直後）共通
----------------------------------------------- */
.pageTextbox{ background: #0f3c65;}
.pageTextbox h2{
    margin: 0 auto;
    padding: 30px 10px;
    max-width: 1000px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.5;
    color: #fff;
    font-feature-settings: "palt";
}
.casingFirstBox{
    margin: 0 0 60px 0;
    font-size: 16px;
    border: 1px solid #0f3c65;
    padding: 30px;
}
body.logged-in .casingFirstBox{ display: none;}
@media (max-width: 768px) {
    .pageTextbox h2{ font-size: 20px;}
    .casingFirstBox{
        padding: 20px;
        font-size: 15px;
    }
}
@media (max-width: 425px) {
    .pageTextbox h2{
        font-size: 18px;
        padding: 20px 10px;
    }
}


/* mail_magazine Line
----------------------------------------------- */
body.post-type-archive-mail_magazine article.post{
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #ccc;
}
body.post-type-archive-mail_magazine article.post h1{
    font-size: 18px;
    line-height: 1.6;
}
body.post-type-archive-mail_magazine article.post h1 a{ text-decoration: none;}
body.post-type-archive-mail_magazine article.post .data{
    font-size: 14px;
    color: #888;
}
@media (max-width: 768px) {
    body.post-type-archive-mail_magazine article.post{
        margin: 0 0 15px 0;
        padding: 0 0 15px 0;
    }
    body.post-type-archive-mail_magazine article.post h1{ font-size: 15px;}
}
@media (max-width: 640px) {
    body.post-type-archive-mail_magazine article.post h1{ font-size: 14px;}
}


/* mail_magazine single
----------------------------------------------- */
/* --- same as whats_new --- */
.newsSinglebox.mailmagaBox{}
.newsSinglebox.mailmagaBox .data{
    position: static;
    margin: 0 0 30px 0;
    text-align: right;
}


/* document Line
----------------------------------------------- */
body.post-type-archive-document article.post{
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #ccc;
}
body.post-type-archive-document article.post h1{
    font-size: 18px;
    line-height: 1.6;
}
body.post-type-archive-document article.post h1 a{
    display: block;
    text-decoration: none;
    padding: 0 0 0 28px;
    position: relative;
    outline: none;
}
body.post-type-archive-document article.post h1 a::after{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 24px;
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/icon-file.png) no-repeat left center;
    background-size: 20px auto;
}
body.post-type-archive-document article.post .data{
    display: block;
    font-size: 14px;
    color: #888;
    margin: 0 0 5px 0;
}
@media (max-width: 768px) {
    body.post-type-archive-document article.post{
        margin: 0 0 15px 0;
        padding: 0 0 15px 0;
    }
    body.post-type-archive-document article.post h1{ font-size: 15px;}
}
@media (max-width: 640px) {
    body.post-type-archive-document article.post h1{ font-size: 14px;}
    body.post-type-archive-document article.post h1 a{ padding: 0 0 0 24px;}
    body.post-type-archive-document article.post h1 a::after{ background-size: 18px auto;}
}


/* document single
----------------------------------------------- */
/* --- same as whats_new --- */
.newsSinglebox.documentBox{}
.newsSinglebox.documentBox .data{
    position: static;
    margin: 0 0 30px 0;
    text-align: right;
}
.newsSinglebox.documentBox .newsTextbox{ margin: 0 0 40px 0;}
.documentDLBox{
    margin: 0 0 15px 0;
}
.documentDLBox a{
    box-sizing: border-box;
    display: inline-block;
    text-decoration: none;
    border: 1px solid #0f3c65;
    color: #0f3c65!important;
    font-size: 15px;
    line-height: 1.2;
    padding: 15px 15px 15px 35px;
    position: relative;
    z-index: 10;
    outline: none;
}
.documentDLBox a::after{
    content: '';
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/icon-file.png) no-repeat left center;
    background-size: 18px auto;
    display: block;
    width: 18px;
    height: 25px;
    position: absolute;
    z-index: 100;
    top: 10px;
    left: 10px;
}
.documentDLBox a:hover{ color: #fff!important;}
.documentDLBox a::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
    background: #0f3c65;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
.documentDLBox a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}
@media (max-width: 640px) {
    .documentDLBox a{ width: 100%;}
}
@media (max-width: 425px) {
    .documentDLBox a{ font-size: 14px;}
}


/* form
----------------------------------------------- */
.goFormBox{}
.goFormBox h2{
    margin: 0 0 20px 0;
    font-family: 'Noto Serif JP', serif;
    font-weight: bold;
    font-size: 30px;
    line-height: 1.3;
    text-align: center;
    padding: 20px 10px;
    background: #efefef;
}
.goFormLoaf{ margin: 0 0 80px 0;}
.goFormLoaf .numberList{ margin: 0 0 40px 0;}
.goFormLoaf .numberList li,
.goFormLoaf p{ font-size: 16px;}
.goFormLoaf .more{ margin-top: 40px;}
.goFormLoaf .more a{ width: 300px;}
@media (max-width: 680px) {
    .goFormBox h2{ font-size: 28px;}
}
@media (max-width: 425px) {
    .goFormBox h2{ font-size: 24px;}
    .goFormLoaf .more a{ width: 100%;}
    .goFormLoaf .numberList li,
    .goFormLoaf p{
        font-size: 14px;
    }
}


/* form01-03
----------------------------------------------- */
.kome{ color: #ff0000;}
table.tableType01{
	width: 100%;
	border: 1px solid #ccc;
	background: #f9f8f4;
	margin: 0 0 20px 0;
}
table.tableType01 th{
	font-size: 15px;
	line-height: 1.5;
	padding: 12px 10px;
	width: 240px;
	border-bottom: 1px dotted #ccc;
	vertical-align: middle;
	position: relative;
}
table.tableType01 th span{
	color: #f00;
	font-size: 12px;
	margin: 0 0 0 5px;
}
table.tableType01 td{
	padding: 12px 10px;
	background: #fff;
	border-bottom: 1px dotted #ccc;
    font-size: 15px;
	line-height: 1.5;
}
table.tableType01 td p.note{
	padding: 0;
	margin: 0 0 5px 0;
	font-size: 13px;
	color: #555;
}

table.tableType01 tr.memberNum{ display: none;}
body.logged-in table.tableType01 tr.memberNum{ display:table-row;}

.radiochoiceBox .mwform-radio-field{ margin: 0 10px 0 0;}
.mw_wp_form .error{ margin: 3px 0 0 0;}
.mw_wp_form table.tableType01 td p.yubin .error{ display: inline-block;}

.mw_wp_form_preview table.tableType01 td .m10-b{ margin: 0!important;}
.mw_wp_form_preview table.tableType01 td p.note{ display: none;}
.sendBtn-box{ text-align: center;}
table.tableType01 td p{ margin: 0;}
.inpt100{ width: 100px;}
.inpt200{ width: 200px;}
.inpt300{ width: 300px;}
.inpt400{ width: 400px;}
.inpt500{ width: 500px;}
.txtareaH60{ height: 60px;}
.txtareaH100{ height: 100px;}
.txtareaH200{ height: 200px;}
.wid100par{ width: 100%;}
textarea{ padding: 3px;}
.mwform-tel-field input{
	margin: 2px 0;
	width: 100px!important;
}
.policyBox{
	color: #555;
	font-size: 12px;
	padding: 10px 5px;
	text-align: center;
	background: #fafafa;
	margin: 0 0 30px 0;
	border: 1px solid #e9e9e9;
}
.mw_wp_form_preview table tr.mailkakuninTR{ display: none;}
.mw_wp_form_confirm .policyBox{ display: none;}

@media (max-width: 1024px) {
	table.tableType01 th{
		padding: 10px;
		font-size: 12px;
	}
	table.tableType01 td{
		padding: 10px;
		font-size: 12px;
	}
	table.tableType01 th span{ right: 10px;}
	.inpt200{
		width: 100%;
		margin: 0 0 5px 0;
	}
	.inpt400{ width: 100%;}
	.txtareaH200{ width: 100%;}
}
@media (max-width: 680px) {
	table.tableType01 th{
		display: block;
		width: 100%;
        box-sizing: border-box;
	}
	table.tableType01 td{
		display: block;
		width: 100%;
        box-sizing: border-box;
	}
    table.tableType01 th br{ display: none;}
	table.tableType01 tr:last-child td{ border-bottom: none;}
	.inpt300{ width: 100%;}
	.inpt300.ate{ width: 92%;}
	.mwform-tel-field input{ width: 30%!important;}
}
@media (max-width: 375px) {
	.mwform-tel-field input{ width: 25%!important;}
}

select{
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
	min-width: 200px;
	background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/arrowD.png) no-repeat right 8px center;
	background-size: 10px auto;
}
input[type="text"],input[type="password"],input[type="search"],input[type="tel"], textarea, select{
	-webkit-appearance: none;
}
[type="tel"]{
	padding: 3px;
	box-sizing: border-box;
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
}
input[type="search"]{
    padding: 3px;
    border: 1px solid #ccc;
}

/* - thanks page - */
.thanksBox{
	max-width: 800px;
	padding: 80px 40px 40px;
	margin: 40px auto;
	border-radius: 8px;
	text-align: center;
	background: #fff;
	box-sizing: border-box;
}
.tB-text{ margin: 0 0 60px 0;}
.tB-text-chunk{
	text-align: left;
	padding: 20px;
	margin: 0 0 40px 0;
	border-radius: 8px;
	border: 1px solid #ddd;
}
.thanksBox p{
	margin: 0 0 10px 0;
	font-size: 15px;
	line-height: 1.5;
}
p.tB-textFirst{
	color: #333;
	font-size: 28px;
	font-weight: bold;
	margin: 0 0 80px 0;
	text-align: center;
}
.tB-mail{
	text-align: center;
	margin: 0!important;
}
.tB-mail a{
	font-size: 14px;
	display: block;
	background: #efefef;
	padding: 5px;
	width: 200px;
	margin: 30px auto 0 auto;
	border-radius: 4px;
	text-decoration: none;
}
.entry-content .tB-mail a:hover{ background: #ccc;}
p.return-btn{
	font-size: 14px;
	margin: 0;
}
.return-btn a{
	color: #fff!important;
	text-decoration: none;
	display: block;
	width: 240px;
	padding: 12px 10px 10px 10px;
	margin: 0 auto;
	background: #0f3c65;
}
.return-btn a:hover{
	color: #fff!important;
	background-color: #082a49;
}
.return-btn a .fa{
	font-size: 24px;
	vertical-align: bottom;
	margin: 0 10px 0 0;
}
@media (max-width: 680px) {
	.thanksBox{
		margin: 0 auto!important;
		padding: 40px 0 20px;
	}
	.thanksBox p{ font-size: 14px;}
	p.tB-textFirst{
		font-size: 20px;
		margin: 0 0 40px 0;
	}
	.tB-text-chunk{ padding: 10px;}
	.tB-text{ margin: 0 0 20px 0;}
}
@media (max-width: 425px) {
	.thanksBox{ padding: 10px;}
	p.tB-textFirst{
		font-size: 16px;
		margin: 0 0 30px 0;
	}
	.return-btn a{
		width: 100%;
		padding: 10px 0;
		font-size: 12px;
	}
	.return-btn a .fa{ font-size: 18px;}
}


table.tableType03{
	width: 100%;
	border: 1px solid #ccc;
	background: #f9f8f4;
	margin: 0;
}
table.tableType03 th{
	font-size: 12px;
	line-height: 1.5;
	padding: 10px;
	width: 30%;
	border-bottom: 1px dotted #ccc;
	vertical-align: middle;
	position: relative;
}
table.tableType03 th span{
	color: #f00;
	font-size: 12px;
	margin: 0 0 0 5px;
}
table.tableType03 td{
	padding: 10px;
	background: #fff;
	border-bottom: 1px dotted #ccc;
}


/* campany
----------------------------------------------- */
.companyBox{ padding: 40px 20px;}
table.tableType02{
	width: 100%;
	border: 1px solid #ddd;
}
table.tableType02 th{
	font-size: 14px;
	padding: 20px 10px;
	width: 180px;
	vertical-align: middle;
	border-bottom: 1px solid #ddd;
	background: #f8f9f9;
}
table.tableType02 td{
	font-size: 14px;
	padding: 20px 10px;
	background: #fff;
	border-bottom: 1px solid #ddd;
}
table.tableType02 td li{ margin: 0 0 5px 0;}
table.tableType02 td ul{}
table.tableType02 td ul.num{ counter-reset: item;}
table.tableType02 td ul.num li{
	padding: 0 0 0 20px;
    position: relative;
}
table.tableType02 td ul.num li:before {
    counter-increment: item;
    content: counter(item)'.';
    position: absolute;
    left: 0;
}
@media (max-width: 680px) {
	table.tableType02 th{
		display: block;
		width: 100%;
		padding: 10px;
		box-sizing: border-box;
	}
	table.tableType02 td{
		display: block;
		width: 100%;
		padding: 10px;
		box-sizing: border-box;
	}
	table.tableType02 tr:last-child td{ border: none;}
}

.entry-content .advTtl{
    margin: 0 0 10px 0;
    display: inline-block;
    border: 1px solid #aaa;
    border-radius: 3px;
    padding: 5px 15px;
    min-width: 100px;
    text-align: center;
    font-size: 13px;
    line-height: 1.0;
}
.adviser{ margin: 0 0 20px 0;}
.entry-content .adviser dt{
    clear: both;
    font-weight: normal;
    margin: 0 0 5px 0;
    float: left;
    min-width: 180px;
}
.entry-content .adviser dd{
    margin: 0 0 5px 180px;
    padding: 0;
}
@media (max-width: 680px) {
    .entry-content .adviser dt{
        float: none;
        min-width: 10px;
    }
    .entry-content .adviser dd{ margin: 0 0 15px 0;}
}


/* privacy policy & terms
----------------------------------------------- */
.commonBox{
	max-width: 800px;
	margin: 0 auto!important;
}
.commonBox h3{
	font-size: 16px;
	font-weight: bold;
	margin: 20px 0 0 0;
}
.commonBox p{ margin: 0 0 10px 0;}
.commonBox ul{ margin: 0 0 10px 15px;}
.commonBox li{}
.commonBox ul li ul{ margin: 10px 0 10px 10px;}
@media (max-width: 425px) {
    .commonBox h3{ font-size: 15px;}
}


/* search result
----------------------------------------------- */
body.search-results #page-title{ margin: 0 0 60px 0;}
body.search-results article.post{
	border-bottom: 1px dotted #ccc;
	margin: 0 0 20px 0;
	padding: 0 0 10px 0;
}
.searchResult h1{ font-size: 16px;}
.searchResult h1 a{ text-decoration: none;}
@media (max-width: 425px) {
	body.search-results #page-title{
		font-size: 16px;
		margin: 0 0 30px 0;
	}
	body.search-results article.post{
		margin: 0 0 10px 0;
		padding: 0 0 10px 0;
	}
	.searchResult h1{ font-size: 14px;}
}





/* wp-members Hints
----------------------------------------------- */
.link-text-register{ display: none;}

/* -- 共通 -- */
#wpmem_login .div_text,
#wpmem_login .link-text{
	width: 100%!important;
}
#wpmem_reg .button_div, #wpmem_login .button_div{ width: 100%!important;}
.button_div{ text-align: center!important;}


/* -- 非会員警告用 -- */
.cautionLogin{
	padding: 180px 40px 100px;
	font-size: 14px;
    line-height: 1.6;
	border: 4px solid #a9894b;
	background: url(https://mso.or.jp/site/wp-content/uploads/2020/02/icon-BIGkey.png) no-repeat center 90px #fff;
	background-size: 90px auto;
	text-align: center;
}
@media (max-width: 680px) {
	.cautionLogin{
		padding: 140px 20px 80px;
		font-size: 14px;
        background-position: center 80px;
	}
}
@media (max-width: 425px) {
	.cautionLogin{ padding: 140px 10px 80px;}
}
@media (max-width: 375px) {
	.cautionLogin{
		text-align: left;
		font-size: 12px;
	}
}

/* -- ログインページ -- */
#wpmem_login,
#wpmem_reg{
	max-width: 600px;
	margin: 0 auto;
}
#wpmem_login .link-text{
    text-align: center!important;
    padding: 0!important;
    margin: 30px 0 0 0!important;
}
.pwd_forgot{
    border: 1px solid #a9894b;
    padding: 20px 10px;
    font-size: 14px;
}
#wpmem_login legend{ display: none;}

.gotoPaidtxt{
    margin: 0 0 100px 0;
    padding: 20px 10px 17px;
    border: 1px solid #a9894b;
    font-size: 14px;
    text-align: center;
}
.memContonlyBox{}
.memContonlyBox ul{ font-size: 0;}
.memContonlyBox li{
    display: inline-block;
    width: 48%;
    margin: 0 1%!important;
}
.memContonlyBox li a{
    font-family: 'Noto Serif JP', serif;
    text-decoration: none;
    display: block;
    font-size: 18px;
    text-align: center;
    padding: 25px 10px;
    position: relative;
    z-index: 100;
    background: #efefef;
}
.memContonlyBox a:hover{
    color: #fff!important;
}
.memContonlyBox a::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
    background: #0f3c65;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
.memContonlyBox a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}
@media (max-width: 768px) {
    .gotoPaidtxt{ margin: 0 0 60px 0;}
    .memContonlyBox li{
        display: block;
        width: 100%;
        margin: 0 0 15px 0!important;
    }
    .memContonlyBox li a{ padding: 15px 10px;}
}
@media (max-width: 425px) {
    .gotoPaidtxt{
        padding: 20px 8px 17px;
        font-size: 12px;
    }
    .memContonlyBox li a{ font-size: 15px;}
}



article.status-publish{ /* -- このタグはログイン中の全ページに有るので触ってはいけない -- */}
.wpmem_msg{
	width: 100%!important;
	margin: 0 auto 20px;
	max-width: 600px;
}
.userName + ul,
.wpmem_msg + ul{
	max-width: 600px;
	margin: 0 auto;
}
@media (max-width: 425px) {
	#wpmem_reg legend, #wpmem_login legend{
		font-size: 20px!important;
	}
}

/** ver.3.3.0.3でパスワード変更画面に制限ダイアログが出現したため打ち消し 20200105**/
.userNameBox + #wpmem_restricted_msg{ display: none;}


body.page-id-31 .cautionLogin{
    max-width: 1000px;
    margin: 0 auto;
}
@media (max-width: 1024px) {
    body.page-id-31 .cautionLogin{ margin: 0 10px;}
}




/* paid_member
----------------------------------------------- */
body.responsive.layout-full.single-paid_member #page-wrapper .full-container { max-width: 100%;}
body.responsive.layout-full.single-paid_member #page-wrapper #main{ padding: 0;}
body.single-paid_member #primary{
    width: 100%;
    float: none;
    padding: 0 0 20px 0;
}
body.single-paid_member.logged-in #primary{ padding: 0;}
body.single-paid_member .cautionLogin{ margin: 20px 20px 0;}
body.single-paid_member #navxt-breadcrumbs{ margin: 0 auto;}
@media (max-width: 1024px) {
    body.single-paid_member #navxt-breadcrumbs{ margin: 0 10px;}
}

.headTtleboxIn h1 .paid{
    margin: 0 20px 0 0;
    padding: 8px 15px 10px 15px;
    border: 1px solid #a9894b;
    border-radius: 4px;
    color: #a9894b;
    font-size: 18px;
    vertical-align: middle;
}
@media (max-width: 768px) {
    .headTtleboxIn h1 .paid{
        display: block;
        width: 130px;
        padding: 3px 5px 5px 5px;
        font-size: 12px;
        text-align: center;
        margin: 0 0 5px 0;
    }
}

body.single-paid_member .pageTextbox{ background: #a9894b;}

.paidCont{}
.paidCont h3{
    margin: 0 0 20px 0;
    font-size: 20px;
    font-weight: bold;
}
.paidCont p{ font-size: 16px;}
.paidCont p.paidSubttl{
    display: inline-block;
    margin: 0 0 40px 0;
    background: #a9894b;
    padding: 8px 10px;
    color: #fff;
    font-size: 14px;
    line-height: 1.0;
}
.paidCont .paidInfotxt{ margin: 0 0 30px 0;}
@media (max-width: 425px) {
    .paidCont h3{ font-size: 16px;}
    .paidCont p{ font-size: 14px;}
}

.paidLink{ text-align: center;}
.paidLink a{
    box-sizing: border-box;
    display: inline-block;
    min-width: 300px;
    text-decoration: none;
    border: 1px solid #0f3c65;
    color: #0f3c65!important;
    font-size: 15px;
    line-height: 1.2;
    padding: 20px 30px;
    position: relative;
    z-index: 10;
    outline: none;
}
.paidLink a:hover{ color: #fff!important;}
.paidLink a::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
    background: #0f3c65;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
.paidLink a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}
.paidLink.down a::after{
    content: '';
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/05/icon-arrowD.png) no-repeat left center;
    background-size: 18px auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    height: 100%;
    display: block;
    width: 18px;
}
@media (max-width: 640px) {
    .paidLink a{
        display: block;
        min-width: 10px;
        padding: 15px 10px;
    }
}
@media (max-width: 425px) {
    .paidLink a{ font-size: 14px;}
    .paidLink a span{ display: block;}
}

.paidBox{
    margin: 0 0 40px 0;
    background: #fff;
}
.paidBox:last-child{ margin: 0;}
.paidBox h2{
    padding: 20px 40px;
    font-family: 'Noto Serif JP', serif;
	font-weight: 600;
    font-size: 36px;
    border-bottom: 1px solid #ccc;
}
.paidBox h2 span{
    display: block;
    font-size: 13px;
    line-height: 1.2;
    color: #555;
    font-family:'Lucida Grande','Hiragino Kaku Gothic ProN', Meiryo, メイリオ, sans-serif;
    font-weight: normal;
}
.paidBox h2 span.subTtl{
    display: inline-block;
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 80%;
    color: #333;
}
.paidBox.num01 h2{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/05/paid-icon01.png) no-repeat 40px center;
    background-size: 60px auto;
    padding-left: 120px;
}
.paidBox.num02 h2{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/05/paid-icon02.png) no-repeat 40px center;
    background-size: 60px auto;
    padding-left: 120px;
}
.paidBox.num03 h2{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/05/paid-icon03.png) no-repeat 40px center;
    background-size: 60px auto;
    padding-left: 120px;
}
.paidBox.num04 h2{
    background: url(https://mso.or.jp/site/wp-content/uploads/2020/05/paid-icon04.png) no-repeat 40px center;
    background-size: 60px auto;
    padding-left: 120px;
}
@media (max-width: 640px) {
    .paidBox h2{
        padding: 20px;
        font-size: 26px;
    }
    .paidBox.num01 h2,
    .paidBox.num02 h2,
    .paidBox.num03 h2,
    .paidBox.num04 h2{
        background-size: 40px auto;
        background-position: 20px center;
        padding-left: 70px;
    }
}
@media (max-width: 425px) {
    .paidBox h2{ padding: 15px 10px;}
    .paidBox.num01 h2,
    .paidBox.num02 h2,
    .paidBox.num03 h2,
    .paidBox.num04 h2{
        background-size: 40px auto;
        background-position: 10px center;
        padding-left: 60px;
    }
    .paidBox h2 span.subTtl{ font-size: 60%;}
}
@media (max-width: 375px) {
    .paidBox h2{ line-height: 1.3;}
}

.paidBox-in{ padding: 40px;}
@media (max-width: 640px) {
    .paidBox-in{ padding:  30px 10px 20px;}
}

.paidBox h3{
    margin: 0 0 20px 0;
    font-size: 20px;
    font-weight: bold;
}
.paidBox p{ font-size: 16px;}
.paidBox .paidTxt{ margin: 0 0 30px 0;}
@media (max-width: 425px) {
    .paidBox h3{ font-size: 16px;}
    .paidBox p{ font-size: 14px;}
}

.paidOutline{}
.paidCont .paidOutline h3{
    margin: 0 0 5px 0;
    font-size: 30px;
    font-family: 'Noto Serif JP', serif;
}
.paidCont .paidOutline .paidUrl{
    margin: 0 0 30px 0;
    color: #888;
    font-size: 13px;
}
.paidCompanybox{ margin: 0 0 60px 0;}
.paidCompanybox .paidComp{
}
.paidCompanybox .paidComp.two{
    float: left;
    width: 49%;
    padding: 0 1% 0 0;
}
.paidCompanybox .paidComp p.compName{
    margin: 0;
    font-size: 16px;
    font-weight: bold;
}
.paidCompanybox .paidComp li{
    font-size: 15px;
    margin: 0 0 3px 0;
}
.paidCompanybox .paidComp li span.zip{ margin: 0 10px 0 0;}
@media (max-width: 768px) {
}
@media (max-width: 640px) {
    .paidCompanybox .paidComp.two{
        float: none;
        width: 100%;
        padding: 0;
        margin: 0 0 20px 0;
    }
    .paidCont .paidOutline h3{ font-size: 20px;}
    .paidCompanybox .paidComp li{ font-size: 14px;}
}
@media (max-width: 425px) {
    .paidCont .paidOutline .paidUrl{ font-size: 11px;}
    .paidCompanybox .paidComp p.compName{ margin: 0 0 5px 0;}
    .paidCompanybox .paidComp li{ margin: 0;}
    .paidCompanybox .paidComp li span.zip{
        display: block;
        margin: 0;
        font-size: 12px;
    }
}
@media (max-width: 320px) {
    .paidCompanybox .paidComp li span.compTime{ display: block;}
}


/* paid_member movieLine
----------------------------------------------- */
body.layout-full.post-type-archive-movie{ background-color: #fff;}
body.responsive.layout-full.post-type-archive-movie #page-wrapper .full-container { max-width: 100%;}
body.responsive.layout-full.post-type-archive-movie #page-wrapper #main{ padding: 0;}
body.post-type-archive-movie #primary{
    width: 100%;
    float: none;
    padding: 0 0 20px 0;
}
body.post-type-archive-movie.logged-in #primary{ padding: 0;}
body.post-type-archive-movie #navxt-breadcrumbs{ margin: 0 auto;}
@media (max-width: 1024px) {
    body.post-type-archive-movie #navxt-breadcrumbs{ margin: 0 10px;}
}

body.post-type-archive-movie .pageTextbox{ background: #a9894b;}

body.post-type-archive-movie #primary,
body.single-movie #primary{
    width: 100%;
    float: none;
}

.movieBox{}
.movieBox li{
	float: left;
	width: 33.33%;
	margin: 0 0 30px 0;
    padding: 0 5px;
    box-sizing: border-box;
}
.movieBox .mvImg{
	width: 100%;
	height: 180px;
	overflow: hidden;
	position: relative;
}
.movieBox li img{
	width: 100%;
	height: auto;
	overflow: hidden;
	vertical-align: bottom;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}
.movieBox li a{
	text-decoration: none;
	outline: none;
}
.movieBox li a:hover img{ opacity: 0.9;}
.movieBox li .textBox{ padding: 10px 0;}
.movieBox li h1{ font-size: 12px;}
@media (max-width: 1024px) {
    .movieBox li{}
	.movieBox .mvImg{ height: auto;}
	.movieBox li .mvImg::before{
		content: '';
		display: block;
		padding-top: 56%;
		background: #000;
	}
}
@media (max-width: 768px) {
	.movieBox li{ width: 50%;}
}
@media (max-width: 425px) {
	.movieBox li{
		float: none;
		width: 100%;
		margin: 0 0 30px 0!important;
	}
    .movieBox li .textBox{ padding: 10px 0 0 0;}
}


/* paid_member movie
----------------------------------------------- */
body.responsive.layout-full.single-movie{ background-color: #f5f5f5;}
body.responsive.layout-full.single-movie #page-wrapper .full-container { max-width: 100%;}
body.responsive.layout-full.single-movie #page-wrapper #main{ padding: 0;}
body.single-movie #primary{
    width: 100%;
    float: none;
    padding: 0 0 20px 0;
    background: #f5f5f5;
}
body.single-movie.logged-in #primary{ padding: 0;}
body.single-movie .cautionLogin{ margin: 20px 20px 0;}
body.single-movie #navxt-breadcrumbs{ margin: 0 auto;}
@media (max-width: 1024px) {
    body.single-movie #navxt-breadcrumbs{ margin: 0 10px;}
}

body.single-movie .pageTextbox{ background: #a9894b;}

.movieSinglebox{ background: #fff;}
.mvSmovie{
	position: relative;
	height: 0;
	padding: 0 0 56.25%;
	overflow: hidden;
	text-align: center;
}
.mvSmovie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	vertical-align: bottom;
}
.movieSinglebox h1{
    border-top: 1px solid #ddd;
	font-size: 20px;
	padding: 15px;
}
@media (max-width: 1024px) {
	.movieSinglebox h1{ font-size: 16px;}
}
@media (max-width: 425px) {
	.movieSinglebox h1{
        padding: 10px;
        font-size: 14px;
    }
}


/* form-business-consultation
----------------------------------------------- */
body.page-template-page-paid{ background: #f5f5f5;}
body.page-template-page-paid #primary{
	width: 100%;
    float: none;
    margin: 77px 0 0;
}
body.page-template-page-paid .entry-header{ display: none;}
