@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap&subset=japanese');

/* メモ */
/* 濃い水色：#267edf */
/* 薄い水色：#dbecfd → #dbecfd */
/* オレンジ：#ee7829 */
/* グレー：#dadada */

/*================================================
 *  CSSリセット
 ================================================*/
* { margin:0; padding:0; border:0; outline:0; vertical-align:baseline; background:transparent; word-wrap:break-word; box-sizing:border-box; }
h1, h2, h3, h4, h5, footer, header, nav, article, section { display:block; font-weight:normal; }
div, nav, article, section, dl, ul { overflow:hidden; }
ul { list-style-type:none; }
ul, ol { list-style-position:outside; }
table { border-collapse:collapse; border-spacing:0; table-layout:fixed; }
th { font-weight:normal; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
form, input, select, textarea { vertical-align:middle; }
input, button, textarea, select { -webkit-appearance:none; -moz-appearance:none; appearance:none; }
strong { font-weight:normal; }

/*================================================
 *  タグ定義
 ================================================*/
body, input, select, textarea { font-family:'Noto Sans JP', sans-serif; font-size:14px; line-height:1.6; color:#333; }
body { margin:0 auto; -webkit-text-size-adjust:none; background-color:white; }
a { background:transparent; text-decoration:none; outline:none; -webkit-tap-highlight-color:rgba(0,0,0,0); color:#333; }
a:hover, a:focus { text-decoration:none; outline:none; }
h1 { font-size:12px; color:#7b7b7b; padding-top:15px; padding-bottom:15px; }
h2 { background-color:#267edf; color:white; text-align:center; padding:15px 0; }
h3 { text-align:center; font-size:24px; margin-top:50px; margin-bottom:10px; }
article { padding-bottom:50px; }
strong { color:#ee7829; }
textarea { height:15em; }

/*================================================
 *  ヘッダ・ナビ類
 ================================================*/
/* ヘッダ */
header { margin-bottom:15px; }
div.header_block { display:flex; justify-content:space-between; align-items:flex-start; }
a.header_logo, a.header_logo img { display:block; }
a.header_logo:hover { opacity:0.5; transition:0.3s; }
div.header_contact { text-align:center; }
div.common_contact_link, div.common_contact_tel { display:flex; justify-content:center; align-items:center; }
div.common_contact_tel span, div.common_contact_tel a { color:#ee7829; font-weight:700; font-size:24px; margin-right:15px; }
div.common_contact_tel img { display:block; height:28px; }
div.common_contact_link a.common_contact_button { width:200px; margin-left:0; margin-right:0; }
div.common_contact_link a.common_contact_button:after { content:">"; margin-left:5px; }

/* メニュー */
nav { padding-right:3px; display:flex; justify-content:space-between; }
nav a { display:flex; justify-content:center; align-items:center; flex-grow:1; border:1px solid #dadada; box-shadow:3px 3px 3px #999; background:linear-gradient(to bottom, white, white 90%, #e9e9e9 90%, #f1f2f2); padding:20px 0 25px; margin-bottom:5px; }
nav a:not(:last-child) { margin-right:10px; }
nav a:hover { background:linear-gradient(to bottom, white, white 90%, #ee7829 90%, #ee7829); }
nav a p { font-weight:500; line-height:1.3; text-align:center; }
nav a:hover p { color:#ee7829; }

/* スマホメニュー */
div.sp_menu_button { display:none; position:absolute; z-index:2; top:10px; right:10px; width:50px; 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; left:7.5px; width:35px; height:35px; }
div.sp_menu_button div span { position:absolute; left:0; width:100%; height:4px; background-color:#267edf; 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:13px; line-height:13px; text-align:center; color:#267edf; }

/* パンくずリスト */
ul.breadcrumb { display:flex; justify-content:flex-end; margin:10px 0; font-size:12px; }
ul.breadcrumb li:not(:last-child):after{ content:">"; margin-left:10px; margin-right:10px; }
ul.breadcrumb li:not(:last-child) a { text-decoration:underline; }
ul.breadcrumb li:not(:last-child) a:hover { text-decoration:none; color:#ee7829; }

/*================================================
 *  フッタ
 ================================================*/
footer { padding-top:30px; padding-bottom:50px; background-color:#f7f7f7; font-size:12px; }
footer div.inner { display:flex; flex-direction:row-reverse; justify-content:space-between; }
div.footer_info p, div.footer_info p a { color:#818181; }
div.footer_info_logo { margin-bottom:18px; display:flex; justify-content:flex-start; align-items:flex-end; }
div.footer_info_logo span { color:#ee7829; margin-left:12px; line-height:1; }
div.footer_sitemap { width:395px; }
div.footer_sitemap ul { display:flex; flex-wrap:wrap; }
div.footer_sitemap ul li { display:block; margin-bottom:0.5em; }
div.footer_sitemap ul li:not(:nth-child(5n)):after { content:"|"; margin-left:5px; margin-right:5px; color:#cbcbcb; }
div.footer_sitemap ul li:last-child:after { content:""; margin-right:5px; }
div.footer_sitemap ul li a { color:#717171; text-decoration:underline; }
div.footer_sitemap ul li a:hover { text-decoration:none; color:#ee7829; }

/*================================================
 *  ページトップへの戻り
 ================================================*/
#go_to_top { display:block; position:fixed; bottom:20px; right:10vw; width:60px; height:60px; background-color:#ee7829; color:white; font-size:40px; line-height:60px; text-align:center; border:1px solid white; z-index:2; text-decoration:none; opacity:0.8; }
#go_to_top:hover { background-color:#ff6c00; opacity:1; }

/*================================================
 *  ページ共通
 ================================================*/
/* === ブロック構造 === */
.inner { width:980px; margin:0 auto; overflow:visible; }
/* センタリング */
.center { text-align:center; }
img.center { display:block; margin-left:auto; margin-right:auto; }
.center_box_wrapper { text-align:center; }
.center_box_inner { display:inline-block; text-align:left; }
/* 本文・セクション系 */
.content_box { background-color:#dbecfd; padding:25px; }
.content_box section:not(:last-child) { margin-bottom:1em; }
/* 箇条書き */
dl.list_square dt { display:list-item; list-style-type:square; margin-left:1.5em; }
ul.list_disc { list-style-type:disc; }
ul.list_disc li { margin-left:1.5em; }
dl.list_square ul.list_disc li { margin-left:3em; }
/* ボタン類 */
div.buttons { display:flex; }
a.button, input[type="submit"] { display:block; width:280px; margin-left:auto; margin-right:auto; padding:5px 0; border:1px solid #aaa; border-radius:5px; text-align:center; }
a.button:hover, input[type="submit"]:hover { background-color:#ee7829; color:white; }
a.detail_link:after { content:">"; margin-left:10px; }
/* 見出し類 */
.section_title { display:inline-block; background-color:#267edf; padding:5px 15px; color:white; border-radius:5px; vertical-align:middle; text-align:center; }
/* 各ページの最上部リード部 */
div.h2_under { background-color:#dbecfd; text-align:center; padding:25px 0; }
.h2_under_lead { color:#267edf; font-size:25px; }
.h2_under_lead:not(:last-child) { margin-bottom:15px; }
.h2_under_lead p.lead_small { font-size:18px; color:#333; }
.h2_under a.button { margin-top:10px; }
div.h2_under+div.service_lead { margin-top:25px; }
div.service_lead { display:flex; justify-content:space-between; }
div.service_lead_image_box { display:flex; justify-content:space-between; align-items:center; margin-right:25px; flex-shrink:0; background-color:#f9f9f9; }
div.service_lead_image_box img { display:block; }
div.service_lead_point_box { display:flex; justify-content:space-between; align-items:center; background-color:#f9f9f9; padding:10px; flex-grow:1; }
div.service_lead_point_box ul { display:block; margin-left:auto; margin-right:auto; }
div.service_lead_point_box ul li { display:flex; justify-content:flex-start; align-items:center; }
div.service_lead_point_box ul li:not(:last-child) { margin-bottom:10px; }
div.service_lead_point_box ul li p { font-size:18px; vertical-align:top; padding-top:5px; }
div.service_lead_point_box ul li p strong { color:red; font-weight:700; }
div.service_lead_point_box ul li p:first-child { flex-shrink:0; background-color:#267edf; color:white; padding:5px 10px; margin-right:10px; font-size:16px; font-weight:700; border-radius:5px; }
/* 空きのある青灰色の表 */
table.space_table { width:100%; }
table.space_table tr:not(:last-child), table.space_table tr:not(:last-child) th, table.space_table tr:not(:last-child) td { border-bottom:5px solid white; }
table.space_table th, table.space_table td { padding:10px 20px; vertical-align:middle; }
table.space_table th { background-color:#dbecfd; }
table.space_table td { background-color:#f8f8f8; }
table.merit th { width:290px; font-size:16px; background-color:#267edf; color:white; }
/* コスト削減事例 */
div.cost { border:1px solid #dadada; }
div.cost:not(:last-child) { margin-bottom:20px; }
dl.cost_title { display:flex; align-items:center; border-bottom:1px solid #eee; padding:10px 10px 10px 30px; background-color:#f8f8f8; }
dl.cost_title dt { display:block; flex-shrink:0; padding:5px 25px; margin-right:20px; font-size:16px; }
dl.cost_title dd { display:block; font-size:20px; line-height:1; }
dl.cost_title dd strong { margin-left:10px; margin-right:10px; font-weight:normal; }
div.cost_graph { padding:20px; }
div.cost_graph img { display:block; margin-left:auto; margin-right:auto; }
dl.cost_data { display:flex; align-items:center; border-top:1px solid #eee; padding:10px 10px 10px 30px; }
dl.cost_data dt { display:flex; align-items:center; margin-right:50px; }
dl.cost_data dt p.cost_data_title { background-color:#a3a3a3; color:white; padding:5px 15px; border-radius:5px; margin-right:20px; flex-shrink:0; }
dl.cost_data dt p.cost_data_corp { font-size:18px; }
dl.cost_data dd { display:block; }
dl.cost_data dd ul { list-style-type:disc; }
dl.cost_data dd ul li { margin-left:1.5em; }
span.cost_data_list_title { color:#267edf; font-weight:700; }
dl.cost_data dd ul li span.cost_data_list_title { display:inline-block; width:8em; margin-right:10px; }
/* 補償制度・お支払いページ */
div.common_omamori { text-align:center; }
div.common_omamori a { margin-top:1em; }
/* お申込みの流れ・注釈類 */
div.flow { display:flex; justify-content:space-between; flex-wrap:wrap; }
div.flow div { width:211px; }
div.flow div h4 { background-color:#267edf; color:white; text-align:center; padding:5px 0; font-size:16px; }
div.flow div img { display:block; width:100%; }
div.flow div p.flow_title { color:#267edf; font-size:18px; text-align:center; height:60px; margin-top:5px; line-height:1.3; }
/* 各画面最下部のコンタクト欄 */
div.common_contact { padding-top:25px; padding-bottom:25px; background-color:#f8f8f8; display:flex; justify-content:center; align-items:center; margin-top:50px; }
div.common_contact>img { display:block; margin-right:40px; }
div.common_contact_text p { text-align:center; }

/* === 文字装飾 === */
h2 img:first-child { margin-right:20px; vertical-align:middle; }
h2 img:last-child { margin-left:20px; vertical-align:middle; }
h2 span { font-size:32px; vertical-align:middle; }
span.nobr { white-space:nowrap; display:inline-block; }
th.nes:before, th.opt:before { color:white; padding:2px 5px; border-radius:5px; margin-right:10px; }
th.nes:before { content:"必須"; background-color:red; }
th.opt:before { content:"任意"; background-color:gray; }
.error { color:red; }
div.error { border:2px solid red; padding:10px; text-align:center; margin-bottom:10px; }
.error404 { margin-top:200px; margin-bottom:200px; font-size:24px; text-align:center; }
.error404 div.buttons { margin-top:50px; }
.underconst { text-align:center; color:red; margin-top:100px; font-size:32px; }

/*================================================
 *  ページ別定義
 ================================================*/
/* TOPページ */
div.top_main_visual { margin-bottom:15px; position:relative; }
div.top_main_visual img { display:block; }
p.top_main_visual_text1 { position:absolute; top:15%; left:0; right:0; text-align:center; color:#eb7e00; }
p.top_main_visual_text2 { position:absolute; top:68%; left:0; right:0; text-align:center; color:white; font-size:16px; }
p.top_main_visual_text3 { position:absolute; top:80%; left:0; right:0; text-align:center; color:white; font-size:30px; letter-spacing:0.3em; font-weight:700; }
div.top { margin-top:50px; }
div.top_menu_boxes { display:flex; justify-content:space-between; }
div.top_menu_box { flex:1; }
div.top_menu_box:first-child { margin-right:20px; }
div.top_menu_box h3 { margin-top:0; margin-bottom:15px; font-size:24px; line-height:24px; color:#267edf; border-bottom:4px solid #cad7e3; padding-bottom:8px; font-weight:700; text-align:left; }
div.top_menu_content { display:flex; justify-content:space-between; }
div.top_menu_content:not(:last-child) { margin-bottom:20px; }
div.top_menu_image { flex-shrink:0; }
div.top_menu_image img { display:block; }
div.top_menu_detail { flex-shrink:0; width:300px; position:relative; }
div.top_menu_detail p { font-size:20px; font-weight:700; }
div.top_menu_detail a { position:absolute; bottom:0; display:block; margin-top:20px; background-color:#267edf; width:100%; line-height:32px; color:white; text-align:center; font-size:15px; font-weight:700; letter-spacing:0.1em; border-radius:5px; }
div.top_menu_detail a:before { content:">"; display:block; position:absolute; top:8px; left:20px; background-color:white; color:#267edf; width:15px; height:15px; border-radius:50%; font-size:12px; line-height:15px; }
div.top_menu_detail a:hover { background-color:#ee7829; }
div.top_news ul li:not(:first-child) { padding-top:20px; }
div.top_news ul li:not(:last-child) { border-bottom:1px dotted #ccc; padding-bottom:20px; }
div.top_news ul li time { margin-right:20px; }
div.top_news ul li h4 { display:inline; color:#0197ed; }
p.top_news_content { margin-top:10px; }

/* 海外・国内Wi-Fiページ */
div.global_wifi_services { display:flex; justify-content:space-between; flex-wrap:wrap; }
div.global_wifi_services_half { width:480px; }
div.global_wifi_service { border:2px solid #267edf; padding:10px; }
div.global_wifi_service:not(:last-child) { margin-bottom:10px; }
span.global_wifi_service_type { margin-right:5px; }
div.global_wifi_service h4 { display:inline; font-size:20px; vertical-align:middle; }
div.global_wifi_service_text { margin-top:10px; margin-bottom:10px; }

/* 海外携帯ページ */
div.overseasmobile_price_type { display:flex; justify-content:space-between; align-items:flex-start; }
div.overseasmobile_price_type:not(:last-child) { margin-bottom:20px; }
div.overseasmobile_price_type h4 { font-size:16px; width:90px; flex-shrink:0; }
div.overseasmobile_price_box { display:flex; justify-content:space-between; align-items:center; }
div.overseasmobile_price_box:not(:last-child) { margin-bottom:10px; }
div.overseasmobile_price_box h5 { font-size:16px; text-align:right; flex-shrink:0; width:140px; }
div.overseasmobile_price_graph { background-color:white; padding:10px; margin-left:20px; flex-shrink:0; }
div.overseasmobile_price_graph img { display:block; width:650px; }
div.overseasmobile_tariff p { font-size:16px; margin-bottom:1em; }

/* 海外への通話料削減ページ */
div.direct div.service_lead_image_box { padding:20px 40px; }
div.direct table.merit th { width:270px; }
dl.direct_lines dt { display:inline-block; }
dl.direct_lines dd { display:inline-block; margin-top:5px; }
dl.direct_lines dd:not(:last-child) { margin-right:25px; }
ol.direct_usage { margin-left:1.5em; }
ol.direct_usage li { padding-left:0.25em; }
/* 中国専用線ページ */
div.leased div.service_lead_image_box { padding:20px 40px; }

/* 補償制度・お支払いページ */
table.omamori_price { margin:10px auto 0; border-spacing:0 10px; }
table.omamori_price th { padding:5px 15px; }
table.omamori_price td { padding:5px 0 5px 15px; }
div.omamori_detail { margin-top:10px; }
table.omamori_detail th { width:150px; }

/* 会社案内 */
div.company_services ul { display:flex; justify-content:space-between; }
div.company_services ul li { background-color:#267edf; color:white; padding:20px; border-radius:5px; text-align:center; }
table.company_data th { width:150px; }
div.company_access ul { margin-top:10px; }

/* お問い合わせ・お見積もりページ */
div.contact_guide { margin-top:20px; margin-bottom:10px; }
div.contact_guide div.common_contact_tel { margin-bottom:25px; }
div.contact_guide div.common_contact_tel img { height:36px; }
div.contact_guide div.common_contact_tel span, div.contact_guide div.common_contact_tel span a { font-size:36px; }
div.contact_guide section:not(:last-child) { margin-bottom:1.5em; }
div.contact_guide section p { margin-bottom:0.5em; line-height:1.4; }
a.button.contact_china_sim_mobile { width:310px; margin:auto 0; }
div.contact form { margin-top:50px; margin-bottom:100px; }
table.contact_form { margin-bottom:25px; }
table.contact_form th { width:200px; text-align:left; }
table.contact_form input, table.contact_form textarea { width:100%; background-color:white; color:#333; border:1px solid #aaa; padding:5px; }
table.contact_form input[name="name"] { width:30em; }
table.contact_form input[name="tel"] { width:15em; }
div.contact_privacy_lead p { margin-bottom:1em; }
dl.contact_privacy_detail dt { display:list-item; list-style-type:square; margin-left:1.5em; }
dl.contact_privacy_detail dd { margin-left:2em; }
dl.contact_privacy_detail dd:not(:last-child) { margin-bottom:0.5em; }
div.contact_finish { margin-top:25px; padding-top:50px; padding-bottom:50px; text-align:center; font-size:16px; }


/*■■■■■■■■■■■■■■■■■■■■■■■■■
 *  タブレット・iPhone横
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:980px) {

/* タグ */
img { max-width:100%; }
.inner { width:100%; }
h1 { font-size:12px; }
header, nav.inner, ul.breadcrumb, article, footer { padding-left:10px; padding-right:10px; }
input[type="text"], textarea { font-size:16px; }
/* ヘッダ */
header { margin-bottom:20px; }
nav.inner { width:100%; }
nav a:not(:last-child) { margin-right:7px; }
/* 各ページの最上部リード部 */
h2 span { font-size:24px; }
div.h2_under .h2_under_lead { font-size:20px; }
div.h2_under .h2_under_lead p.lead_small { font-size:16px; }
div.service_lead_image_box { width:50%; margin-right:10px; }
div.service_lead_point_box ul li p { font-size:16px; }
div.service_lead_point_box ul li p:first-child { margin-right:10px; }
/* 本文関連 */
.content_box { padding:25px 10px; }
/* 表関連 */
table.space_table th, table.space_table td { padding:10px; }
/* メリット関連 */
table.merit th { width:200px; }
/* ご利用の流れ関連 */
div.flow div { width:calc(211 / 914 * 100%); }
div.flow div p.flow_title { font-size:16px; height:50px; }
/* フッタ */
footer div.inner { display:inline-block; text-align:center; }
div.footer_sitemap { width:460px; margin-left:auto; margin-right:auto; }
div.footer_sitemap ul { justify-content:center; }
div.footer_sitemap ul li { display:block; margin-bottom:0.5em; }
div.footer_info { display:inline-block; padding-top:30px; }

/* トップページ */
p.top_main_visual_text1 { font-size:1.5vw; }
p.top_main_visual_text2 { font-size:1.7vw; }
p.top_main_visual_text3 { font-size:3vw; }
div.top_menu_image { flex-shrink:0; width:calc(165 / 480 * 100%); height:77%; }
div.top_menu_detail { width:calc(300 / 480 * 100%); }
div.top_menu_detail p { font-size:2vw; }
div.top_menu_detail a { background-size:calc(300 / 480 * 100%) calc(32 / 480 * 100%); }
div.top_menu_detail a { font-size:14px; }
div.top_menu_detail a:before { left:10px; width:14px; height:14px; line-height:14px; }

/* 海外・国内Wi-Fiページ */
div.global_wifi_services_half { width:100%; }
div.global_wifi_services_half:not(:last-child) { margin-bottom:10px; }
div.global_wifi_service_text { margin-bottom:5px; }
div.global_wifi_service_text p { display:inline; }
div.global_wifi_service a { margin-top:0; }

/* 海外携帯 */
div.overseasmobile_price_box h5 { margin-right:10px; }
div.overseasmobile_price_graph { flex-shrink:1; margin-left:10px; }

/* 海外への通話料削減ページ */
div.direct div.service_lead_image_box { padding:10px; }
div.direct table.merit th { width:250px; }
dl.direct_lines dt { display:block; float:left; width:130px; margin:0; }
dl.direct_lines dd { display:block; width:365px; margin-top:0; margin-left:140px; padding:5px 0 5px 0; }
dl.direct_lines dt:not(:last-of-type) { margin-bottom:10px; }
dl.direct_lines dd:not(:last-child) { margin-right:0; margin-bottom:10px; }
dl.cost_title { padding-left:10px; }
dl.cost_title dt { margin-right:10px; }
dl.cost_title dd { font-size:18px; }

/* 中国専用線ページ */
div.leased div.service_lead_image_box { padding:10px; }

/* 会社案内ページ */
div.company_services ul { display:block; }
div.company_services ul li { padding:10px; width:250px; margin-left:auto; margin-right:auto; }
div.company_services ul li:not(:last-child) { margin-bottom:10px; }
table.company_data th { width:120px; }

/* 補償制度・お支払いページ */
table.omamori_detail th { width:120px; }

}


/*■■■■■■■■■■■■■■■■■■■■■■■■■
 *  スマホ
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:666px) {

/* タグ */
h1 { padding-right:60px; }
h2 { padding:10px 0 15px; }
h2 img:first-child { margin-right:5px; width:24px; }
h2 img:last-child { margin-left:5px; width:24px; }
h2 span { font-size:20px; line-height:20px; }
h3 { font-size:20px; }
/* ヘッダ */
header { margin-bottom:10px; }
div.header_block { display:block; }
a.header_logo { margin-bottom:10px; }
a.header_logo img { margin-left:auto; margin-right:auto; }
/* お問い合わせ・お見積もり */
div.common_contact, div.common_contact_link { display:block; }
div.common_contact>img { margin-left:auto; margin-right:auto; margin-bottom:5px; width:50px; }
div.common_contact_tel span, div.common_contact_tel a { margin-right:0; }
div.common_contact_text { display:block; width:auto; }
div.common_contact_tel, div.common_contact_tel a { margin-right:0; }
div.common_contact_link a.common_contact_button { margin-left:auto; margin-right:auto; }
/* メニュー */
nav { display:none; }
nav a { padding:5px 0 10px; height:50px; }
nav a:not(:last-child) { margin-right:0; }
div.sp_menu_button { display:block; }
/* サービス概要 */
div.h2_under .h2_under_lead { font-size:18px; }
/* サービス概要 */
div.service_lead { display:block; }
div.service_lead_image_box { display:block; width:100%; margin-right:0; margin-bottom:10px; }
div.service_lead_image_box img { margin-left:auto; margin-right:auto; }
div.service_lead_point_box ul { display:inline-block; }
div.service_lead_point_box ul li p { display:inline; }
div.service_lead_point_box ul li p br { display:none; margin-right:10px; }
div.service_lead_point_box ul li p:not(:first-child) { text-align:left; }
/* コンテンツボックス */
.content_box { padding:10px; }
/* 色付き表 */
table.space_table, table.space_table tbody, table.space_table tr, table.space_table tr th, table.space_table tr td { display:block; width:auto; }
table.space_table th, table.space_table td { padding:5px; }
table.space_table tr:not(:last-child) { border-bottom:0; margin-bottom:10px; }
table.space_table tr:not(:last-child) th, table.space_table tr:not(:last-child) td { border-bottom:0; }
/* メリット */
table.merit, table.merit tbody, table.merit tbody tr, table.merit tbody tr th, table.merit tbody tr td { display:block; }
table.merit th { width:100%; }
/* コスト比較 */
dl.cost_title dt { padding:5px 10px; }
dl.cost_title dd { line-height:1.3; }
dl.cost_data { display:block; padding:10px; }
dl.cost_data dt { margin-right:0; margin-bottom:5px; }
dl.cost_data dt p.cost_data_title { padding:5px 10px; margin-right:10px; }
dl.cost_data dt p.cost_data_corp { font-size:14px; }
dl.cost_data dd { margin-left:20px; }
/* お申し込みの流れ */
div.flow div { width:48%; margin-bottom:20px; }
/* フッタ */
footer { padding-bottom:100px; font-size:14px; }
div.footer_sitemap { width:100%; }
div.footer_sitemap ul li { display:block; width:50%; line-height:40px; }
div.footer_sitemap ul li:not(:last-child)::after { content:""; margin-left:0; }
div.footer_info, div.footer_info_logo, div.footer_info_logo img { display:block; }
div.footer_info_logo img { margin-left:auto; margin-right:auto; }
div.footer_info_logo span { margin-left:0; }
/* 画面トップに戻る */
#go_to_top { right:10px; }
/* ボタン */
.buttons { display:block; }
.button:not(:last-child), input[type="submit"]:not(:last-child) { margin-bottom:10px; }
.button, input[type="submit"] { margin-left:auto; margin-right:auto; }

/* トップページ */
p.top_main_visual_text1 { top:5%; font-size:3.5vw; }
p.top_main_visual_text2 { top:65%; font-size:3.5vw; }
p.top_main_visual_text3 { font-size:4vw; }
div.top { margin-top:25px; }
div.top_menu_boxes { display:block; }
div.top_menu_box:first-child { margin-right:0; margin-bottom:20px; }
div.top_menu_image { width:35%; margin-right:10px; }
div.top_menu_detail { width:calc(65% - 10px); flex-shrink:1; }
div.top_menu_detail p { font-size:15px; }
div.top_menu_detail a { font-size:16px; }
div.top_news ul li time { display:block; }

/* 海外・国内Wi-Fiページ */
div.global_wifi_service h4 { display:block; font-size:18px; }

/* 海外携帯ページ */
div.overseasmobile_price_type { display:block; }
div.overseasmobile_price_type h4 { margin-bottom:10px; }
div.overseasmobile_price_box { display:block; }
div.overseasmobile_price_box h5 { width:auto; text-align:left; }
div.overseasmobile_price_graph { margin-left:0; }

/* 海外への通話料削減ページ */
div.direct table.merit th { width:100%; }
dl.direct_lines dt { float:none; margin-bottom:0; }
dl.direct_lines dd { width:auto; margin-left:0; padding:0 }
dl.direct_lines dt:not(:last-of-type) { margin-bottom:0; }
dl.direct_lines dd:not(:last-child) { }

/* 中国専用線ページ */

/* 補償制度・お支払いページ */
table.omamori_price th { padding:5px; }

/* 会社案内ページ */
table.company_data th { text-align:left; }

/* お問い合わせページ */
div.contact_guide div.common_contact_tel { margin-bottom:20px; }
div.contact_guide div.common_contact_tel img { height:24px; }
div.contact_guide div.common_contact_tel span, div.contact_guide div.common_contact_tel span a { font-size:24px; }
div.contact_guide section:not(:last-child) { margin-bottom:0.5em; }
div.contact form { margin-top:25px; margin-bottom:25px; }
table.contact_form input[name="name"] { width:100%; }
div.contact div.buttons { display:block; }
}
