@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/

@import url('https://fonts.googleapis.com/css?family=M+PLUS+1p:400,500,700,800,900&display=swap');


/*--------------------------------------*/
.center { text-align:center !important;}
.left { text-align:left !important;}
.right { text-align:right !important;}
.middle { vertical-align:middle !important;}
.bottom { vertical-align:bottom !important;}
.mt10 { margin-top:10px !important;}
.mt20 { margin-top:20px !important;}
.mt30 { margin-top:30px !important;}
.mt40 { margin-top:40px !important;}
.mt50 { margin-top:50px !important;}
.mb10 { margin-bottom:10px !important;}
.mb20 { margin-bottom:20px !important;}
.mb30 { margin-bottom:30px !important;}
.mb50 { margin-bottom:50px !important;}
/*--------------------------------------*/
p.title {
    font-weight: bold;
    font-size: 40px;
    text-align: center;
    padding: 2% 0;
    font-family: "M PLUS 1p", "", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E" , "Times New Roman" , "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.post img.aligncenter {box-sizing: border-box;}

.f_red {    color: red;}
.f_blue {    color: #075099;}

.f_130 {    font-size: 130%;}
.f_150 {    font-size: 150%;}

span.red {
    color: red;
}
span.mini {
    font-size: 80%;
}

.box_line {
    border: 1px solid;
    max-width: 450px;
    padding: 1%;
}

.bg_box {
    width: auto;
    max-width: 450px;
    padding: 1%;
    margin-bottom: 2%;
    line-height: 1.6em;
}

.bg_glay {    background: #B4ADA9;}
.bg_blue {    background: #cae9f8;}
.bg_yellow {    background: #ffffc6;}


/* スマホで改行をなくす
----------------------------------*/
@media screen and (max-width: 640px) {
    .br-sp { display:none; }
}

/* スマホの時だけ改行（PCの時非表示）
----------------------------------*/
@media screen and (min-width:640px) {
    .br-pc { display:none; }
}

/* 画像表示順
----------------------------------*/
.f_Right {
float:right;
}

.f_Left {
float:left;
}

@media only screen and (max-width: 640px) {
.f_Right,.f_Left {
float: none;
}
}

/* 横幅100%
----------------------------------*/

body{overflow-x:hidden;}
#wrapper, #content, .post{overflow: visible;}

.bgfix { background-attachment:fixed !important;}
.ipod .bgfix { background-attachment:scroll !important; }
.iphone .bgfix { background-attachment:scroll !important; }
.ipad .bgfix { background-attachment:scroll !important; }


/*　チェックボックスのリスト　*/
ul.check-squareul,.top_list {
  list-style: none;
}
ul.check-square li,.top_list {
    border: none;
    line-height: 1.6em;
    margin: 0;
}
ul.check-square li:before,ul.top_list li:before{
  font-family: FontAwesome;
  content: '\f14a'; /* アイコンのunicode */
    color: #075099;
    padding-right: 10px;
    font-size: 120%;
}
ul.top_list {
    font-size: 35px;
    font-weight: bold;
}
ul.top_list li:before{
    color: #2DA8E5;
}
ul.top_list li {
    border: none;
    margin: 5px;
}
@media only screen and (min-width: 640px) {
.top_f_box {
    display: flex;
    align-items: center;
}
}


/* ヘッダー
----------------------------------*/
#header h1, #header .description {
    color: #003F7F;
    font-size: 12px;
}
#header .contact .mail img {
    width: 235px;
    height: 44px;
}

#header .logo img {
    max-height: 95px;
}

@media print, screen and (min-width: 1024px){
#header-layout {
    padding-top: 10px;
    padding-bottom: 0;
}
nav#mainNav {
    margin-top: 3em;
}
}


/* スティッキーヘッダー
----------------------------------*/
@media all and (min-width:1024px) {
	#header-layout {
		position:relative;
	}
	.sticky-header #header .site-header {
		position:fixed !important;
		width:100%;
		top:-125px;
		z-index:10;
		transform:translateY(125px);
		transition:all 0.8s ease-in-out;
	}
	.admin-bar.sticky-header #header .site-header {
		top:-93px;
		transform:tranlateX(125px);
	}
	#header #header-layout {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 20px 10px;
	box-sizing: border-box;
    box-shadow: 5px 5px 5px rgba(5, 65, 133, 0.2);
}
	#header #header-layout > * {
		position:static !important;
		width:auto;
		left:auto;
		right:auto;
		top:auto;
		bottom:auto;
		margin:0 !important;
		display:block;
		float:none;
		transform:none;
	}
	#header .logo{
		flex-shrink:0.5;
	}
	#header #header-layout .contact {
		order:1;
		flex-shrink:0.5;
		max-width: 240px;
	}
	#header #header-layout img {
		width: 100%;
		max-width:100%;
		height:auto;
	}
	#header #header-layout #mainNav {
		flex-shrink:0;
		transition:none;
	}
}
@media all and (max-width:1099px) and (min-width:1024px) {
	#header .inner {
		width:100%;
	}
	#header-layout {
		width:100%;
	}
}


/* 見出し
----------------------------------*/


h1.title.first,.home h2.title,.home h1.title.bottom-loop {
    position: relative;
    margin-bottom: 10%;
    text-align: center;
    padding-top: 3%;
    box-sizing: border-box;
}
.home h2.title,.home h1.title.bottom-loop {
    font-weight: bold;
    font-size: 46px;
}
h1.title.first:after,.home h2.title:after,.home h1.title.bottom-loop:after {
    background-image: url(/wp-content/uploads/h1_img.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    display: block;
    content: "";
    position: absolute;
    height: 48px;
    left: 0;
    right: 0;
    margin: 2% auto 0;
    visibility: visible;
}


h1.title.first.front-post {
    font-weight: 900;
    font-size: 120px;
}
h1.title.bottom-loop {
    color: #333;
}
h1.title.bottom-loop span span {
    display: block;
    font-size: 14px;
    font-weight: normal;
    margin-top: 15px;
    color: #075099;
}

/**/

.post h2 {
    background: none;
}
body:not(.home) .post h2 {
border-bottom: solid 3px #EDF6FF;
position: relative;
padding-left: 0;
    margin: 5% 0 3%;
}

body:not(.home) .post h2:after {
position: absolute;
content: " ";
display: block;
border-bottom: solid 3px #2DA8E5;
bottom: -3px;
width: 20%;
    visibility: initial;
}

h2.title_stripe {
    border: none !important;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    margin-top: 3% !important;
}
h2.title_stripe:after {
    display: none !important;
}


section.bottom_box h2.title2 {
    font-weight: bold;
    color: #fff;
}

section.bottom_box h2.title2 span {
    display: block;
    font-weight: normal;
    font-size: 14px;
}

.home h3.title,h2.title_stripe {
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    line-height: 1.2em;
    margin-bottom: 5%;
}

.home h3.title span.stripe,h2.title_stripe span.stripe {
    background-image: url(/wp-content/uploads/h3_bg_img.jpg);
    background-repeat-y: no-repeat;
    background-size: 21px;
    background-position: top 40px center;
    padding-right: 15px;
}

body:not(.home) .post h3 {
    font-weight: bold;
    color: #147CCC;
}

@media screen and (min-width:641px) and ( max-width:1024px) {
h1.title.first.front-post {
    font-size: 70px;
}
}

@media only screen and (max-width: 640px) {
h1.title.first.front-post {
    font-size: 45px;
}
h1.title.first:after, .home h2.title:after, .home h1.title.bottom-loop:after {
    margin: 0;
}
p.title,.CBlock-color.top_merit_box h2,.home h3.title, h2.title_stripe {
    font-size: 25px !important;
}

.home h3.title span.stripe, h2.title_stripe span.stripe {
    background-position: top 20px center;
}
}


/* TOP
----------------------------------*/
.top_box {
    margin: 2% 0 8%;
}
@media only screen and (max-width: 1000px) {
ul.top_list {
    font-size: 30px;
}
}
@media only screen and (max-width: 640px) {
.top_box .arrow_img {
    width: 50%;
}
ul.top_list {
    font-size: 25px;
}
}


/* 4つのメリット */
.CBlock-color.top_merit_box {
    background-color: #EDF6FF;
    color: #333;
    padding: 4em calc((100vw - 100%) / 2);
}
.CBlock-color.top_merit_box h2 {
    background: #fff;
    text-align: center;
    font-size: 40px;
    font-weight: bold;
}


.CBlock-color.top_merit_box .column4_25 {
    background: #fff;
    padding: 2%;
    box-sizing: border-box;
}

.CBlock-color.top_merit_box p.title {
    font-size: 25px;
    line-height: 1.3em;
    margin-bottom: 5%;
}
.btn_box {
    margin-top: 3%;
}


@media only screen and (min-width: 640px) {
.f_box {
    display: flex;
    justify-content: space-around;
}
.CBlock-color.top_merit_box .column4_25 {
    width: 24%;
}
}


/* プラン */
table.top_price_table, table.top_price_table th, table.top_price_table td {
    border: 2px solid #444;
    background: #fff;
    color: #444;
    text-align: center;
    font-size: 25px;
    font-weight: bold;
    padding: 3% 0;
}
table.top_price_table p {
    padding-bottom: 0;
}
table.top_price_table p.price {
    font-size: 150%;
    color: red;
}
table.top_price_table p.price span {
    display: inline-block;
    font-size: 65%;
    color: #444;
}

.top_price_logo_box {
    text-align: center;
}
.top_price_logo_box img {
    max-height: 30px;
    display: inline-block;
    vertical-align: middle;
    margin: 0 5px;
}

/**/

.top_link_inbox {
    clear: both;
    overflow: auto;
    overflow-x: hidden;
    overflow-y: hidden;
	margin-bottom: 5%;
}

.top_link_box .txt_box {
    background: #EDF6FF;
    padding: 5%;
    color: #075099;
}
.top_link_box h3.title {
    text-align: left;
    color: #075099;
}
.top_link_box h3.title span {
    display: block;
    padding-left: 0;
    font-size: 15px;
    font-weight: normal;
    letter-spacing: 5px;
}

.txt_box.f_Right,.txt_box.f_Left {
    padding: 10%;
    box-sizing: border-box;
    z-index: -1;
}
.top_link_inbox img {
    z-index: 2;
    position: relative;
}

.column2_50.top_support_box,.column2_50.top_school_box {
    padding-top: 8%;
}


@media only screen and (min-width: 1157px) {

.txt_box.f_Right,.txt_box.f_Left {
    width: 600px;
}
}


/* お問い合わせ */
section {
    display: block;
}
section.bottom_box {
    margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);
    text-align: center;
    margin-top: 10%;
    margin-bottom: 5%;
}
.columns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.column.photo {
    width: 100%;
    min-height: auto;
    padding: 10% 0;
    overflow: hidden;
    position: relative;
}
.column.text {
	position:relative;
}

.column.photo.img_contact {
    background-image: url(/wp-content/uploads/top_contact_img.jpg);
	background-position: center;
    background-size: cover;
}
.column.photo.img_recruit {
    background-image: url(/wp-content/uploads/top_company_img.jpg);
	background-position: center;
    background-size: cover;
}

@media only screen and (max-width: 640px) {
.columns {
    display: block;
}
}

/* お知らせ */
div#front_bottom_content .post li {
    border: none;
}

/* ボタン */
a.button.btn1 {
    background: none;
    color: #075099;
    border: 1px solid #075099;
    font-family: "Josefin Sans", "Noto Sans JP", "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
    font-size: 22px;
    font-weight: bold;
}


section.bottom_box a.button.btn1 {
    border-color: #fff;
    color: #fff;
}


/* 下層ページ：
----------------------------------*/
p.top_maru {
    position: relative;
    z-index: 1;
    padding-left: 6px;
}
p.top_maru:before {
    content: "";
    position: absolute;
    background: #fff;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    top: 30px;
    left: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: -1;
}

.bg_box p.top_maru {
    padding: 15px 0 15px 15px;
}


/* ボタン */
.contact_btn {
    text-align: center;
}
a.button.btn13 {
    background-color: #075099;
    box-shadow: 0 3px 0 #003f7f;
    padding: 0 5%;
    width: auto;
    font-weight: bold;
}
a.button.btn13:hover {
    background-color: #147CCC;
    box-shadow: 0 3px 0 #075099;
	color:#fff;
}


/* 下層ページ：発行代行サービス
----------------------------------*/

/* 回り込み */
.inbox_right {
    margin-bottom: 30px !important;
}

.support_box {
    padding: 0 5%;
    margin-bottom: 8%;
}

.support_img_box ul.support_list {
    border: 3px solid #075099;
    padding-top: 3%;
}
@media only screen and (min-width: 641px) {
.inbox_right {
    float: right;
    width: 30%;
    margin-left: 30px !important;
}
}

.support_img_box {
    margin: 5%;
    text-align: center;
}
.support_img_box ul.support_list {
    display: flex;
    justify-content: space-around;
}
.support_img_box img {
    margin: 3% auto !important;
}
.support_img_box p {
    font-size: 200%;
    font-weight: bold;
font-size: 230%;
}

.support_img_box p span {
    background: linear-gradient(transparent 70%, #58c6ea 70%);
}
.support_img_box ul.support_list li {
    border: none;
    background: #58c6ea;
    padding: 3% 0;
    width: 30%;
    border-radius: 30px;
    color: #fff;
    font-weight: bold;
    font-size: 150%;
}


@media only screen and (max-width: 640px) {
.support_img_box {
    margin: 5% 0;
}
.support_img_box img {
    width: 60%;
}
.support_img_box p {
    font-size: 150%;
}
.support_img_box ul.support_list li {
    font-size: 100%;
}
}


/* 下層ページ：スクール
----------------------------------*/
p.title_stripe {
    text-align: center;
    position: relative;
    padding-left: 0;
    margin: 0% 0 3%;
    font-size: 20px;
    font-weight: bold;
}
p.title_stripe span.stripe {
    background-image: url(/wp-content/uploads/h3_bg_img.jpg);
    background-repeat-y: no-repeat;
    background-size: 21px;
    background-position: top 15px center;
    padding-right: 15px;
}


p.price {
    font-size: 150%;
    font-weight: bold;
}

.school_box {
    margin-bottom: 5%;
}
.school_box.bg_yellow {
    padding: 3% 3% 2%;
}


.school_flow_box .column4_25 {
    padding: 2%;
    box-sizing: border-box;
    border: 5px solid #95ccff;
    border-radius: 30px;
    position: relative;
}
.school_flow_box .column4_25.end_box:before {
display:none;
}
.school_box .f_box {
    align-items: flex-end;
    margin-bottom: 3%;
}
p.name {
    font-size: 150%;
    font-weight: bold;
}

/**/
.title_box {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}
.title_box .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
}
.title_box p {
    margin: 0; 
    padding: 0;
}

@media only screen and (min-width: 641px) {
.school_flow_box .column4_25 {
    width: 23%;
}
.school_flow_box {
    display: flex;
    justify-content: space-between;
}
.school_flow_box .column4_25:before {
    content: "";
    position: absolute;
    top: 10%;
    right: -32px;
    width: 31px;
    height: 38px;
    background: url(/wp-content/uploads/arrow_right.png);
    background-size: 100%;
    background-repeat: no-repeat;
}
}


@media screen and (max-width: 640px) {
.school_flow_box .column4_25:before {
    content: "";
    position: absolute;
    width: 70px;
    height: 60px;
    background: url(/wp-content/uploads/arrow_bottom.png);
    background-size: 100%;
    background-repeat: no-repeat;
    bottom: -50px;
    left: 0;
    right: 0;
    margin: auto;
}
.school_flow_box .column4_25 {
    margin-bottom: 10%;
}
}
/*ヘッダー調整*/
@media only screen and (min-width: 1024px) {
	.mobile #header .logo img{
		max-height: 60px;
	}
	nav#mainNav {
		display: block;
		width: 100%;
	}
	nav#mainNav div.panel > ul {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
	}
	nav#mainNav div.panel > ul > li > a {
		padding: 12px 24px;
		height: auto;
		font-size: calc(1rem + (1vw - 0.38rem) * 0.1967);
		/*1-1.3rem*/
	}
}
@media only screen and (min-width: 1024px) and (max-width: 1300px){
	nav#mainNav div.panel > ul > li > a {
		padding: 12px 18px;
	}
}
/*
 *SPスティッキー時の調整
 */
body.mobile #breadcrumb ,
body.mobile #mainImg {
	margin-top: 0;
}
@media (max-width:1023px) {
	body.mobile #header + * {
		margin-top:60px;
	}
}

/*バージョンアップCF7送信スピナーによるテキストずれ対応*/
.wpcf7-spinner{
    position: absolute!important;
    margin: 0!important;
}