@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Exo:500');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;600;700;900&display=swap');

/* MEMO */

/*================================================
 *  CSSリセット
 ================================================*/
* { margin:0; padding:0; border:0; outline:0; vertical-align:baseline; background:transparent; word-wrap:break-word; }
footer, header, nav, section, picture, source { display:block; }
div, nav, section, dl, ul { overflow:hidden; }
ul { list-style:none; }
table { border-collapse:collapse; border-spacing:0; table-layout:fixed; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
form, input,select,textarea { box-sizing:border-box; }
input, button, textarea { -webkit-appearance:none; -moz-appearance:none; appearance:none; }

/*================================================
 *  タグ定義
 ================================================*/
* { line-height:1.6; }
html { background-color:#dddddd; }
body { margin:0 auto; -webkit-text-size-adjust:none; background-color:white; }
body, input, select, textarea { font-size:16px; }
body, textarea, input, select, option { font-family:'Noto Sans JP', sans-serif; }
p:not(:last-child) { margin-bottom:0.3em; }
a { background:transparent; text-decoration:none; outline:none; -webkit-tap-highlight-color:rgba(0,0,0,0); color:#222; }
a:hover, a:focus { text-decoration:none; outline:none; }
a:hover { opacity:0.7; }
h1, h2, h3 { margin-bottom:1em; }
h1 { font-size:36px; }
h2, .lead { font-size:28px; }
h3, .sub_lead { font-size:20px; }
li { margin-left:1.5em; }
table, tr, th, td { border:1px solid #bbbbbb; }
table { margin-left:auto; margin-right:auto; table-layout:fixed; }
th, td { vertical-align:middle; padding:2px 5px; }
th { white-space:nowrap; background-color:#d7e8f4; }
tbody th { text-align:right; }
td { text-align:left; }
img, video { display:block; max-width:100%; }
section { min-height:500px; }
iframe { display:block; }
blockquote { position:relative; padding-left:1.5em; }
blockquote:before{ display:inline-block; position:absolute; top:0px; left:0px; vertical-align:middle; content:"\f10d"; font-family:"Font Awesome 5 Free"; color:white; font-size:16px; line-height:1; font-weight:900; }
blockquote p { line-height:1.3; }
input[type="text"], input[type="password"], select, textarea { border:1px solid #bbbbbb; background-color:white; }
input[type="text"], input[type="password"], textarea { width:100%; padding-left:5px; padding-right:5px; }
input[type="date"], input[type="time"] { border:1px solid #bbbbbb; padding-left:5px; padding-right:5px; }
input[type="checkbox"] { display:none; }
input[type="checkbox"]+label { position:relative; display:inline-block; padding:0 30px; width:auto; cursor:pointer; }
input[type="checkbox"]+label::before { position:absolute; display:block; content:''; width:16px; height:16px; top:50%; left:5px;  margin-top:-8px; border:1px solid #bbbbbb; }
input[type="checkbox"]+label::after  { position:absolute; display:block; content:''; width:5px;  height:9px;  top:50%; left:10px; margin-top:-7px; border-right:3px solid black; border-bottom:3px solid black; transform:rotate(45deg); opacity:0; }
input[type="checkbox"]:checked+label::after { opacity:1; }
input[type="radio"]+label { cursor:pointer; display:inline-block; padding-left:20px; position:relative; width:auto; }
input[type="radio"]+label:before { background:white; border:1px solid #bbbbbb; border-radius:50%; content:''; display:block; height:16px; left:0; margin-top:-8px; position:absolute; top:50%; width:16px; }
input[type="radio"]+label:after { background:black; border-radius:50%; content:''; display:block; height:10px; left:4px; margin-top:-4px; opacity:0; position:absolute; top:50%; transform:scale3d(.3,.3,1); width:10px; }
input[type="radio"]:checked+label:after { opacity:1; transform:scale3d(1,1,1); }
label+input[type="radio"] { margin-left:25px; }
textarea { min-height:5em; max-width:100%; }
td textarea { margin-top:5px; margin-bottom:5px; }

/*================================================
 *  ヘッダ・ナビ
 ================================================*/
/* ロゴ */
header { height:100px; }
header .inner { display:flex; justify-content:space-between; align-items:center; padding-top:20px; padding-bottom:20px; }
header .inner a { display:block; }
header .inner .header_logo { display:flex; justify-content:space-between; align-items:center; }
header .inner .header_logo img { flex-shrink:0; }
header .inner .header_logo h1 { margin-bottom:0; margin-left:20px; font-size:16px; }
header .inner .header_link { width:310px; height:60px; line-height:60px; text-align:center; font-weight:bold; letter-spacing:-1px; flex-shrink:0; background-color:#ff6c00; color:white; }
header .inner .header_link img { display:inline; vertical-align:middle; margin-right:10px; }

/*  メニュー */
nav { background-color:#006ab8; }
nav ul { display:flex; justify-content:space-between; flex-wrap:wrap; overflow:hidden; }
nav ul li, nav ul li a { height:80px; display:block; }
nav ul li { text-align:center; margin-left:0; flex:1; }
nav ul li a { border:0; color:white; }
nav ul li a.nav_selected { background-color:#bbbb44; }
nav ul li a div.nav_text_top { padding-top:15px; }
nav ul li a div.nav_text_bottom { font-size:12px; }
nav ul li a:hover { color:white; opacity:1; background-color:#ff6c00; }
/* スマホメニューボタン */
div.sp_menu_button { display:none; position:absolute; z-index:2; top:30px; right:20px; width:40px; height:60px; cursor:pointer; }
div.sp_menu_button div, div.sp_menu_button div span { display:inline-block; transition:all .4s; box-sizing:border-box; }
div.sp_menu_button div { position:relative; width:40px; height:35px; }
div.sp_menu_button div span { position:absolute; left:0; width:100%; height:4px; background-color:#ff6c00; border-radius:4px; }
div.sp_menu_button div span:nth-of-type(1) { top:5px; }
div.sp_menu_button div span:nth-of-type(2) { top:15px; }
div.sp_menu_button div span:nth-of-type(3) { top:25px; }
div.sp_menu_button.active div span:nth-of-type(1) { -webkit-transform:translateY(10px) rotate(-45deg); transform:translateY(10px) rotate(-45deg); }
div.sp_menu_button.active div span:nth-of-type(2) { opacity:0; }
div.sp_menu_button.active div span:nth-of-type(3) { -webkit-transform:translateY(-10px) rotate(45deg); transform:translateY(-10px) rotate(45deg); }
div.sp_menu_button p { font-size:14px; line-height:8px; text-align:center; color:#ff6c00; }

/*================================================
 *  フッタ
 ================================================*/
footer { text-align:center; padding:50px 0 100px; background-color:#dddddd; }
footer ul { display:flex; justify-content:space-between; flex-wrap:wrap; margin-left:0; margin-bottom:50px; }
footer ul li { display:block; margin-left:0; }
footer ul li div { font-size:14px; }
footer a:hover { color:#ff6c00; }
footer img { width:240px; }
.copyright { margin-top:20px; }

/*================================================
 *  ページトップへの戻り
 ================================================*/
#go_to_top { display:block; position:fixed; bottom:20px; right:10vw; width:60px; height:60px; background-color:#ff6c00; color:white; font-size:40px; line-height:60px; text-align:center; border:1px solid white; z-index:2; text-decoration:none; opacity:0.85; }
#go_to_top:hover { background-color:#ff6c00; opacity:1; }

/*================================================
 *  モーダル
 ================================================*/
 .modal { display:none; position:fixed; top:0; height:100vh; width:100%; }
 .modal_bg { position:absolute; height:100vh; width:100%; background:rgba(0,0,0,0.8); }
 .modal_content { display:none; position:absolute; z-index:99; top:50%; transform:translate(-50%,-50%); left:50%; width:60%; padding:40px; background:white; }

/*================================================
 *  ページ共通
 ================================================*/
/* ブロック構造 */
.inner { width:1020px; margin-left:auto; margin-right:auto; }
.content_block { padding:50px 0; }
.content_block.backcolor { color:white; }
.center { text-align:center; }
img.center { margin-left:auto; margin-right:auto; }
.left { text-align:left; }
.right { text-align:right; }
.object_fit { background-size:cover; background-position:center center; background-repeat:no-repeat; display:block; position:absolute; top:0; left:0; width:100%; height:100%; }
.backcolor { background-color:#006ab8; color:white; }
.backcolor_light { background-color:#d3e6f4; color:#006ab8; }
.page_top_text { padding:25px 0; }
.page_top_text h2 { margin-bottom:0; font-size:28px; }
.page_top_img { position:relative; height:calc(100vw / 16 * 9 * 0.5); display:flex; justify-content:center; align-items:center; }
.page_top_img div { display:inline-block; padding:10px 25px; text-align:center; background-color:rgba(255,255,255,0.6); color:#006ab8; }
.page_top_img div h2 { font-size:36px; margin-bottom:0.2em; letter-spacing:-0.05em; }
.page_top_img div * { line-height:1.2; }
.page_top_img div p { font-size:18px; margin-bottom:0; font-weight:bold; }
.page_top_img.page_top_under div { position:absolute; bottom:10px; }
.page_top_img.page_top_white div { background-color:rgba(255,255,255,0.85); }
.buttons { display:flex; flex-wrap:wrap; justify-content:center; margin-left:auto; margin-right:auto; margin-top:25px; }
section>div.buttons:last-child { margin-bottom:40px; }
.buttons .button:not(:last-child), .buttons input[type="submit"]:not(:last-child) { margin-right:25px; }
.button, input[type="submit"] { display:block; width:250px; height:60px; line-height:60px; background-color:#ff6c00; color:white; text-align:center; cursor:pointer; font-weight:700; }
.button img { display:inline; vertical-align:middle; margin-right:10px; }
.with_button { padding:0; }
.with_button a { display:block; padding:2px 5px; background-color:#ff6c00; color:white; }
.f_req:after { content:'必須'; font-size:85%; margin-left:5px; display:inline-block; border-radius:5px; color:white; background:#ff6c00; padding:5px; line-height:1; }
/* 小ボックス(写真付き) */
.common_block { display:flex; padding:25px; margin-bottom:25px; }
.common_block:last-child { margin-bottom:0; }
.common_block .block_image { width:320px; margin-right:25px; flex-shrink:0; }
.common_block .block_content { flex:1; }
.common_block .block_content h2 { font-size:22px; text-align:center; }
.common_block .block_content ul { list-style:disc; }
.two_pain { display:flex; justify-content:space-between; align-items:center; }
.two_pain>* { width:480px; }
.youtube_movie { width:480px; }
.youtube_movie p, .youtube_movie p span { line-height:1.3; }
.youtube_movie p { padding-top:5px; margin-bottom:0; text-align:center; }
.youtube_movie_wrapper { aspect-ratio:16 / 9; }
.youtube_movie_wrapper iframe { width:100%; height:100%; }
.tool img { width:480px; }
.image_link { display:inline-block; }
.message { display:flex; justify-content:center; margin-bottom:1em; color:red; }

/* 文字装飾 */
.underconst { text-align:center; color:red; margin-top:100px; font-size:32px; }
.exo { font-family:"Exo", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; }
.serif { font-family:"游明朝", YuMincho, "ＭＳ Ｐ明朝", serif; }
.nobr { white-space:nowrap; display:inline-block; }
.error { color:red; }
.error404 { margin-top:200px; margin-bottom:200px; font-size:24px; }
.outlink::after { content:'🔗'; margin-left:10px; }
.empha { font-weight:bold; }
.subtitle { font-weight:bold; }		/* NEWSで使用 */
.lead, .sub_lead { text-align:center; font-weight:bold; margin-bottom:25px; }
.readmore:after { content:'>>'; margin-left:10px; }
.with_disc { list-style:disc; }
.center_wrapper { text-align:center; }
.center_wrapper ul { display:inline-block; text-align:left; }
.gray { color:gray; font-size:14px; }
.debug { font-size:12px; }
.table_info { background-color: #d7e8f4; border:1px solid #bbbbbb; padding:2px 10px; line-height:2; margin-right:5px; }

/*================================================
 *  ページ別定義
 ================================================*/
/* TOPページ */
.top_image { position:relative; height:calc(100vh - 230px); overflow:visible; margin-bottom:100px; }
.top_image_text { position:absolute; bottom:-50px; left:0; right:0; overflow:visible; text-align:center; }
.top_image_text, .top_image_text * { line-height:1.3; }
.top_image_text h2 { font-size:28px; margin-bottom:0.5em; color:#006ab8; letter-spacing:-1px; font-weight:bold; text-shadow:0 0 1px #fff, 0 0 2px #fff, 0 0 3px #fff, 0 0 4px #fff, 0 0 8px #fff, 0 0 12px #fff, 0 0 16px #fff, 0 0 20px #fff, 0 0 24px #fff, 0 0 28px #fff; }
.top_image_text_sub { display:inline-block; margin-top:20px; padding:15px 25px; background-color:#006ab8; }
.top_image_text_sub p { font-size:20px; color:white; }
.top_movie { margin-top:25px; margin-bottom:25px; }
.top_movie p, .top_movie p span { line-height:1.3; }
.top_important { border:3px solid red; margin-bottom:25px; box-sizing:border-box; }
.top_important dl, .top_important dt, .top_important dd { display:block; }
.top_important dt { background-color:red; color:white; padding:5px 10px; font-size:20px; font-weight:700; text-align:center; }
.top_important dd { padding:10px 25px; }
.top_topic a { display:block; }
.top_topic_add { background-color:#006ab8; padding:10px; text-align:center; font-weight:700; }
.top_topic_add p, .top_topic_add a { line-height:1.6; color:#ffffff; margin-bottom:0; font-size:18px; }
.top_topic_add a { display:inline; }
.top_topic_add a:hover { opacity:1; color:#ff6c00; }
.top_select { display:flex; padding:25px 0; }
.top_select_sub { display:flex; margin:0 25px; padding:25px; width:calc(50% - 100px); background-color:#006ab8; color:white; flex-wrap:wrap; align-items:start; }
.top_select_sub:hover { opacity:0.75; }
.top_select_sub1, .top_select_sub2 { width:100%; flex-grow:1; }
.top_select_sub1 h2 { margin-bottom:0.5em; font-size:26px; background-color:white; color:#006ab8; padding:5px 0; }
.top_select_sub1 p { font-size:20px; margin-bottom:0; font-weight:700; }
.top_select_sub img { width:100%; height:15vw; object-fit:cover; margin-top:10px; }
.top_select_comment { padding:10px 0; width:100%; }
.top_select_comment strong { font-size:115%; font-weight:bold; }
.top_select_comment ul { list-style:disc; display:inline-block; }
.top_select_comment ul li { text-align:left; }
.top_select_sub2_recommend { margin-top:2em; }
.top_select_sub2_recommend p { width:75%; font-size:22px; background-color:white; color:#006ab8; padding:5px 0; margin-left:auto; margin-right:auto; }
.top_select_sub .button { width:300px; margin-top:0; }
.top_muscle_figure { margin-bottom:1em; }
.top_seminar_info { text-align:center; }

.top_sns .buttons { margin-top:0; justify-content:center; flex-wrap:wrap; }
.top_sns .buttons .button, .top_sns .buttons .button:not(:last-child) { width:180px; margin-left:10px; margin-right:10px; }
.top_fb { float:right; margin-left:50px; }
.top_fb h2 { text-align:center; }

/* TOPページNEWS欄・NEWSページ */
.news dl { display:inline-block; }
.news dl dt, .news dl dd { float:left; margin-bottom:15px; font-size:16px; }
.news dl dt:last-of-type, .news dl dd:last-of-type { margin-bottom:0; }
.news dl dt { clear:left; width:100px; margin-right:15px; }
.news dl dd { width:calc(100% - 115px); text-align:left; }
.news dl dd a { border-bottom:1px dotted #ff6c00; }

/* BEGINNERページ */
.beginner_seminar { margin-top:50px; }
.beginner_explain { margin-top:50px; }
.beginner .youtube_movie { margin-top:50px; margin-bottom:0; margin-left:auto; margin-right:auto; }
.beginner video { width:480px; display:block; }
.beginner_use h2 { margin-bottom:0.5em; }
.beginner_hara .buttons .button:not(:last-child) { margin-right:0; margin-bottom:25px; }
.beginner_press>a { width:480px; max-width:100%; display:inline-block; }

/* EXPERTページ */
.expert ul { display:inline-block; list-style:disc; margin-right:0; text-align:left; }
.expert_difference2 { margin-top:50px; }
.expert video { width:640px; margin-left:auto; margin-right:auto; }
.expert_users { display:flex; flex-wrap:wrap; justify-content:space-between; }
.expert_user { width:320px; height:240px; position:relative; margin-bottom:25px; }
.expert_user p { position:absolute; bottom:0; left:0; width:310px; background-color:rgba(255,255,255,0.85); color:#006ab8; font-weight:bold; padding:5px; text-align:center; }
.expert_youtube_movies { display:flex; justify-content:space-between; flex-wrap:wrap; }
.expert_youtube_movies+div { margin-top:25px; }
.expert_youtube_movies .youtube_movie:not(:last-child) { margin-bottom:25px; }
.expert_etc a { display:block; }
.expert_etc h2 { margin-bottom:0; }
.expert_etc img { width:480px; }
.expert_society h2 { color:yellow; }
.expert_society img { margin-top:25px; }

/* REASONページ */
div.reason_persons { margin-top:50px; }
div.reason_profile { position:relative; border:1px solid white; padding:40px 20px 10px; margin-top:25px; font-size:14px; }
div.reason_profile:before { position:absolute; top:5px; left:10px; height:20px; content:"■PROFILE"; font-size:18px; font-weight:bold; line-height:32px; }
div.reason_profile p { line-height:1.3; }

/* CERTIページ */
div.certi_main { margin-top:50px; }
div.certi_block { padding:25px; }
div.certi_block div.certi_head { text-align:center; }
div.certi_block div.certi_head h2 { display:inline-block; margin-bottom:0.5em; }
div.certi_block div.certi_head h2 span.exo { font-size:36px; margin-right:10px; }
div.certi_block div.certi_head h2 span.star { margin-right:10px; }
div.certi_block div.certi_head h3 { position:relative; display:inline-block; padding:10px 25px; background:white; color:#006ab8; font-size:18px; }
div.certi_block div.certi_head h3:before { position:absolute; content:''; bottom:100%; left:0; right:0; margin:auto; border:15px solid transparent; border-bottom:15px solid white; width:0; height:0; }
div.certi_block table { margin:0 auto; }
div.certi_block table tr th, div.certi_block table tr td { padding:5px 10px; }
div.certi_block table tr th { background-color:white; color:#006ab8; border-top:1px solid white; }
div.certi_block table tr:not(:last-child) th { border-bottom:1px solid #006ab8; }
div.certi_block table tr td { border-top:1px solid white; border-right:1px solid white; border-bottom:1px solid white; }
div.certi_block table tr td ul { list-style:disc; margin-bottom:0.5em; }
div.certi_block table tr td p { line-height:1.3; }
div.certi_block .button { color:white; font-weight:bold; width:270px; height:60px; line-height:60px; letter-spacing:-1px; }
div.certi_ascend { display:flex; justify-content:center; align-items:center; margin:25px auto; }
div.certi_ascend img { margin-right:10px; }
div.certi_ascend p { color:#006ab8; font-weight:bold; font-size:24px; }
.certi_level2_annotation { margin-top:10px; list-style:disc; margin-left:1em; }
img.certi_footer { margin-top:50px; }
.star { color:#e6b422; }

/* MEMBERページ */
div.member_html h2 { text-align:center; padding:5px 5px; margin-bottom:0; font-size:22px; display:flex; justify-content:center; flex-wrap:wrap; }
div.member_html h2 span { margin-left:10px; margin-right:10px; font-size:22px; }
div.member_html h2.level3, div.member_html div.level3 table th { background-image:linear-gradient(to right, #95761f, #5d4608, #95761f); color:white; }
div.member_html h2.level2, div.member_html div.level2 table th { background-image:linear-gradient(to right, #989898, #45412f, #989898); color:white; }
div.member_html h2.level1, div.member_html div.level1 table th { background-color:#BFC994; }
div.member_html h2:not(:first-child) { margin-top:50px; }
div.member_html h3 { font-size:16px; margin-bottom:0; }
div.member_html table { width:100%; margin-bottom:5px; }
div.member_html table, div.member_html table tr, div.member_html table th, div.member_html table td { border:1px solid #bbb; }
div.member_html table th, div.member_html table td { padding:2px 5px; font-size:12px; color:black; }
div.member_html table th { width:80px; }
div.member_html table td span { display:inline-block; margin-right:20px; }
div.member_html div.level3 table th, div.member_html div.level3 table td span { font-size:16px; }
div.member_html div.level2 table th, div.member_html div.level2 table td span { font-size:14px; }
div.member_html div.level1 table th, div.member_html div.level1 table td span { font-size:12px; }
div.member_html div.level3 table td span, div.member_html div.level2 table td span { font-weight:bold; }

/* VOICEページ */
div.voice_blocks { display:flex; justify-content:space-between; flex-wrap:wrap; margin-top:50px; }
div.voice_blocks div { width:460px; padding:20px; background-color:#006ab8; color:white; margin-bottom:25px; }
div.voice_blocks div:last-child { margin-bottom:0; }
div.voice_blocks div img { margin-bottom:10px; }
div.voice_blocks div p { line-height:1.3; }

/* USERSページ */
div.users_persons { margin-top:50px; }

/* MEDIAページ */
div.presses { margin-top:25px; }
div.presses div.block_content h2 { font-size:24px; }
div.presses div.block_content h3 { font-size:16px; margin-bottom:0; }
div.presses div.block_content h3:not(:first-of-type), div.presses div.block_content ul+ul { margin-top:15px; }
.two_pain.media { align-items:start; }

/* VIDEOページ */
.video h2 { font-size:24px; margin-bottom:10px; }
.video nav { margin-bottom:10px; }
.video .button, .video input[type="submit"] { height:45px; line-height:45px; width:200px; }
.video th { width:140px; font-weight:400; }
.video td label+span { margin-left:20px; }
.video ul li, .video nav ul li a { height:45px; line-height:45px; display:block; }
.video ul li:not(:last-child) { border-right:1px solid white; }
.login th { width:140px; }
.login td { width:400px; }
.login~.buttons, .forget~.buttons { margin-bottom:25px; }
.forget th { width:260px; }
.u_list .u_del td { background-color:#666; color:white; }
.u_list td, .v_list td, .c_list td, s_list td { text-overflow:ellipsis; overflow:hidden; white-space:nowrap; }
.u_list .u_id       { width:50px; }
.u_list .u_name     { width:200px; }
.u_list .u_login_id { width:400px; }
.u_list .u_sell     { width:75px; }
.u_list .u_entry    { width:85px; }
.u_detail th { width:260px; }
.u_detail td { width:550px; }
.v_list { width:1020px; }
.v_list .v_id    { width:50px; }
.v_list .c_name  { width:200px; }
.v_list .v_title { width:650px; }
.v_list .v_sell  { width:75px; }
.v_detail th { width:220px; }
.v_detail td { width:777px; word-break: break-all; }
.v_code textarea { height:10em; }
.c_list .c_id    { width:50px; }
.c_list .c_name  { width:400px; }
.c_list .c_video { width:75px; }
.c_detail th { width:150px; }
.c_detail td { width:400px; }
.s_list { width:1020px; }
.s_list .s_expire td { background-color:#666; color:white; }
.s_list .s_future td { background-color:rgb(76, 107, 76); color:white; }
.s_list .s_id                    { width:50px; }
.s_list .u_name                  { width:150px; }
.s_list .v_title                 { width:584px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.s_list .s_start, .s_list .s_end { width:90px; }
.s_detail th { width:150px; }
.s_detail td { width:400px; }
.setpassword th { width:220px; }
.setpassword td { width:500px; }
.videolist_cate:not(:last-child) { margin-bottom:50px; }
.videolist_cate_name { background-color:#d7e8f4; font-size:18px; font-weight:700; padding:10px; text-align:left; }
.videolist_video:not(:last-child) { margin-bottom:50px; }
.videolist_title   { font-size:18px; }
.videolist_content { border:1px solid #dddddd; }

/* 平井選手 */
.hirai .page_top_img { height:calc(100vw / 16 * 9 * 0.65); }
.hirai .page_top_img div { position:absolute; bottom:10px; background-color:rgba(255,255,255,0.8); }
.hirai table th, .hirai table td { padding:3px 20px; }
.hirai_articles { display:flex; justify-content:space-between; flex-wrap:wrap; width:calc(350px * 2 + 50px); margin-left:auto; margin-right:auto; }
.hirai_article { width:350px; }
.hirai_article:nth-child(odd) { margin-right:50px; }
.hirai_article:nth-child(-n+6) { margin-bottom:50px; }
.hirai_article_title { margin-bottom:10px; }
.hirai_article time { font-family:'exo'; font-size:26px; line-height:1; }
.hirai_article iframe, .hirai_article .twitter-tweet { max-width:350px; }

/*■■■■■■■■■■■■■■■■■■■■■■■■■
 *  タブレット大
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:1070px) {

/* 共通 */
h1 { font-size:30px; }
h2, .lead { font-size:24px; }
h3, .sub_lead { font-size:18px; }
.visual_text { font-size:48px; }
br.pc { display:none; }
.content_block { padding:50px 25px; }
.inner { width:100%; }
.content_block.inner { width:calc(100% - 50px); }
.page_top_img div { padding:10px 25px; }
.page_top_img div h2 { font-size:32px; }
.page_top_img div p { font-size:16px; }
div.common_block .block_image { width:25%; min-width:140px; }
div.common_block .block_content h2 { font-size:20px; }
.two_pain { display:block; }
.two_pain>* { width:auto; }
.two_pain>*:not(:last-child) { margin-bottom:25px; }
.two_pain>img, .two_pain>video { margin-left:auto; margin-right:auto; }
.two_pain>a { display:inline-block; }
.two_pain video, .two_pain img { max-width:480px; }

/* ヘッダ */
header { height:205px; padding:0; }
header .inner { display:block; text-align:center; }
header .inner .header_logo { display:inline-block; text-align:center; }
header .inner .header_logo img { margin-left:auto; margin-right:auto; }
header .inner .header_logo h1 { padding:0; margin-left:0; }
header .inner .header_link { margin:20px auto 0; }
div.sp_menu_button { display:block; }

/* スマホメニュー */
nav { display:none; }
nav ul li, nav ul li a { height:69px; }
nav ul li { width:calc(100% / 2 - 1px); flex:auto; }
nav ul li { border-right:1px solid white; border-bottom:1px solid white; }
nav ul li:nth-child(2n) { border-right:0; }

/* フッタ */
footer ul { margin-bottom:25px; }
footer ul li { width:calc(100% / 3); margin-bottom:25px; }

/* ページの戻り */
#go_to_top { right:5vw; }

/* トップ */
.top_image { height:calc(100vh - 205px); min-height:480px; }
.top_important, .top_topic, .top_movie { width:calc(100% - 50px); }
.top_topic, .top_movie { padding:0 25px; }
.top_select { display:block; }
.top_select_sub { margin:0 25px; width:calc(100% - 100px); flex-wrap:nowrap; padding:25px; }
.top_select_sub:first-child { margin-bottom:25px; }
.top_select_sub img { width:100%; height:180px; margin-left:0; margin-right:0; }
.top_select_sub1 { width:320px; flex-shrink:0; margin-right:25px; }
.top_select_sub1 h2 { font-size:22px; margin-top:0; }
.top_select_sub2_recommend p { width:auto; }
.top_fb { margin-left:0; float:none; width:auto; }
.top_fb iframe { margin-left:auto; margin-right:auto; }
.top_sns .buttons .button { margin-bottom:25px; }

/* TOPページNEWS欄・NEWSページ */
.news_detail { max-width:100%; }
.news_detail dl dd { min-height:100px; }
.news_detail .news_navi a { width:150px; }

/* BEGINNERSページ */
.beginner_hara .two_pain { display:block; }
.beginner_hara .two_pain>div { margin-bottom:25px; }
.beginner_hara .buttons .button:not(:last-child) { margin-right:25px; }
.beginner_hara video { margin-left:auto; margin-right:auto; }

/* EXPERTページ */
.expert_youtube_movies { display:block; }
.expert_youtube_movies .youtube_movie { margin-left:auto; margin-right:auto; }
.youtube_movie_wrapper { display:flex; justify-content:center; }
.expert_etc a { display:inline-block; }

/* CERTIページ */
.certi_level2_annotation { margin-left:0; }

/* VOICEページ */
div.voice_blocks div { width:calc(50% - 50px); }

/* VIDEOページ */
.video { border-top:5px solid #dddddd; }
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■
 *  タブレット大
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:799px) {

.page_top_img { height:calc(100vw / 16 * 9 * 0.65); }

/* TOPページ */
.top_important, .top_topic, .top_movie { width:calc(100% - 20px); }
.top_topic, .top_movie { padding:0 10px; }
.top_select_sub { flex-wrap:wrap; margin:0 10px; width:calc(100% - 70px); }
.top_select_sub1 { margin-top:0; margin-right:0; width:100%; }
.top_select_sub1 h2 { margin-top:10px; }
.top_select_sub2_recommend p { width:75%; }
.top_seminar_info { text-align:left; }
.top_sns .buttons { width:480px; }

/* BEGINNERページ */
.beginner_seminar { text-align:left; }
.beginner_press>div { width:100%; }

/* EXPERTページ */
.expert_users { justify-content:center; }
.expert_youtube_movies { display:block; }

/* 平井選手 */
.hirai div.center { text-align:left; }
.hirai table th, .hirai table td { padding:0px 10px; }
.hirai_articles { width:350px; }
.hirai_article:nth-child(odd) { margin-right:0; }
.hirai_article:nth-child(-n+7) { margin-bottom:50px; }
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■
 *  タブレット小・iPhone横
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:666px) {

/* 共通 */
.common_block { display:block; padding:25px 15px; }
.common_block .block_image { display:block; width:240px; text-align:center; margin-left:auto; margin-right:auto; margin-bottom:10px; }
.common_block .block_content h2 { font-size:18px; }
.buttons { display:block; }
.buttons .button, .buttons input[type="submit"] { margin-left:auto; margin-right:auto; }
.buttons .button:not(:last-child) { margin-right:auto; margin-bottom:25px; }
.page_top_img { height:calc(100vw / 16 * 9 * 0.75); }
.page_top_img div { padding:5px 10px; }
.page_top_img div h2 { font-size:24px; }
.youtube_movie { max-width:100%; }

/* スマホメニュー */
/*
nav ul li { width:calc(100% / 2 - 1px); }
nav ul li:nth-child(2n) { border-right:0; }
*/

/* TOPページ */
.top_image div h2 { font-size:24px; }
.top_image div p { font-size:18px; }
.top_important dd { padding:10px; }
.top_topic img { width:100%; }
.top_select_sub2_recommend p { width:100%; font-size:20px; }
.top_sns .buttons { display:flex; justify-content:center; }

/* BEGINNERSページ */
.beginner video { margin-right:auto; }
.beginner_press a { margin-right:auto; }
.beginner_hara .buttons .button:not(:last-child) { margin-right:auto; }

/* EXPERTページ */
.expert ul { margin-bottom:25px; }
.expert_ul_wrap ul { font-size:16px; }
.expert_product { display:block; }
.expert_product div { width:100%; }
.expert_product div:first-child { margin-right:0; margin-bottom:25px; }
.expert_feature { display:block; }
.expert_feature img { margin-left:0; margin-top:25px; width:100%; }

/* CERTIページ */
div.certi_block div.certi_head h2 { font-size:20px; }

/* VOICEページ */
div.voice_blocks div { width:100%; }

/* フッタ */
footer ul li { width:calc(100% / 2); }
footer ul li .nav_text_top { display:none; }
footer img { width:200px; }

/* 平井選手 */
.hirai_article time { font-size:22px; }
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■
 *  スマホ
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:480px) {

/* 共通 */
h2, .lead { font-size:20px; }
h3, .sub_lead { font-size:16px; }
.content_block { padding-left:10px; padding-right:10px; }
.content_block.inner { width:calc(100% - 20px); }
.page_top_img { height:240px; }
.page_top_img div h2 { font-size:22px; }
.page_top_img div p { font-size:14px; }
.lead { font-size:20px; }
.two_pain video, .two_pain img { max-width:100%; }

/* ヘッダ */
div.sp_menu_button { top:15px; right:15px; }
header { height:auto; }
header .inner { padding-top:10px; padding-bottom:0; text-align:left; }
header .inner .header_logo { margin-left:10px; }
header .inner .header_logo img { width:220px; margin:0; }
header .inner .header_logo h1 { font-size:12px; }
header .inner .header_link { margin-top:20px; margin-bottom:20px; font-size:16px; }

/* フッタ */
footer { padding:50px 0 100px; }

/* TOPページ */
.top_image { height:calc(100vh - 200px); min-height:320px; }
.top_image_text { margin-left:10px; margin-right:10px; }
.top_image div p { font-size:14px; }
.top_image_text_sub { padding:10px; }
.top_image div h2 { font-size:18px; }
.top_topic_add p, .top_topic_add a { font-size:16px; }
.top_select_sub1 h2 { font-size:20px; }
.top_select_sub1 p  { font-size:16px; }
.top_select_sub2_recommend p { font-size:18px; }
.top_sns .buttons { width:auto; }

/* TOPページNEWS欄・NEWSページ */
.news dl { display:block; text-align:left; }
.news dl dt, .news dl dd { float:none; width:auto; font-size:14px; }
.news dl dt { margin-right:0; margin-bottom:5px; clear:none; width:auto; }

/* BEGINNERページ */
.beginner_twopain .content_block { width:calc(100% - 20px); padding-left:10px; padding-right:10px; }

/* EXPERTページ */
.expert_difference2 p { text-align:left; }

/* CERTIページ */
div.certi_block { padding:15px; }
div.certi_block table, div.certi_block table tbody, div.certi_block table tr, div.certi_block table tr th, div.certi_block table tr td { display:block; border:0; }
div.certi_block table tr th { padding:2px 2px; text-align:left; }
div.certi_block table tr td { padding:5px 0 10px 2px; }
div.certi_block table tr:not(:last-child) th { border-bottom:0; }
div.certi_ascend img { width:40px; }
div.certi_ascend p { font-size:20px; }
img.certi_footer { margin-top:25px; }

/* MEMBERページ */
div.member_html h2 { font-size:18px; margin-bottom:0.5em; }
div.member_html h2 span.nobr { margin-left:0; font-size:18px; }
div.member_html table th { width:70px; }

/* VOICEページ */
.voice_blocks div { padding:15px; }

/* VIDEOページ */
.video table, .video thead, .video tbody, .video tr, .video th, .video td { display:block; border:0; box-sizing: border-box; }
.video tbody th, .video tbody td { width:100%; text-align:left; }
.video tbody td { padding:5px 0; }
.video tbody tr:not(:last-child) { margin-bottom:1em; }
.lvideo input[type="text"], .video input[type="password"], .video textarea { width:100%; }
}
